Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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

post-4925-0-93937900-1368727093_thumb.pn

 

 

E agora quando eu viro a magia deveria acompanhar mais isso não acontece vejam o exemplo:

post-4925-0-25150900-1368727144_thumb.pn

 

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

 

 

 

 

gif1705.gif

 

Link para o post
Compartilhar em outros sites

na tag do spells.xml tem la direction, coloca =1

[center][url=http://bit.ly/denkorpg]B12fLFS.png

Link para o post
Compartilhar em outros sites

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

 

 

 

 

gif1705.gif

 

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Doria Louro
      Olá nobre senhores, tudo bem com vocês?
      Servidor: TFS 0.3.6
      Cliente:    8.60
       
      Estou com a seguinte ideia, criar conjuntos de equipamentos em meu servidor, que aumente os atributos do player ao utilizar o conjunto/set completo, exemplo:

       
      Um exemplo dos itens contidos no meu itens.xml:
      <item id="2487" article="a" name="warrior armor"> <attribute key="weight" value="9000" /> <attribute key="armor" value="13" /> <attribute key="skillSword" value="1" /> <attribute key="skillAxe" value="1" /> <attribute key="skillClub" value="1" /> <attribute key="slotType" value="body" /> <attribute key="healthGain" value="2" /> <attribute key="healthTicks" value="3000" /> <attribute key="description" value="+2 HP every 3s, Sale value: $5000" /> </item>  
      Em meu movements.xml:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="function" value="onEquipItem"> <vocation id="8" /> </movevent> <movevent type="DeEquip" itemid="2487" slot="armor" event="function" value="onDeEquipItem" />  
      Entretanto eu fico limitado aos eventos de Equip default, se eu altero para meu script full_set.lua:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="script" value="full_set.lua"> <vocation id="8" /> </movevent>  
      Executando meu script  eu perco os atributos contidos no itens.xml, tais como o aumento de skill, ganho de HP por segundo e também qualquer vocação pode utilizar o equipamento.
       
      Simplificando, é possível utilizar os recursos padrões de Equip do movements e adicionar um/mais scripts personalizáveis sem perder as funcionalidades da function onEquipItem?
      Meu objetivo é quanto mais partes do set o jogador possuir, mais bônus ele obterá, um exemplo:
       
      Warrior Set
      [2 peças] - Aumenta em 100 HP total
      [4 peças] - Aumenta em 2 shielding
       
      Eu tenho uma ideia de colocar essa verificação no creaturescripts, entretanto não gostaria de tomar esse rumo pois acredito que poderia sobrecarregar meu servidor com as verificações por thing.
      Efetuei consultas pela internet e geralmente o pessoa que tem essa duvida utiliza itens que não tem status, tipo um ring, no meu caso é diferente.
       
      Possível solução: Seria utilizar o código Equip padrão no meu script e depois aplicar meu código, entretanto eu não encontrei em nenhum local esse script de Equip,
       
      Quem puder me ajudar eu ficaria eternamente grato já que esse é um sistema chave no meu projeto, agradeço desde já
    • Por Kill of sumoners
      Boa noite, estou com um erro ao atacar um player em meu sv eu nao pego pk, nem sai magia, aparece a mensagem "voce so pode usar isso em criaturas"
      obs: magia em area acerta e pega pk, apenas as targets ou hits de arma nao vao 
    • Por Imperius
      Tinha visto isso no servidor do MegaTibia / Kaldrox e achei bem interessante.
       
      Todos os tópicos que encontrei sobre o assunto de alterar a cor das mensagens dos GMs, CMs e ADM no channel Help para vermelho, falavam que tinham que fazer uma configuração na própria source do servidor.
       
      Fiz uma gambiarra que funciona, sem a necessidade de mexer na source do servidor e de utilizar comandos para isso. Testei somente em TFS 0.4 e funciona tranquilamente.
       
      segue abaixo como configurar em seu otserver:
       
      data > talkactions > scripts > crie um arquivo chamado gmsayred.lua e cole o código abaixo:
       
      function onSay(cid, words, param, channel) if channel == CHANNEL_HELP then for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', "".. getCreatureName(cid) .. ": ".. words, TALKTYPE_CHANNEL_R1, CHANNEL_HELP) end return true end end  
      em talkactions.xml cole a tag abaixo:

       
      <!-- Gamemasters --> <talkaction default="yes" filter="quotation" logged="no" access="3" event="script" value="gmsayred.lua"/>    
      e pronto! Agora é só enviar alguma mensagem no Help que a mensagem ficará em vermelho.
       

       
    • Por Kazuya9629
      como eu fasso pro charmander usa spell Ember ea outfit dele mudar por alguns segundos
       
      base poke jornadas 
    • Por Sociopata
      Abra data\spells\scripts cria um arquivo com nome earthquake.lua e cole isso \/


      local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_STONES) setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0.9, 0, 1.0, 0) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 34) setCombatParam(combat1, COMBAT_PARAM_USECHARGES, TRUE) setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 0.9, 0, 1.0, 0) local area1 = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat1, area1) function onCastSpell(cid, var) doCombat(cid, combat1, var) return doCombat(cid, combat, var) end em data /spells.xml cole isso \/ <instant name="earthquake" words="exori beam" lvl="33" mana="450" prem="0" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="earthquake.lua"> <vocation id="4"/>
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo