Postado Agosto 14, 2020 4 anos .Qual servidor ou website você utiliza como base? 8.60 tfs 0.4 Qual o motivo deste tópico? Erro ao matar monstro Está surgindo algum erro? Se sim coloque-o aqui. Citar [Error - Spell Interface] In a timer event called from: data/spells/scripts/1.lua:onCastSpell Description: data/spells/scripts/1.lua:19: attempt to index a boolean value stack traceback: data/spells/scripts/1.lua:19: in function <data/spells/scripts/1.lua:17> O erro ocorro ao usar um poder com vários hits e o target morre sem receber todos eles. Você tem o código disponível? Se tiver publique-o aqui: Spoiler local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_PURPLE) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 39) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.0, -150, -1.0, -200) arr1 = { {3} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(cid, var) local pos = getCreaturePosition(cid) local position1 = {x=getThingPosition(getCreatureTarget(cid)).x, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z} doSendMagicEffect(position1, 501) return doCombat(cid, combat1, var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, cid, var) addEvent(onCastSpell1, 300, cid, var) addEvent(onCastSpell1, 500, cid, var) return TRUE end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
Postado Agosto 14, 2020 4 anos Spoiler local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_PURPLE) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 39) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.0, -150, -1.0, -200) arr1 = { {3} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(cid, var) local pos = getCreaturePosition(cid) local position1 = {x=getThingPosition(getCreatureTarget(cid)).x, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z} if isCreature(cid) then doSendMagicEffect(position1, 501) return doCombat(cid, combat1, var) end end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, cid, var) addEvent(onCastSpell1, 300, cid, var) addEvent(onCastSpell1, 500, cid, var) return TRUE end tenta ae, mas acho que tem como melhorar esse script Editado Agosto 14, 2020 4 anos por BangxD (veja o histórico de edições)
Postado Agosto 15, 2020 4 anos Solução mano isso e pq ta usando addevent. Tenta --> local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, 162) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.0, -14500, -1.0, -16500) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end function Daichiwari(cid) if isCreature(cid) and isCreature(getCreatureTarget(cid)) then local position = {x=getThingPosition(getCreatureTarget(cid)).x, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z} doSendMagicEffect(position, 52) end end function onCastSpell(cid, var) local waittime = 1.0 -- Tempo de exhaustion local storage = 2 -- não mecha if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Usted esta cansado.") doSendMagicEffect(getCreaturePosition(cid), 2) return false end local parameters = {cid = cid, var = var, combat1 = combat1} for i = 1, 3 do addEvent(function() if isCreature(cid) then addEvent(onCastSpell1, 300, parameters) addEvent(Daichiwari,100,cid) end end, 1 + ((i-1) * 300)) end exhaustion.set(cid, storage, waittime) return true end
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.