CE

Ajuda Erro Em Spell

Por centropo, 03 de jan. de 2011 em Archived

script
7
1.1k
centropoC
03 de janeiro de 2011 às 02:23

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 Janeiro 3 por Centropokemon01

affcaraA
03 de janeiro de 2011 às 17:01

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

centropoC
03 de janeiro de 2011 às 18:51

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?

affcaraA
03 de janeiro de 2011 às 20:24

Foi mal mas oque eu podia fazer por vc ja fiz..

de servidores pokemon eu não entendo =/

Boa sorte pra resolver isso..

MaGoDaNeTM
04 de janeiro de 2011 às 16:22

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 Janeiro 4 por MaGoDaNeT

KydraiK
04 de janeiro de 2011 às 20:26

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 Janeiro 4 por kydrai

centropoC
09 de janeiro de 2011 às 22:54

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 +?