barackhenrique
New Member
- Joined
- Mar 20, 2014
- Messages
- 6
- Reaction score
- 0
Well I compiled my OTServer of tfs 0.4 thinking it was going to Otx becomes less freezes is got some more scripts are giving error could help me?
Error:
Script:
Error:
[Error - Spell Interface]
In a callback: data/spells/scripts/attack/Glacial Winter.luanTargetTile
(Unknown script file)
Description:
data/lib/050-function.lua:10: bad argument #1 to 'ipairs' (table expected, got nil)
stack traceback:
[C]: in function 'ipairs'
data/lib/050-function.lua:10: in function 'isInArray'
data/spells/scripts/attack/Glacial Winter.lua:60: in function <data/spells/scripts/attack/Glacial Winter.lua:57>
[C]: in function 'doCombat'
data/spells/scripts/attack/Glacial Winter.lua:90: in function <data/spells/scripts/attack/Glacial Winter.lua:89>
[Error - Spell Interface]
In a callback: data/spells/scripts/attack/Glacial Winter.luanTargetTile
(Unknown script file)
Description:
data/lib/050-function.lua:10: bad argument #1 to 'ipairs' (table expected, got nil)
stack traceback:
[C]: in function 'ipairs'
data/lib/050-function.lua:10: in function 'isInArray'
data/spells/scripts/attack/Glacial Winter.lua:60: in function <data/spells/scripts/attack/Glacial Winter.lua:57>
[C]: in function 'doCombat'
data/spells/scripts/attack/Glacial Winter.lua:90: in function <data/spells/scripts/attack/Glacial Winter.lua:89>
Script:
local combat = createCombatObject()
local combat2 = createCombatObject()
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 43)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -8.80, -200, -8.60, -200)
local stun = createConditionObject(CONDITION_PARALYZE)
setConditionParam(stun, CONDITION_PARAM_TICKS, 3000)
setConditionFormula(stun, -0.9, 1, -0.9, 1)
setCombatCondition(combat1, stun)
local stun = createConditionObject(CONDITION_PARALYZE)
setConditionParam(stun, CONDITION_PARAM_TICKS, 3000)
setConditionFormula(stun, -0.9, 1, -0.9, 1)
setCombatCondition(combat2, stun)
local meteor_water = createCombatObject()
setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatFormula(meteor_water, COMBAT_FORMULA_LEVELMAGIC, -10.50, -300, -10.66, -300)
arr = {
{0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 2, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0}
}
local combat_area = createCombatArea(arr)
setCombatArea(combat, combat_area)
local function meteorCast(p)
doCombat(p.cid, p.combat, positionToVariant(p.pos))
end
local function stunEffect(cid)
doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)
end
function onTargetTile(cid, pos)
if (math.random(0, 0) == 0) then
local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 1})
if (isInArray(water, ground.itemid) == TRUE) then
local newpos = {x = pos.x - 9, y = pos.y - 8, z = pos.z}
addEvent(meteorCast, 100, {cid = cid, pos = pos, combat = meteor_water})
else
local newpos = {x = pos.x - 9, y = pos.y - 8, z = pos.z}
addEvent(meteorCast, 100, {cid = cid,pos = pos, combat = combat2})
end
end
end
function onTargetTile2(cid, pos)
if (math.random(0, 9) == 9) then
local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 1})
if (isInArray(water, ground.itemid) == TRUE) then
local newpos = {x = pos.x - 9, y = pos.y - 8, z = pos.z}
doSendDistanceShoot(newpos, pos, 28)
addEvent(meteorCast, 100, {cid = cid, pos = pos, combat = meteor_water})
else
local newpos = {x = pos.x + 9, y = pos.y - 8, z = pos.z}
doSendDistanceShoot(newpos, pos, 28)
addEvent(meteorCast, 100, {cid = cid,pos = pos, combat = combat1})
end
end
end
setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
setCombatCallback(combat2, CALLBACK_PARAM_TARGETTILE, "onTargetTile2")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end