NE
dúvida

[Spell] Problema Na Spell!

Por Newtonnotwen, 04 de ago. de 2012 em Scripts

problema
spell
defeito
script
6
867
NewtonnotwenN
04 de agosto de 2012 às 17:30

Eu estou com um problema na spell que segue abaixo o script:

 

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 36)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -99999999.3, -99999999.160, -99999999, -99999999)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 17)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -99999999.3, -99999999.160, -99999999, -99999999)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 50)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -99999999.3, -99999999.160, -99999999, -99999999)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 52)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -99999999.3, -99999999.160, -99999999, -99999999)
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 40)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -99999999.3, -99999999.160, -99999999, -99999999)
local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 49)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -99999999.3, -99999999.160, -99999999, -99999999)

arr1 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
arr2 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
arr3 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
arr4 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
arr5 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
arr6 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}

local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
local area5 = createCombatArea(arr5)
local area6 = createCombatArea(arr6)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
setCombatArea(combat5, area5)
setCombatArea(combat6, area6)

local function onCastSpell1(parameters)
doCombat(parameters.cid, combat1, parameters.var)
end
local function onCastSpell2(parameters)
doCombat(parameters.cid, combat2, parameters.var)
end
local function onCastSpell3(parameters)
doCombat(parameters.cid, combat3, parameters.var)
end
local function onCastSpell4(parameters)
doCombat(parameters.cid, combat4, parameters.var)
end
local function onCastSpell5(parameters)
doCombat(parameters.cid, combat5, parameters.var)
end
local function onCastSpell6(parameters)
doCombat(parameters.cid, combat6, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 500, parameters)
addEvent(onCastSpell2, 1000, parameters)
addEvent(onCastSpell3, 1500, parameters)
addEvent(onCastSpell4, 2000, parameters)
addEvent(onCastSpell5, 2500, parameters)
addEvent(onCastSpell6, 3000, parameters)
end

-Dano funciona

-Efeito funciona

 

Defeito:

 

-Quando o player utiliza a magia não aparece ele falando "player say: magia name"

-Magia fica sem exausted

 

Imagem:

CONTEÚDO REMOVIDO

Editado Agosto 7 por Newtonnotwen

darkeyrenD
04 de agosto de 2012 às 18:18

O Exaustion da Spell é mudada no spells/spells.xml então você deve mudar lá, o problema de não estar falando a magia é simples, adicione a tag

doPlayerSay(cid,"Nome da Magia")

no Script

acho que é só isso (: , espero ter ajudado.

Editado Agosto 4 por DarkeyreN

NewtonnotwenN
04 de agosto de 2012 às 18:30

Onde eu adiciono a tag?

 

Obs: a magia tem exausted, acho que pelo fato dele não falar nada não tem exausted.

Editado Agosto 4 por Newtonnotwen

darkeyrenD
04 de agosto de 2012 às 18:53

Mais a magia funciona e tudo mais ?

<instant name="Master Fusion" words="master fusion" lvl="25" mana="90" exhaustion="2000" script="master fusion.lua">
</instant>

Coloca isso lá no Spells.xml e vê se vai funcionar!

Caso a magia estiver em outra pasta coloque o nome antes..

ex: Magias/master fusion.lua

otherealityO
04 de agosto de 2012 às 18:59

Sem a tag a magia nem funcionaria, logo, é claro que o problema não é lá.

Acredito que se não fala o nome, nem tem exhaust, a magia provavelmente também não está gastando mana.

 

tenta trocar:

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 500, parameters)
addEvent(onCastSpell2, 1000, parameters)
addEvent(onCastSpell3, 1500, parameters)
addEvent(onCastSpell4, 2000, parameters)
addEvent(onCastSpell5, 2500, parameters)
addEvent(onCastSpell6, 3000, parameters)
end

por

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 500, parameters)
addEvent(onCastSpell2, 1000, parameters)
addEvent(onCastSpell3, 1500, parameters)
addEvent(onCastSpell4, 2000, parameters)
addEvent(onCastSpell5, 2500, parameters)
addEvent(onCastSpell6, 3000, parameters)
return TRUE
end

Editado Agosto 4 por OtheReality

NewtonnotwenN
04 de agosto de 2012 às 19:04

@DarkeyreN

 

não funcionou, mas obrigada pelo seu tempo. Muito agradecido.

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

@OtheReality

 

Perfeito! Funcionou isso vai me ajudar muito, varias magias estavam com o mesmo problema.

 

Obs: Irei ti dar REP+ Daqui a alguns dias. Porque ja dei um hoje, e amanhã vou dar pra um cara que me ajudou mas como prometido dia 07/08/2012 ti dou REP+.

 

Vlws ae!

 

 

Duvida sanada! Podem mover o tópico!

 

Duvida retirada por: OtheReality

 

-------------Editado 07/08/2012

 

REP+

Editado Agosto 7 por Newtonnotwen