Bom dia a todos, eu criei uma spell para monstro que no momento que o spell é ativado, solta um efeito em área que não causa dano e 2 segundos depois, solta outro efeito e este efeito causa dano. Porém estou com um problema, se o monstro usa o spell (aparece o primeiro efeito) e o monstro anda, o segundo efeito sai em outro lugar. Gostaria de fazer o segundo efeito, sair no mesmo lugar do primeiro efeito independentemente do monstro andar ou não. (Imagens no final do tópico)
-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
if (isCreature(cid)) then
doCombat(cid, c, var)
if (dirList ~= nil) then -- Emit distance effects
local i = 2;
while (i < #dirList) do
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
i = i + 2
end
end
end
end
function onCastSpell(cid, var)
local startPos = getCreaturePosition(cid)
RunPart(combat0_Brush,cid,var)
addEvent(RunPart,2000,combat20_Brush_2,cid,var)
return true
end
Outro problema que estou tendo com a magia é o erro que aparece na distro:
Spoiler
Lua Script Error: [Spell Interface] data/spells/scripts/monster/dragon_breath.lua:onCastSpell LuaScriptInterface::luaAddEvent(). Argument #4 is unsafe stack traceback: [C]: in function 'addEvent' data/spells/scripts/monster/dragon_breath.lua:53: in function <data/spells/scripts/monster/dragon_breath.lua:50>
(Imagem 1) - Primeiro efeito sendo lançado imediatamente quando o monstro ataca
(Imagem 2) - O monstro andou e o segundo efeito saiu em outra posição.
Pergunta
Icaro Simoes 0
TFS 1.3
Bom dia a todos, eu criei uma spell para monstro que no momento que o spell é ativado, solta um efeito em área que não causa dano e 2 segundos depois, solta outro efeito e este efeito causa dano. Porém estou com um problema, se o monstro usa o spell (aparece o primeiro efeito) e o monstro anda, o segundo efeito sai em outro lugar. Gostaria de fazer o segundo efeito, sair no mesmo lugar do primeiro efeito independentemente do monstro andar ou não. (Imagens no final do tópico)
-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, 5)
setCombatArea(combat0_Brush,createCombatArea({{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, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1}}))
-- Areas/Combat for 2000ms
local combat20_Brush_2 = createCombatObject()
setCombatParam(combat20_Brush_2, COMBAT_PARAM_EFFECT, 26)
setCombatParam(combat20_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat20_Brush_2,createCombatArea({{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, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
return (50)*-1,(150)*-1
end
setCombatCallback(combat20_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
if (isCreature(cid)) then
doCombat(cid, c, var)
if (dirList ~= nil) then -- Emit distance effects
local i = 2;
while (i < #dirList) do
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
i = i + 2
end
end
end
end
function onCastSpell(cid, var)
local startPos = getCreaturePosition(cid)
RunPart(combat0_Brush,cid,var)
addEvent(RunPart,2000,combat20_Brush_2,cid,var)
return true
end
Outro problema que estou tendo com a magia é o erro que aparece na distro:
Lua Script Error: [Spell Interface]
data/spells/scripts/monster/dragon_breath.lua:onCastSpell
LuaScriptInterface::luaAddEvent(). Argument #4 is unsafe
stack traceback:
[C]: in function 'addEvent'
data/spells/scripts/monster/dragon_breath.lua:53: in function <data/spells/scripts/monster/dragon_breath.lua:50>
(Imagem 1) - Primeiro efeito sendo lançado imediatamente quando o monstro ataca
(Imagem 2) - O monstro andou e o segundo efeito saiu em outra posição.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados