Ir para conteúdo

Ajuda Erro Em Spell


centropo

Posts Recomendados

Erro:

[03/01/2011 02:16:00] [Error - Spell Interface]

[03/01/2011 02:16:00] In a timer event called from:

[03/01/2011 02:16:00] data/spells/scripts/poke/stunspore.lua:onCastSpell

[03/01/2011 02:16:00] Description:

[03/01/2011 02:16:00] (luaDoCombat) Creature not found

 

este erro esta ocorrendo com diversas magias e esta dando lag em meu server, abaixo segue o script

 


local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 27)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -6.0, 0, -5.3, 0)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 27)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -6.0, 0, -5.3, 0)

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 27)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -6.0, 0, -5.3, 0)

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 27)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -6.0, 0, -5.3, 0)

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

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

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

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

local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)

local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end

local function onCastSpell2(parameters)
doCombat(parameters.cid, parameters.combat2, parameters.var)
end
local function onCastSpell3(parameters)
doCombat(parameters.cid, parameters.combat3, parameters.var)
end

local function onCastSpell4(parameters)
doCombat(parameters.cid, parameters.combat4, parameters.var)
end

function onCastSpell(cid, var)
doCreatureSay(cid,"Stun Spore", TALKTYPE_ORANGE_1)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4 }
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell2, 500, parameters)
addEvent(onCastSpell3, 1000, parameters)
addEvent(onCastSpell4, 2000, parameters)

return TRUE
end

 

Espero que alguém possa me ajudar !

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

talvez você tenha esquecido de botar a spell em data/spells/spells.xml > é o bloco de notas.

 

acrescente nele:

 

<instant name="nome do arquivo .lua da magia" words="palavra para usar a magia" lvl="level minimo" mana="mana gasta" prem="0 = não precisa premmy 1= precisa premmy" needweapon="0 = não precisa ter uma arma na mão 1= precisa" exhaustion="exausted da magia 1500= 1,5seg" needlearn="0 deixa "0" pra não precisar aprender no npc" event="script" value="aki voce poem a pasta que esta a magia está no seu caso é a "poke/aki o nome da sua magia stunspore.lua">

<vocation id="4"/> são as voc que podem usar aki 4 e 8 são kinght e elite knight. <vocation id="8"/>

 

os ids das voc são:

 

1 sorcerer

2 druid

3 paladin

4 knight

5 master sorcerer

6 elder druid

7 royal paladin

8 elite kngiht

 

Caso você ja tenha feito isso:

 

então esse erro deve ser pq você botou o nome da spell no scrip diferente do nome da spell no bloco de notas, verifique se não errou alguma letra.

 

se não der certo avise.

é isso.=D

Link para o comentário
Compartilhar em outros sites

talvez você tenha esquecido de botar a spell em data/spells/spells.xml > é o bloco de notas.

 

acrescente nele:

 

<instant name="nome do arquivo .lua da magia" words="palavra para usar a magia" lvl="level minimo" mana="mana gasta" prem="0 = não precisa premmy 1= precisa premmy" needweapon="0 = não precisa ter uma arma na mão 1= precisa" exhaustion="exausted da magia 1500= 1,5seg" needlearn="0 deixa "0" pra não precisar aprender no npc" event="script" value="aki voce poem a pasta que esta a magia está no seu caso é a "poke/aki o nome da sua magia stunspore.lua">

<vocation id="4"/> são as voc que podem usar aki 4 e 8 são kinght e elite knight. <vocation id="8"/>

 

os ids das voc são:

 

1 sorcerer

2 druid

3 paladin

4 knight

5 master sorcerer

6 elder druid

7 royal paladin

8 elite kngiht

 

Caso você ja tenha feito isso:

 

então esse erro deve ser pq você botou o nome da spell no scrip diferente do nome da spell no bloco de notas, verifique se não errou alguma letra.

 

se não der certo avise.

é isso.=D

 

Olá,

 

Meu server é de pokemon, esta spell seria para um monster como devo proceder?

 

OBS: engrassado que ao testar a magia fazendo com que o monstro a solte matando outro monstro (pokemon), funciona perfeitamente, agora quando aplico no server começa surgir os erros. notei também que as criaturas (pokemons) estão virando toda hora, estão bem loucas cada vez que passa um plyaer fica indo pra la e pra ca correndo pra la e pra ca, e no fim não ataca ninguem, talves esta troca de target possa estar causando o erro no spell?

 

no arquivo spells.xml a magia esta assim:

<instant name="Stun Spore" words="stun attack" lvl="50000" mana="50000" prem="1" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="poke/stunspore.lua">

 

Poderiam me ajudar?

Link para o comentário
Compartilhar em outros sites

cara tente colocar as spells assim...

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) 
setCombatParam(combat, COMBAT_PARAM_EFFECT, 27) 
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -6.0, 0, -5.3, 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, 1, 0, 0, 0, 0, 0}, 
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, 
{0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0}, 
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, 
{0, 0, 0, 0, 0, 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}, 
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

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

Esse erro da quando a criatura morre antes de executar toda magia.

Você ainda pode diminuir o script já que todos os combats são iguais.

 

Pra resolver o erro:

local function onCastSpell1(parameters)
if isCreature(parameters.cid) then
doCombat(parameters.cid, parameters.combat1, parameters.var)
end
end

local function onCastSpell2(parameters)
if isCreature(parameters.cid) then
doCombat(parameters.cid, parameters.combat2, parameters.var)
end
end

local function onCastSpell3(parameters)
if isCreature(parameters.cid) then
doCombat(parameters.cid, parameters.combat3, parameters.var)
end
end

local function onCastSpell4(parameters)
if isCreature(parameters.cid) then
doCombat(parameters.cid, parameters.combat4, parameters.var)
end
end

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

Esse erro da quando a criatura morre antes de executar toda magia.

Você ainda pode diminuir o script já que todos os combats são iguais.

 

Pra resolver o erro:

local function onCastSpell1(parameters)
if isCreature(parameters.cid) then
doCombat(parameters.cid, parameters.combat1, parameters.var)
end
end

local function onCastSpell2(parameters)
if isCreature(parameters.cid) then
doCombat(parameters.cid, parameters.combat2, parameters.var)
end
end

local function onCastSpell3(parameters)
if isCreature(parameters.cid) then
doCombat(parameters.cid, parameters.combat3, parameters.var)
end
end

local function onCastSpell4(parameters)
if isCreature(parameters.cid) then
doCombat(parameters.cid, parameters.combat4, parameters.var)
end
end

 

 

Obrigado pela ajuda problema foi resolvido, Como faço para dar REP +?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...