Ir para conteúdo
  • 0

[Resolvido](luaDoCombat) Creature not found


diarmaint

Pergunta

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 por diarmaint
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

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 por diarmaint
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...