cara posta a tag xml e o dois script indetificando qual é o do sorcerer e qual é o de druid,se n n da pra ajuda
info
Grupo: Conde
Registrado: 30/10/11
Posts: 625
Reputação: +101
Gênero: Masculino

esqueci de postar =X
ja editei la em cima como elas estão e a original como fica!
@edited
Vlw Jhon992 pela ajuda MSN, te darei uns 5 REP + pela ajuda manin.. =P
Editado Julho 6 por milbradt
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

O erro que ocorria era devido as funções com o mesmo nome em todos os scripts, então o executável não conseguia identificar a certa a usar, para solucionar só bastou mudar o nome das funções "magicEffect3" em todos os scripts derivados.
- Reportado para moverem!
Editado Julho 7 por Jhon992
info
Grupo: Conde
Registrado: 12/11/08
Posts: 520
Reputação: +73
Gênero: Masculino

Milbradt, Poderia postar a solução do seu problema aqui pra gente ?
Assim pode ajudar outras pessoas que talvez venha ter a mesma duvida.
Aguardando.
assim que colocar me reporte o Tópico novamente para mover para sanados?
Obrigado.
Certo!
Mas o Jhon992 ja colocou o motivo de estar dando o erro.
No caso era a parte do >> MagicEffect3 <<
Se colocar um outro Buff para outra vocação ou um outro Buff para a mesma vocação, tera que modificar a parte do MagicEffect3 para outro nome..
exempo: mudar apenas o 3 para outro numero qualquer de forma que não se repita
MagicEffect3
para
MagicEffect4
e se fizer mais spel ainda mudar para 5..6..e assim por diante
MagicEffect5
MagicEffect6
=P era apenas isso =x
Editado Julho 10 por milbradt
info
Grupo: Conde
Registrado: 12/11/08
Posts: 520
Reputação: +73
Gênero: Masculino

Obrigado.
Resolvido e Movido
Eu ainda estou com duvida tabom mudei e talz MagicEffect3 para MagicEffect2 que tava no script do outro buff que fis so que da erro olhem e ve se fis certo
local tempo = 60 -- tempo em segundos.
local effect = {136} -- effect no player
local ml = 6 -- quantos ira aumentar o skill de ML
local skillfist = 5 -- quantos ira aumentar o skill de Fist
local skillsword = 5 -- quantos ira aumentar o skill de Sword
local skillaxe = 5 -- quantos ira aumentar o skill de Axe
local skillclub = 5 -- quantos ira aumentar o skill de Club
local skilldistance = 5 -- quantos ira aumentar o skill de Distance
local skillshield = 5 -- quantos ira aumentar o skill de Shield
local health = 150 -- A cada 1 segundo quantos aumentar de vida
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml)
setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield)
setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat, condition)
local condition = createConditionObject(CONDITION_HASTE)
setConditionParam(condition, CONDITION_PARAM_SPEED, 250)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition)
local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000)
setCombatCondition(combat, condition)
function magicEffect2(tempo2,tempo3,cid)
if (isCreature(cid)) then
if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then
for i=1, #effect do
local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
doSendMagicEffect2(position, effect[i])
end
end
end
end
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then
doCombat(cid, combat, var)
tempo2 = 0
while (tempo2 ~= (tempo*1000)) do
addEvent(magicEffect2, tempo2, tempo2, tempo*1000, cid)
tempo2 = tempo2 + 300
end
setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado.
else
doPlayerSendCancel(cid, "Voce ja esta com Buff.")
end
end
da esses erros
[/size][/color] [color=#282828][size=2][30/01/2013 22:51:52] [Error - Spell Interface] [30/01/2013 22:51:52] In a timer event called from: [30/01/2013 22:51:52] data/spells/scripts/sasuke/susanoo.lua:onCastSpell [30/01/2013 22:51:52] Description: [30/01/2013 22:51:52] data/spells/scripts/sasuke/susanoo.lua:46: attempt to call global 'doSendMagicEffect2' (a nil value) [30/01/2013 22:51:52] stack traceback: [30/01/2013 22:51:52] data/spells/scripts/sasuke/susanoo.lua:46: in function <data/spells/scripts/sasuke/susanoo.lua:41>[/size][/color] [color=#282828][size=2]
Editado Janeiro 30 por Raiat





info
Grupo: Cavaleiro
Registrado: 04/12/09
Posts: 188
Reputação: +19
Então, no caso eh uma spell que BUFFA o jogador por 1 minuto dando um certo EFEITO, porem no caso se eu colocar pra uma determinada vocação fazer o BUFF não da erro algum, mas se eu fizer 2 spell ai ja da uma complicação.
Tipo, eu adicionei uma magia chamada BUFF, para a vocação SORCERER.
Agora se eu usar o mesmo script e adicionar uma magia pros DRUIDS como Buffar, não sei oq acontece que parece que elas se fundem.
Explicando.. SOU DRUID E USO MINHA SPELL QUE SERIA O BUFFAR, O EFEITO NAO FICA O DO BUFFAR E SIM O DO BUFF QUE É A MAGIA DO SORCERER!!!!
Tem 3 STORAGE no SCRIPT... AVISO QUE JA TENTEI TROCAR PRA VER SE NAO FICAVA O ERRO, MAS CONTINUA O ERRO!!!
Aqui esta a SPELL DO SORCERER:
spell.xml:
spell.lua:
local tempo = 60 -- tempo em segundos. local ml = 5 -- quantos ira aumentar o skill de ML local skillfist = 5 -- quantos ira aumentar o skill de Fist local skillsword = 5 -- quantos ira aumentar o skill de Sword local skillaxe = 5 -- quantos ira aumentar o skill de Axe local skillclub = 5 -- quantos ira aumentar o skill de Club local skilldistance = 5 -- quantos ira aumentar o skill de Distance local skillshield = 5 -- quantos ira aumentar o skill de Shield local health = 30 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect3(tempo2,tempo3,cid) if (isCreature(cid)) then if getCreatureCondition(cid, CONDITION_REGENERATION, 1) then doSendMagicEffect(getPlayerPosition(cid), 208) end end end function onCastSpell(cid, var) if getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect3, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 1000 end doPlayerSendCancel(cid, "Sorry, you are transformed.") end endAqui spell do DRUID:
spellxml:
spell.lua:
local tempo = 60 -- tempo em segundos. local effect = {136} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 5 -- quantos ira aumentar o skill de ML local skillfist = 5 -- quantos ira aumentar o skill de Fist local skillsword = 5 -- quantos ira aumentar o skill de Sword local skillaxe = 5 -- quantos ira aumentar o skill de Axe local skillclub = 5 -- quantos ira aumentar o skill de Club local skilldistance = 5 -- quantos ira aumentar o skill de Distance local skillshield = 5 -- quantos ira aumentar o skill de Shield local health = 50 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect3(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) end end end end function onCastSpell(cid, var) if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect3, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. else doPlayerSendCancel(cid, "Sorry, you are transformed.") end endASSIM ESTA MINHAS SPELLS! =X
A original esta aqui:
local tempo = 60 -- tempo em segundos. local effect = {27,28,29} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 5 -- quantos ira aumentar o skill de ML local skillfist = 5 -- quantos ira aumentar o skill de Fist local skillsword = 5 -- quantos ira aumentar o skill de Sword local skillaxe = 5 -- quantos ira aumentar o skill de Axe local skillclub = 5 -- quantos ira aumentar o skill de Club local skilldistance = 5 -- quantos ira aumentar o skill de Distance local skillshield = 5 -- quantos ira aumentar o skill de Shield local health = 30 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect3(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) end end end end function onCastSpell(cid, var) if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect3, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 1000 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. else doPlayerSendCancel(cid, "Sorry, you are transformed.") end endRep+ pra quem me ajudar!
Editado Julho 6 por milbradt