• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua some of them(spells) crash server on start

Haaan

New Member
Joined
Oct 24, 2009
Messages
56
Reaction score
0
some of them(spells) crash server on start

in spells lib
Code:
-- Slash
AREA_SPECIAL_BEAM_CANON_CENTER = {
	{0},
	{1},
	{1},
	{0},
	{3}
}

AREA_SPECIAL_BEAM_CANON_END = {
	{1},
	{0},
	{0},
	{0},
	{3}
}

AREA_SPECIAL_BEAM_CANON_START = {
	{0},
	{0},
	{0},
	{1},
	{3}
}

in spells xml
Code:
<instant name="Scythe Slash" words="scythe slash" lvl="55" mana="280" prem="0" direction="1" exhaustion="2000" needlearn="0" event="script" value="hidan/scythe slash.lua">
		<vocation id="2"/>
		<vocation id="6"/>
	</instant>

spell code(i add effects in dat editor with sprites ofc)
Code:
local combat = createCombatObject() --CENTER EAST WEST
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 75)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area = createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER)
setCombatArea(combat, area)
 
local combat2 = createCombatObject() --CENTER NORTH SOUTH
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 76)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area2 = createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER)
setCombatArea(combat2, area2)
 
local combat3 = createCombatObject() --WEST END
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 74)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area3 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat3, area3)
 
local combat4 = createCombatObject() --EAST END
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 73)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area4 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat4, area4)
 
local combat5 = createCombatObject() --NORTH END
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 71)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area5 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat5, area5)
 
local combat6 = createCombatObject() --SOUTH END
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 72)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area6 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat6, area6)
 
local combat7 = createCombatObject() --NORTH START
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, 76)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area7 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat7, area7)
 
local combat8 = createCombatObject() --SOUTH START
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, 76)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area8 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat8, area8)
 
local combat9 = createCombatObject() --EAST START
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, 75)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area9 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat9, area9)
 
local combat10 = createCombatObject() --WEST START
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, 75)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area10 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat10, area10)
 
function onCastSpell(cid, var) --N 0,S 2,E 1,W 3
playerpos = getCreaturePosition(cid)
if getPlayerLookDir(cid) == 0 then --NORTH
local pos = {x = playerpos.x, y = playerpos.y - 1, z = playerpos.z}
doCombat(cid, combat7, var) --START
doCombat(cid, combat2, var) --CENTER
doCombat(cid, combat5, var) --END
else
end
if getPlayerLookDir(cid) == 2 then --SOUTH
local pos = {x = playerpos.x, y = playerpos.y + 1, z = playerpos.z}
doCombat(cid, combat8, var)  --START
doCombat(cid, combat2, var) --CENTER
doCombat(cid, combat6, var) --END
else
end
if getPlayerLookDir(cid) == 1 then --EAST
local pos = {x = playerpos.x + 1, y = playerpos.y, z = playerpos.z}
doCombat(cid, combat9, var)  --START
doCombat(cid, combat, var)  --CENTER
doCombat(cid, combat4, var) --END
else
end
if getPlayerLookDir(cid) == 3 then --WEST
local pos = {x = playerpos.x - 1, y = playerpos.y, z = playerpos.z}
doCombat(cid, combat10, var)  --START
doCombat(cid, combat, var)  --CENTER
doCombat(cid, combat3, var) --END
else
end
 
end


what wrong here
 
ok i fix this but ihave now to fix effect because i add this just to dat editor.

But now i add this to const.h(source file) and how to "compile this"? I open TheForgottenServer.dev with c++ program and click compile and what now to do? Help me please.

- - - Updated - - -

ok i fix this too

- - - Updated - - -

but...
heres the spell script
Code:
local combat = createCombatObject() --START NORTH SOUTH
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_SLASHNORTHSOUTH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat, area)
 
local combat2 = createCombatObject() --END NORTH
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_SLASHNORTH)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area2 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat2, area2)
 
local combat3 = createCombatObject() --END SOUTH
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_SLASHSOUTH)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area3 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat3, area3)
 
local combat4 = createCombatObject() --START EAST WEST
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_SLASHWESTEAST)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area4 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat4, area4)
 
local combat5 = createCombatObject() --EAST END
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, CONST_ME_SLASHEAST)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
 
local area5 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat5, area5)
 
local combat6 = createCombatObject() --WEST END
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, CONST_ME_SLASHWEST)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area6 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat6, area6)

function onCastSpell(cid, var) --N 0,S 2,E 1,W 3
playerpos = getCreaturePosition(cid)
if getPlayerLookDir(cid) == 0 then --NORTH
local pos = {x = playerpos.x, y = playerpos.y - 1, z = playerpos.z}
doCombat(cid, combat, var) --START
doCombat(cid, combat2, var) --END
else
end
if getPlayerLookDir(cid) == 2 then --SOUTH
local pos = {x = playerpos.x, y = playerpos.y + 1, z = playerpos.z}
doCombat(cid, combat, var)  --START
doCombat(cid, combat3, var) --END
else
end
if getPlayerLookDir(cid) == 1 then --EAST
local pos = {x = playerpos.x + 1, y = playerpos.y, z = playerpos.z}
doCombat(cid, combat4, var)  --START
doCombat(cid, combat5, var) --END
else
end
if getPlayerLookDir(cid) == 3 then --WEST
local pos = {x = playerpos.x - 1, y = playerpos.y, z = playerpos.z}
doCombat(cid, combat4, var)  --START
doCombat(cid, combat6, var) --END
else
end
 
end

and if i use this in game is like this

05659797212291368627.jpg



this scythe above character shouldnt be, why is there??(on img i spam this spell)
 
Last edited:
Back
Top