Pode acontecer quando o monstro morre com a spell em execução, pois tem um addEvent, se o monstro morre na hora que ele está dando a spell o addEvent continua e dá erro ao tentar localizar o monstro morto.
Por diarmaint, 03 de ago. de 2016 em Scripts
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: Masculino

Pode acontecer quando o monstro morre com a spell em execução, pois tem um addEvent, se o monstro morre na hora que ele está dando a spell o addEvent continua e dá erro ao tentar localizar o monstro morto.
info
Grupo: Visconde
Registrado: 09/08/10
Posts: 314
Reputação: +19
Char no Tibia: não tenho

Tem como fazer algo pra ignorar o erro, ele prejudica em algo? então isso é normal ?
RESOLVIDO, adicionei
if isPlayer(cid) == TRUE then
antes do ultimo
return true
end
Ficando
if isPlayer(cid) == TRUE thenreturn trueendend
Editado Agosto 12 por diarmaint
info
Grupo: Visconde
Registrado: 09/08/10
Posts: 314
Reputação: +19
Char no Tibia: não tenho
Estou com esse problema em algumas spells, quando os monstros usam da esse erro, como resolver?
[Error - Spell Interface]
In a timer event called from:
data/spells/scripts/monsters/inne/kunaie.lua:onCastSpell
Description:
(luaDoCombat) Creature not found
kunaie.lua
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, 30)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 155)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -8.0, 0, -8.1, 0)
local arr1 = {
{0, 0, 0, 0, 0},
{1, 0, 1, 0, 0},
{0, 1, 0, 0, 0},
{1, 0, 1, 2, 0},
{0, 1, 0, 0, 0},
{1, 0, 1, 0, 0},
}
local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)
local combat10 = createCombatObject()
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_HITCOLOR, 30)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, 131)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -8.0, 0, -8.1, 0)
local arr10 = {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
}
local area10 = createCombatArea(arr10)
setCombatArea(combat10, area10)
local combat100 = createCombatObject()
setCombatParam(combat100, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat100, COMBAT_PARAM_EFFECT, 15)
setCombatParam(combat100, COMBAT_PARAM_HITCOLOR, 30)
setCombatFormula(combat100, COMBAT_FORMULA_LEVELMAGIC, -0.0, 0, -0.0, 0)
local arr100 = {
{0, 0, 0, 0, 0},
{1, 0, 1, 0, 0},
{0, 1, 0, 0, 0},
{1, 0, 1, 2, 0},
{0, 1, 0, 0, 0},
{1, 0, 1, 0, 0},
}
local area100 = createCombatArea(arr100)
setCombatArea(combat100, area100)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_HITCOLOR, 30)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 155)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -8.0, 0, -8.1, 0)
local arr2 = {
{0, 0, 0, 0, 0},
{0, 1, 0, 1, 0},
{0, 0, 1, 0, 0},
{2, 1, 0, 1, 0},
{0, 0, 1, 0, 0},
{0, 1, 0, 1, 0},
}
local area2 = createCombatArea(arr2)
setCombatArea(combat2, area2)
local combat20 = createCombatObject()
setCombatParam(combat20, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat20, COMBAT_PARAM_HITCOLOR, 30)
setCombatParam(combat20, COMBAT_PARAM_EFFECT, 131)
setCombatFormula(combat20, COMBAT_FORMULA_LEVELMAGIC, -8.0, 0, -8.1, 0)
local arr20 = {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
}
local area20 = createCombatArea(arr20)
setCombatArea(combat20, area20)
local combat200 = createCombatObject()
setCombatParam(combat200, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat200, COMBAT_PARAM_EFFECT, 15)
setCombatParam(combat200, COMBAT_PARAM_HITCOLOR, 30)
setCombatFormula(combat200, COMBAT_FORMULA_LEVELMAGIC, -0.0, 0, -0.0, 0)
local arr200 = {
{0, 0, 0, 0, 0},
{0, 1, 0, 1, 0},
{0, 0, 1, 0, 0},
{2, 1, 0, 1, 0},
{0, 0, 1, 0, 0},
{0, 1, 0, 1, 0},
}
local area200 = createCombatArea(arr200)
setCombatArea(combat200, area200)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_HITCOLOR, 30)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 155)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -8.0, 0, -8.1, 0)
local arr3 = {
{0, 0, 2, 0, 0},
{1, 0, 1, 0, 1},
{0, 1, 0, 1, 0},
{1, 0, 1, 0, 1},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
}
local area3 = createCombatArea(arr3)
setCombatArea(combat3, area3)
local combat30 = createCombatObject()
setCombatParam(combat30, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat30, COMBAT_PARAM_HITCOLOR, 30)
setCombatParam(combat30, COMBAT_PARAM_EFFECT, 131)
setCombatFormula(combat30, COMBAT_FORMULA_LEVELMAGIC, -8.0, 0, -8.1, 0)
local arr30 = {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
}
local area30 = createCombatArea(arr30)
setCombatArea(combat30, area30)
local combat300 = createCombatObject()
setCombatParam(combat300, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat300, COMBAT_PARAM_EFFECT, 15)
setCombatParam(combat300, COMBAT_PARAM_HITCOLOR, 30)
setCombatFormula(combat300, COMBAT_FORMULA_LEVELMAGIC, -0.0, 0, -0.0, 0)
local arr300 = {
{0, 0, 2, 0, 0},
{1, 0, 1, 0, 1},
{0, 1, 0, 1, 0},
{1, 0, 1, 0, 1},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
}
local area300 = createCombatArea(arr300)
setCombatArea(combat300, area300)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_HITCOLOR, 30)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 155)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -8.0, 0, -8.1, 0)
local arr4 = {
{0, 0, 0, 0, 0},
{1, 0, 1, 0, 1},
{0, 1, 0, 1, 0},
{1, 0, 1, 0, 1},
{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
}
local area4 = createCombatArea(arr4)
setCombatArea(combat4, area4)
local combat40 = createCombatObject()
setCombatParam(combat40, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat40, COMBAT_PARAM_HITCOLOR, 30)
setCombatParam(combat40, COMBAT_PARAM_EFFECT, 131)
setCombatFormula(combat40, COMBAT_FORMULA_LEVELMAGIC, -8.0, 0, -8.1, 0)
local arr40 = {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
}
local area40 = createCombatArea(arr40)
setCombatArea(combat40, area40)
local combat400 = createCombatObject()
setCombatParam(combat400, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat400, COMBAT_PARAM_EFFECT, 15)
setCombatFormula(combat400, COMBAT_FORMULA_LEVELMAGIC, -0.0, 0, -0.0, 0)
local arr400 = {
{0, 0, 0, 0, 0},
{1, 0, 1, 0, 1},
{0, 1, 0, 1, 0},
{1, 0, 1, 0, 1},
{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
}
local area400 = createCombatArea(arr400)
setCombatArea(combat400, area400)
function haku10(cid)
doCombat(cid, combat10, numberToVariant(cid))
end
function haku100(cid)
doCombat(cid, combat100, numberToVariant(cid))
end
function haku20(cid)
doCombat(cid, combat20, numberToVariant(cid))
end
function haku200(cid)
doCombat(cid, combat200, numberToVariant(cid))
end
function haku30(cid)
doCombat(cid, combat30, numberToVariant(cid))
end
function haku300(cid)
doCombat(cid, combat300, numberToVariant(cid))
end
function haku40(cid)
doCombat(cid, combat40, numberToVariant(cid))
end
function haku400(cid)
doCombat(cid, combat400, numberToVariant(cid))
end
function hagku(cid)
if getPlayerLookDir(cid) == 1 then
doCombat(cid, combat1, numberToVariant(cid))
addEvent(haku10,400,cid)
addEvent(haku100,1200,cid)
doPlayerSay(cid, '', TALKTYPE_ORANGE_1)
elseif getPlayerLookDir(cid) == 2 then
doCombat(cid, combat4, numberToVariant(cid))
addEvent(haku40,400,cid)
addEvent(haku400,1200,cid)
doPlayerSay(cid, '', TALKTYPE_ORANGE_1)
elseif getPlayerLookDir(cid) == 3 then
doCombat(cid, combat2, numberToVariant(cid))
addEvent(haku20,400,cid)
addEvent(haku200,1200,cid)
doPlayerSay(cid, '', TALKTYPE_ORANGE_1)
elseif getPlayerLookDir(cid) == 0 then
doCombat(cid, combat3, numberToVariant(cid))
addEvent(haku30,400,cid)
addEvent(haku300,1200,cid)
doPlayerSay(cid, '', TALKTYPE_ORANGE_1)
end
end
function onCastSpell(cid, var)
addEvent(hagku,0,cid)
return true
end
Editado Agosto 13 por diarmaint