MA
dúvida

Spell Com Delay

Por MarcosFraga, 19 de jun. de 2012 em Scripts

spell
com
delay
script
10
3.5k
MarcosFragaM
19 de junho de 2012 às 01:03

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..

LeoxtibiaL
19 de junho de 2012 às 09:56

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

MarcosFragaM
19 de junho de 2012 às 10:06

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

LeoxtibiaL
19 de junho de 2012 às 10:11

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

Editado Junho 19 por Leoxtibia

MarcosFragaM
19 de junho de 2012 às 10:18

Agora não saio nada quando eu tentei usar a spell e deu erro no console meio estranho só dizia:

 

[Warning - Event LuaInterface::loadScript] Event onCastspell not found.

LeoxtibiaL
19 de junho de 2012 às 10:27

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

Editado Junho 19 por Leoxtibia

MarcosFragaM
19 de junho de 2012 às 10:33

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/

VincV
19 de junho de 2012 às 11:15

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

MarcosFragaM
19 de junho de 2012 às 11:26

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.

VildenV
19 de junho de 2012 às 14:39

Dúvida sanada, movido.