Postado Maio 16, 2013 12 anos Olá pessoal do TibiaKing... Gostaria que se pudessem resolver uma duvida que esta consumindo muito do meu tempo... recentemente baixei um programa muito bom, chamado "Spell Creator" criei uma magia e quero por em meu Server, mais o surge o problema, como faço para quando o personagem olha para o lado direito a magia sair do lado correspondente?? Exemplo Atual E agora quando eu viro a magia deveria acompanhar mais isso não acontece vejam o exemplo: Já não sei mais o que fazer aqui esta o Spell -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{0, 2, 0}, {1, 1, 1}})) function getDmg_Brush(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat0_Brush = {CONST_ANI_ARROW,-1,1,0,1,1,1} -- Areas/Combat for 100ms local combat1_Brush = createCombatObject() setCombatParam(combat1_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat1_Brush,createCombatArea({{0, 0, 2, 0, 0}, {0, 0, 0, 0, 0}, {1, 1, 1, 1, 1}})) function getDmg_Brush(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat1_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat1_Brush = {CONST_ANI_ARROW,0,2,1,2,2,2,-1,2,-2,2} -- Areas/Combat for 200ms local combat2_Brush = createCombatObject() setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat2_Brush,createCombatArea({{0, 0, 0, 2, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1}})) function getDmg_Brush(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat2_Brush = {CONST_ANI_ARROW,1,3,2,3,3,3,0,3,-1,3,-2,3,-3,3} -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos) addEvent(RunPart,100,combat1_Brush,cid,var,dfcombat1_Brush,startPos) addEvent(RunPart,200,combat2_Brush,cid,var,dfcombat2_Brush,startPos) return true end Obrigado a Todos espero respostas.... Meus Trabalhos: *Spell Rajada de Flechas: http://migre.me/eI3aE
Postado Maio 16, 2013 12 anos na tag do spells.xml tem la direction, coloca =1 [center][url=http://bit.ly/denkorpg]
Postado Maio 17, 2013 12 anos Autor Opa Obrigado Consegui....Aproveitando o tópico criado, tem como responder como posso fazer para que o dano causado pela magia, tenha como base o level e o skill distance?? Obrigado aguardo respostas -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{0, 2, 0}, {1, 1, 1}})) function getDmg_Brush(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat0_Brush = {CONST_ANI_ARROW,-1,1,0,1,1,1} -- Areas/Combat for 100ms local combat1_Brush = createCombatObject() setCombatParam(combat1_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat1_Brush,createCombatArea({{0, 0, 2, 0, 0}, {0, 0, 0, 0, 0}, {1, 1, 1, 1, 1}})) function getDmg_Brush(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat1_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat1_Brush = {CONST_ANI_ARROW,0,2,1,2,2,2,-1,2,-2,2} -- Areas/Combat for 200ms local combat2_Brush = createCombatObject() setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat2_Brush,createCombatArea({{0, 0, 0, 2, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1}})) function getDmg_Brush(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat2_Brush = {CONST_ANI_ARROW,1,3,2,3,3,3,0,3,-1,3,-2,3,-3,3} -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos) addEvent(RunPart,100,combat1_Brush,cid,var,dfcombat1_Brush,startPos) addEvent(RunPart,200,combat2_Brush,cid,var,dfcombat2_Brush,startPos) return true end Meus Trabalhos: *Spell Rajada de Flechas: http://migre.me/eI3aE
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.