Jump to content

Question

Bom galera eu to fazendo uma spell porem eu queria que quando o player falasse ela soltaria um efeito e depois desse efeito um delay de 3 segundos ai soltaria a spell, eu até consegui fazer os efeitos e a spell em si porem o efeito esta saindo junto com a spell não consegui adicionar o delay se alguem puder me dizer oque falta, eu agradeço.

Spell

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 36)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC,  5, 5, 7, 14)
local area = createCombatArea(AREA_BEAM7, AREADIAGONAL_BEAM7)
setCombatArea(combat, area)
function onCastSpell(cid, var)
doSendMagicEffect(getPlayerPosition(cid),5)
doSendAnimatedText(getPlayerPosition(cid), '500', 3)
return doCombat(cid, combat, var)
end

Essa é a spell em si porem eu não sei adicionar o delay me falaram para usar

addEvent(onCastSpell, 600, parameters)

porem quando eu uso não muda em nada e da esse erro:

 

[Error - Spell Interface]

data/spells/scripts/firehur.lua

Description:

(luaAddEvent) Callback parameter should be a function.

 

Vlw..

Link to comment
https://xtibia.com/forum/topic/188272-spell-com-delay/
Share on other sites

9 answers to this question

Recommended Posts

  • 1

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 36)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC,  5, 5, 7, 14)
local area = createCombatArea(AREA_BEAM7, AREADIAGONAL_BEAM7)

setCombatArea(combat, area)
function onCastSpell(cid, var)
doSendMagicEffect(getPlayerPosition(cid),5)
doSendAnimatedText(getPlayerPosition(cid), '500', 3)
addEvent(doCombat,6000,cid, combat, var)
return true
end

 

@Leoxtibia

n fique postando coisas sem testar,se n possui conhecimentos em lua.

isso que se fez no script ta completamante errado

Link to comment
https://xtibia.com/forum/topic/188272-spell-com-delay/#findComment-1280948
Share on other sites

  • 0

Não tenho muita certeza, mas acho que o Addevent pode ser usado assim, testa aí:

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
doSendMagicEffect(getPlayerPosition(cid),5)
doSendAnimatedText(getPlayerPosition(cid), '500', 3)
addEvent(onCastSpell, 600, parameters)
return doCombat(cid, combat, var)
end

Link to comment
https://xtibia.com/forum/topic/188272-spell-com-delay/#findComment-1280924
Share on other sites

  • 0

Não tenho muita certeza, mas acho que o Addevent pode ser usado assim, testa aí:

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
doSendMagicEffect(getPlayerPosition(cid),5)
doSendAnimatedText(getPlayerPosition(cid), '500', 3)
addEvent(onCastSpell, 600, parameters)
return doCombat(cid, combat, var)
end

Deu aquele erro que eu postei ali em cima

 

[Error - Spell Interface]

data/spells/scripts/firehur.lua

Description:

(luaAddEvent) Callback parameter should be a function.

Não sei por que que esse addevent não ta funcionando :s

Link to comment
https://xtibia.com/forum/topic/188272-spell-com-delay/#findComment-1280927
Share on other sites

  • 0

Vê assim então:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 36)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC,  5, 5, 7, 14)
local area = createCombatArea(AREA_BEAM7, AREADIAGONAL_BEAM7)
setCombatArea(combat, area)
local function onCastSpell(parameters)
doCombat(parameters.cid, combat, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell, 600, parameters)
doSendMagicEffect(getPlayerPosition(cid),5)
doSendAnimatedText(getPlayerPosition(cid), '500', 3)
return doCombat(cid, combat, var)
end

Edited by Leoxtibia
Link to comment
https://xtibia.com/forum/topic/188272-spell-com-delay/#findComment-1280928
Share on other sites

  • 0

Editei uma coisa, tenta lá agora. Se não funcionar tenta assim:

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 36)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 14)

local area = createCombatArea(AREA_BEAM7, AREADIAGONAL_BEAM7)

setCombatArea(combat, area)

 

function onCastSpell(cid, var)

local parameters = { cid = cid, var = var}

addEvent(onCastSpell, 600, parameters)

doSendMagicEffect(getPlayerPosition(cid),5)

doSendAnimatedText(getPlayerPosition(cid), '500', 3)

return doCombat(cid, combat, var)

end

Edited by Leoxtibia
Link to comment
https://xtibia.com/forum/topic/188272-spell-com-delay/#findComment-1280931
Share on other sites

  • 0

O 1º não saio e deu erro [Warning - Event LuaInterface::loadScript] Event onCastspell not found.

 

 

E o 2º o erro de (luaAddEvent) Callback parameter should be a function.

 

Nem sei pode ser o servidor?

usso styller 8.60

 

http://www.xtibia.com/forum/topic/138461-original-styller-yourots-09-completo-860/

Link to comment
https://xtibia.com/forum/topic/188272-spell-com-delay/#findComment-1280936
Share on other sites

  • 0

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 36)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC,  5, 5, 7, 14)
local area = createCombatArea(AREA_BEAM7, AREADIAGONAL_BEAM7)

setCombatArea(combat, area)
function onCastSpell(cid, var)
doSendMagicEffect(getPlayerPosition(cid),5)
doSendAnimatedText(getPlayerPosition(cid), '500', 3)
addEvent(doCombat,6000,cid, combat, var)
return true
end

 

@Leoxtibia

n fique postando coisas sem testar,se n possui conhecimentos em lua.

isso que se fez no script ta completamante errado

Nossa mano vlw mesmo bem certinho oque eu tava querendo

REP+

Se um dia eu puder ajudar estamos ae :D

 

Duvida Sanada, Tópico pode Ser movido.

Link to comment
https://xtibia.com/forum/topic/188272-spell-com-delay/#findComment-1280953
Share on other sites

×
×
  • Create New...