Ir para conteúdo
  • 0

Dúvida De Spell.


brun123

Pergunta

Fiz uma magia no meu server de pokemon, rollout é o nome.

 

Minha magia.lua:

 

 

local golem = {lookType = 288}

local sandslash = {lookType = 285}

local sandshrew = {lookType = 284}

local electrode = {lookType = 286}

local voltorb = {lookType = 287}

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.3, 0, -0.4, 0)

 

arr = {

{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, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 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},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

}

local area = createCombatArea(arr)

setCombatArea(combat, area)

 

function onCastSpell(cid, var)

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

if getCreatureOutfit(cid).lookType == 116 then

doSetCreatureOutfit(cid, golem, -1)

elseif getCreatureOutfit(cid).lookType == 125 then

doSetCreatureOutfit(cid, electrode, -1)

elseif getCreatureOutfit(cid).lookType == 123 then

doSetCreatureOutfit(cid, voltorb, -1)

elseif getCreatureOutfit(cid).lookType == 115 then

doSetCreatureOutfit(cid, sandslash, -1)

elseif getCreatureOutfit(cid).lookType == 43 then

doSetCreatureOutfit(cid, sandshrew, -1)

end

doCombat(cid, combat, var)

addEvent(doCombat, 1500, cid, combat, var)

addEvent(doCombat, 3000, cid, combat, var)

addEvent(doCombat, 4500, cid, combat, var)

addEvent(doCombat, 6000, cid, combat, var)

addEvent(doCombat, 7500, cid, combat, var)

addEvent(doCombat, 9000, cid, combat, var)

addEvent(doCombat, 10500, cid, combat, var)

addEvent(doCombat, 12000, cid, combat, var)

addEvent(doRemoveCondition, 12700, cid, CONDITION_OUTFIT)

return true

end

 

 

Minha tag na spells.xml:

 

 

<instant name="rollout" words="pokerollout" lvl="300" mana="1" prem="0" exhaustion="2000" needlearn="0" event="script" value="poke/rollout.lua"></instant>

 

 

Agora o meu problema:

Ele funciona certinho, o pokemon muda de outfit para um outfit dele mesmo, porém girando, mas na hora de causar o dano do combat, os monstros em volta nao recebem dano, e o mais surpreendente, eles bugam e healam vida.

Algumas vezes funciona um pedaço ou outro do damage. Outras vezes nao funciona nada.

 

To muito confuso sobre isso.

Tirei o addEvent e coloquei apenas 1 doCombat e a magia funcionou perfeitamente, mas perdeu a graça tambem. :/

 

Me ajudem por favor, obrigado.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Amigo, sua spell não tem nada de errado, na minha opinião você deve fazer a seguinte troca no arquivo rollout.lua:

 

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.3, 0, -0.4, 0)

Por

 

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0.3, -2, 0.4, -4)

 

OU

 

doCombat(cid, combat, var)
addEvent(doCombat, 1500, cid, combat, var)
addEvent(doCombat, 3000, cid, combat, var)
addEvent(doCombat, 4500, cid, combat, var)
addEvent(doCombat, 6000, cid, combat, var)
addEvent(doCombat, 7500, cid, combat, var)
addEvent(doCombat, 9000, cid, combat, var)
addEvent(doCombat, 10500, cid, combat, var)
addEvent(doCombat, 12000, cid, combat, var)
addEvent(doRemoveCondition, 12700, cid, CONDITION_OUTFIT)
return true
end

 

Por

 

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell, 1500, parameters)
addEvent(onCastSpell, 3000, parameters)
addEvent(onCastSpell, 4500, parameters)
addEvent(onCastSpell, 6000, parameters)
addEvent(onCastSpell, 7500, parameters)
addEvent(onCastSpell, 9000, parameters)
addEvent(onCastSpell, 10500, parameters)
addEvent(onCastSpell, 12000, parameters)
addEvent(doRemoveCondition, 12700, cid, CONDITION_OUTFIT)
return true
end

 

Tente, se não der certo você posta o que aconteceu.

Obrigado, sem mais.

Editado por XxXHiagoXxX
Link para o comentário
Compartilhar em outros sites

  • 0

Não mudou nada, até porque a diferença de nossas scripts é mera organizaçao.

 

EDIT:

consegui fazer. ridiculo o erro.

é uma magia para monster, ai enquanto eu testava, deixei min/max = 100.

foi só eu mudar o max para ficar maior que o min e voltou a funcionar, vlw pela ajuda de qualquer modo. :)

 

CLOSED

Editado por brun123
Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe a falta de competência, eu não sou muito bom nessa área, mas mesmo assim tento ajudar. Fico feliz que tenha resolvido seu problema, e uma boa sorte com seu servidor.

 

Obrigado, sem mais.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...