Link Posted April 23, 2013 Author Share Posted April 23, 2013 Yes, it's still going on, you can pm me your submission, post it here or in the Tutorials>Source section, if you post it there just post the link here It. Link to comment Share on other sites More sharing options...
Lavos Posted April 23, 2013 Share Posted April 23, 2013 ~sigh i wish i could join…Its bad enough that i have a engine built from scratch to be worked + college. Link to comment Share on other sites More sharing options...
Link Posted April 23, 2013 Author Share Posted April 23, 2013 It's not too late. Link to comment Share on other sites More sharing options...
hisherwin Posted April 23, 2013 Share Posted April 23, 2013 can i still join? Link to comment Share on other sites More sharing options...
Link Posted April 23, 2013 Author Share Posted April 23, 2013 > It's not too late.>.> Link to comment Share on other sites More sharing options...
hisherwin Posted May 2, 2013 Share Posted May 2, 2013 when should this start? ![:D](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/biggrin.png) Link to comment Share on other sites More sharing options...
abhi2011 Posted May 2, 2013 Share Posted May 2, 2013 May I judge this? Got nothing better to do ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/tongue.png) Link to comment Share on other sites More sharing options...
hisherwin Posted May 2, 2013 Share Posted May 2, 2013 Why are you on Contestant List DeathTheKid? ![:D](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/biggrin.png) you may cheat LOLEdit: 3k Real cash? ![:D](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/biggrin.png) Link to comment Share on other sites More sharing options...
hisherwin Posted May 2, 2013 Share Posted May 2, 2013 Here is my tutorial , A basic linear system created by meworks 90% , i still haven't test it on Playersclient reccreate a checkbox on spell editor and name it chkLinearfind this on ItemEditorInit```If .IsAoE ThenfrmEditor_Spell.chkAOE.Value = 1frmEditor_Spell.scrlAOE.Value = .AoEElsefrmEditor_Spell.chkAOE.Value = 0End If```replace it with```If .IsAoE ThenfrmEditor_Spell.chkAOE.Value = 1frmEditor_Spell.chkLinear.Value = 0frmEditor_Spell.scrlAOE.Value = .AoEElseIf .Linear ThenfrmEditor_Spell.chkAOE.Value = 0frmEditor_Spell.chkLinear.Value = 1ElsefrmEditor_Spell.chkLinear.Value = 0frmEditor_Spell.chkAOE.Value = 0End If```replace chkAoE value with this```If chkAOE.Value = 0 ThenSpell(EditorIndex).IsAoE = FalseElsechkLinear.Value = 0Spell(EditorIndex).Linear = FalseSpell(EditorIndex).IsAoE = TrueEnd If```double click chkLinear and add this```If chkLinear.Value = 0 ThenSpell(EditorIndex).Linear = FalseElsechkAOE.Value = 0Spell(EditorIndex).Linear = TrueSpell(EditorIndex).IsAoE = FalsefraAoe.Visible = FalseEnd If```on both server and client add this on itemrec```Linear As Boolean```server sidefind this```' find out what kind of spell it is! self cast, target or AOEIf Spell(spellnum).Range > 0 Then' ranged attack, single target or aoe?If Not Spell(spellnum).IsAoE ThenSpellCastType = 2 ' targettedElseSpellCastType = 3 ' targetted aoeEnd IfElseIf Not Spell(spellnum).IsAoE ThenSpellCastType = 0 ' self-castElseSpellCastType = 1 ' self-cast AoEEnd IfEnd If```replace it with```' find out what kind of spell it is! self cast, target or AOEIf Spell(spellnum).Range > 0 ThenIf Spell(spellnum).Linear ThenSpellCastType = 4Else' ranged attack, single target or aoe?If Not Spell(spellnum).IsAoE ThenSpellCastType = 2 ' targettedElseSpellCastType = 3 ' targetted aoeEnd IfEnd IfElseIf Not Spell(spellnum).IsAoE ThenSpellCastType = 0 ' self-castElseSpellCastType = 1 ' self-cast AoEEnd IfEnd If```after this```Case 2, 3 ' targeted & targeted AOE' check if have targetIf Not target > 0 ThenPlayerMsg Index, "You do not have a target.", WhiteEnd IfIf targetType = TARGET_TYPE_PLAYER Then' if have target, check in rangeIf Not isInRange(Range, GetPlayerX(Index), GetPlayerY(Index), GetPlayerX(target), GetPlayerY(target)) ThenPlayerMsg Index, "Target not in range.", WhiteElse' go through spell typesIf Spell(spellnum).Type <> SPELL_TYPE_DAMAGEHP And Spell(spellnum).Type <> SPELL_TYPE_DAMAGEMP ThenHasBuffered = TrueElseIf CanPlayerAttackPlayer(Index, target, True) ThenHasBuffered = TrueEnd IfEnd IfEnd IfElseIf targetType = TARGET_TYPE_NPC Then' if have target, check in rangeIf Not isInRange(Range, GetPlayerX(Index), GetPlayerY(Index), MapNpc(mapNum).Npc(target).x, MapNpc(mapNum).Npc(target).y) ThenPlayerMsg Index, "Target not in range.", WhiteHasBuffered = FalseElse' go through spell typesIf Spell(spellnum).Type <> SPELL_TYPE_DAMAGEHP And Spell(spellnum).Type <> SPELL_TYPE_DAMAGEMP ThenHasBuffered = TrueElseIf CanPlayerAttackNpc(Index, target, True) ThenHasBuffered = TrueEnd IfEnd IfEnd IfEnd If```add this```Case 4 ' linearHasBuffered = True```at public castspell add this Dim```Dim LinearRange As LongDim LinearX As LongDim LinearY As Long```find this at public cast spell```' find out what kind of spell it is! self cast, target or AOEIf Spell(spellnum).Range > 0 Then' ranged attack, single target or aoe?If Not Spell(spellnum).IsAoE ThenSpellCastType = 2 ' targettedElseSpellCastType = 3 ' targetted aoeEnd IfElseIf Not Spell(spellnum).IsAoE ThenSpellCastType = 0 ' self-castElseSpellCastType = 1 ' self-cast AoEEnd IfEnd If```replace it with```' find out what kind of spell it is! self cast, target or AOEIf Spell(spellnum).Range > 0 ThenIf Spell(spellnum).Linear ThenSpellCastType = 4 ' linearElse' ranged attack, single target or aoe?If Not Spell(spellnum).IsAoE ThenSpellCastType = 2 ' targettedElseSpellCastType = 3 ' targetted aoeEnd IfEnd IfElseIf Not Spell(spellnum).IsAoE ThenSpellCastType = 0 ' self-castElseSpellCastType = 1 ' self-cast AoEEnd IfEnd If```find```Case 2 ' targettedIf targetType = 0 Then Exit SubIf target = 0 Then Exit SubIf targetType = TARGET_TYPE_PLAYER Thenx = GetPlayerX(target)y = GetPlayerY(target)Elsex = MapNpc(mapNum).Npc(target).xy = MapNpc(mapNum).Npc(target).yEnd IfIf Not isInRange(Range, GetPlayerX(Index), GetPlayerY(Index), x, y) ThenPlayerMsg Index, "Target not in range.", WhiteSendClearSpellBuffer IndexExit SubEnd IfSelect Case Spell(spellnum).TypeCase SPELL_TYPE_DAMAGEHPIf targetType = TARGET_TYPE_PLAYER ThenIf CanPlayerAttackPlayer(Index, target, True) ThenIf Vital > 0 ThenSendAnimation mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, targetPlayerAttackPlayer Index, target, Vital, spellnumDidCast = TrueEnd IfEnd IfElseIf CanPlayerAttackNpc(Index, target, True) ThenIf Vital > 0 ThenSendAnimation mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_NPC, targetPlayerAttackNpc Index, target, Vital, spellnumDidCast = TrueEnd IfEnd IfEnd IfCase SPELL_TYPE_DAMAGEMP, SPELL_TYPE_HEALMP, SPELL_TYPE_HEALHPIf Spell(spellnum).Type = SPELL_TYPE_DAMAGEMP ThenVitalType = Vitals.mpincrement = FalseDidCast = True ' <--- Fixed!ElseIf Spell(spellnum).Type = SPELL_TYPE_HEALMP ThenVitalType = Vitals.mpincrement = TrueDidCast = True ' <--- Fixed!ElseIf Spell(spellnum).Type = SPELL_TYPE_HEALHP ThenVitalType = Vitals.HPincrement = TrueDidCast = True ' <--- Fixed!End IfIf targetType = TARGET_TYPE_PLAYER ThenIf Spell(spellnum).Type = SPELL_TYPE_DAMAGEMP ThenIf CanPlayerAttackPlayer(Index, target, True) ThenSpellPlayer_Effect VitalType, increment, target, Vital, spellnumEnd IfElseSpellPlayer_Effect VitalType, increment, target, Vital, spellnumEnd IfElseIf Spell(spellnum).Type = SPELL_TYPE_DAMAGEMP ThenIf CanPlayerAttackNpc(Index, target, True) ThenSpellNpc_Effect VitalType, increment, target, Vital, spellnum, mapNumEnd IfElseSpellNpc_Effect VitalType, increment, target, Vital, spellnum, mapNumEnd IfEnd IfEnd Select```add this below it```Case 4 ' linearFor LinearRange = 1 To Spell(spellnum).RangeIf GetPlayerDir(Index) = DIR_DOWN Thenx = GetPlayerX(Index)y = GetPlayerY(Index) + LinearRangeElseIf GetPlayerDir(Index) = DIR_UP Thenx = GetPlayerX(Index)y = GetPlayerY(Index) - LinearRangeElseIf GetPlayerDir(Index) = DIR_LEFT Thenx = GetPlayerX(Index) - LinearRangey = GetPlayerY(Index)ElseIf GetPlayerDir(Index) = DIR_RIGHT Thenx = GetPlayerX(Index) + LinearRangey = GetPlayerY(Index)End IfSelect Case Spell(spellnum).TypeCase SPELL_TYPE_DAMAGEHPDidCast = TrueFor LinearX = 1 To Spell(spellnum).RangeFor LinearY = 1 To Spell(spellnum).RangeIf GetPlayerDir(Index) = DIR_UP ThenSendAnimation mapNum, Spell(spellnum).SpellAnim, GetPlayerX(Index), GetPlayerY(Index) - LinearYElseIf GetPlayerDir(Index) = DIR_DOWN ThenSendAnimation mapNum, Spell(spellnum).SpellAnim, GetPlayerX(Index), GetPlayerY(Index) + LinearYElseIf GetPlayerDir(Index) = DIR_LEFT ThenSendAnimation mapNum, Spell(spellnum).SpellAnim, GetPlayerX(Index) - LinearX, GetPlayerY(Index)ElseIf GetPlayerDir(Index) = DIR_RIGHT ThenSendAnimation mapNum, Spell(spellnum).SpellAnim, GetPlayerX(Index) + LinearX, GetPlayerY(Index)End IfNextNextFor i = 1 To Player_HighIndexIf IsPlaying(i) ThenIf i <> Index ThenIf GetPlayerMap(i) = GetPlayerMap(Index) ThenIf GetPlayerX(i) = x And GetPlayerY(i) = y ThenIf CanPlayerAttackPlayer(Index, i, True) ThenPlayerAttackPlayer Index, i, Vital, spellnumEnd IfEnd IfEnd IfEnd IfEnd IfNextFor i = 1 To MAX_MAP_NPCSIf MapNpc(mapNum).Npc(i).Num > 0 ThenIf MapNpc(mapNum).Npc(i).Vital(HP) > 0 ThenIf MapNpc(mapNum).Npc(i).x = x And MapNpc(mapNum).Npc(i).y = y ThenIf CanPlayerAttackNpc(Index, i, True) ThenPlayerAttackNpc Index, i, Vital, spellnumEnd IfEnd IfEnd IfEnd IfNextCase SPELL_TYPE_HEALHP, SPELL_TYPE_HEALMP, SPELL_TYPE_DAMAGEMPIf Spell(spellnum).Type = SPELL_TYPE_HEALHP ThenVitalType = Vitals.HPincrement = TrueElseIf Spell(spellnum).Type = SPELL_TYPE_HEALMP ThenVitalType = Vitals.mpincrement = TrueElseIf Spell(spellnum).Type = SPELL_TYPE_DAMAGEMP ThenVitalType = Vitals.mpincrement = FalseEnd IfFor LinearX = 1 To Spell(spellnum).RangeFor LinearY = 1 To Spell(spellnum).RangeIf GetPlayerDir(Index) = DIR_UP ThenSendAnimation mapNum, Spell(spellnum).SpellAnim, GetPlayerX(Index), GetPlayerY(Index) - LinearYElseIf GetPlayerDir(Index) = DIR_DOWN ThenSendAnimation mapNum, Spell(spellnum).SpellAnim, GetPlayerX(Index), GetPlayerY(Index) + LinearYElseIf GetPlayerDir(Index) = DIR_LEFT ThenSendAnimation mapNum, Spell(spellnum).SpellAnim, GetPlayerX(Index) - LinearX, GetPlayerY(Index)ElseIf GetPlayerDir(Index) = DIR_RIGHT ThenSendAnimation mapNum, Spell(spellnum).SpellAnim, GetPlayerX(Index) + LinearX, GetPlayerY(Index)End IfNextNextDidCast = TrueFor i = 1 To Player_HighIndexIf IsPlaying(i) ThenIf i <> Index ThenIf GetPlayerMap(i) = GetPlayerMap(Index) ThenIf GetPlayerX(i) = x And GetPlayerY(i) = y ThenSpellPlayer_Effect VitalType, increment, i, Vital, spellnumEnd IfEnd IfEnd IfEnd IfNextFor i = 1 To MAX_MAP_NPCSIf MapNpc(mapNum).Npc(i).Num > 0 ThenIf MapNpc(mapNum).Npc(i).Vital(HP) > 0 ThenIf MapNpc(mapNum).Npc(i).x = x And MapNpc(mapNum).Npc(i).y = y ThenSpellNpc_Effect VitalType, increment, i, Vital, spellnum, mapNumEnd IfEnd IfEnd IfNextEnd SelectNext```![:P](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/tongue.png) it's a basic codeidk if i miss something Link to comment Share on other sites More sharing options...
Link Posted May 4, 2013 Author Share Posted May 4, 2013 Date of the contest has been extended to the 15th. Sherwin try to explain what it does. Link to comment Share on other sites More sharing options...
hisherwin Posted May 9, 2013 Share Posted May 9, 2013 Read… Don't use "tl:dr" Link to comment Share on other sites More sharing options...
Wing Posted May 9, 2013 Share Posted May 9, 2013 > Read… Don't use "tl:dr"The point of explaining it is so people who don't understand what the concept of this is can get the gist of it. I'm sure DeathTheKid knows what it is, but what about the people reviewing your work? Link to comment Share on other sites More sharing options...
abhi2011 Posted May 9, 2013 Share Posted May 9, 2013 So who are the judges? Link to comment Share on other sites More sharing options...
hisherwin Posted May 9, 2013 Share Posted May 9, 2013 > The point of explaining it is so people who don't understand what the concept of this is can get the gist of it. I'm sure DeathTheKid knows what it is, but what about the people reviewing your work?A Linear Spell that doesn't need to create any new subs or function to work.. And it has a Animation on each tile on the range of linear spell..You can create linear spell by checking the chkLinear and adding Range.That's what you two wants? Link to comment Share on other sites More sharing options...
abhi2011 Posted May 19, 2013 Share Posted May 19, 2013 Who won? Link to comment Share on other sites More sharing options...
Link Posted May 25, 2013 Author Share Posted May 25, 2013 The contest has been officially postponed. I've had internet connection issues atm so until it's sorted out this contest is postponed.Regards,Link Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now