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.



info
Grupo: Conde
Registrado: 24/09/06
Posts: 512
Reputação: +369
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.