Ir para conteúdo

Criando Wands Ou Rods Novas By Guilherme Otmaster


Posts Recomendados

Bom, vejo que muitas pessoas querem adicionar uma sprite wand e não consegue, ou querer fazer uma varinha nova pra druida ou mago, então vim até aqui e postei sobre o assunto, xD, ae vai.

 

ANTES DE TUDO!!! Só funciona com versão 7.81 ou maior se eu não me engano, porque versão 7.6 não tem a pasta \data\weapons que vai ser usado pra funcionar a varinha.

EXPLIQUEI BEM CERTINHO

 

Pra começar, entre no teu ot, pegue um id de uma varinha ou até mesmo arma(se é que você quer transforma-lá em varinha).

Dentro da pasta do seu ot, entre na pasta \data\weapons\scirpts e crie um arquivo .lua

Exemplo: Sprite wand.lua

Vamos usar o exemplo da flecha de fogo.

Então adicione esses códigos no arquivo criado:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.3, 0, -0.6, 0)

local area = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
setCombatArea(combat, area)

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

Legendas:

setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)

Defesa de armadura...Por exemplo, quando a varinha acertar um jogador/monstro, quanto maior a defesa do jogador/monstro menos dano a varinha causa(OBS: só funciona se tiver o número 1 depois do COMBAT_PARAM_BLOCKARMOR e se os dois stiverem separados por vírgula).

 

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

Esse é o tipo do dano que a varinha vai causar, no caso foi usado COMBAT_PHYSICALDAMAGE que significa mesma coisa que dano físico(sd, explosion, UE, exori), ou seja, acerta em todos os bichos menos em fantasma (que é imune a dano físico).

 

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)

Efeito da varinha ao tocar em um jogador/monstro a Wand of inferno por exemplo usa o CONST_ME_FIREAREA que é o code que faz um foguinho no alvo :p, no caso ele ta usando CONST_ME_EXPLOSIONAREA que é area de explosão, igual explosion, bem parecido com wand of inferno mas é diferente...

 

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

Esse é o efeito que a vairnha faz antes de chegar no jogador/monstro. No caso ela vai até o jogador/monstro com um formato como se fosse uma bola de fogo, lol.

 

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.3, 0, -0.6, 0)

Essa é a fórmula do dano causado pela varinha, eu não sei calcular muito bem isso, é mais ou menos assim:

 

O -0.3 mostrado na fórmula é o dano mínimo da varinha, e ele é multiplicado 10x e depois é multiplicado denovo junto com o magic level do player,

 

Exemplo de um player com magic level 40 usando magia com -0.5 na fórmula:

0.5x10 = 5

5x40 = 200

Então se a fórmula for -0.5 e o magic level do player for 40 ele vai causar 200 de dano(não é certeza, a fórmula é mais ou menos essa...).

 

ja o -0.6 usado na fórmula é o máximo que ele pode causar, e usa a mesma fórmula anterior(multiplica ele por 10x e multiplica com o magic level do player)

 

E os dois zeros que estão ali não usam fórmulas, eles são: mínimo e máximo.

Exemplo:

Se a fórmula estiver assim:

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -50, 0, -150)

Ele vai causar um número entre 50 e 150(Exemplos:75, 90, 120, 140) no jogador/monstro.

 

Agora vamos para o penúltimo code:

local area = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
setCombatArea(combat, area)

Essa é a área afetada pela varinha(no caso esse é da flecha de fogo), como pode-se observar, ela tem 3 tipos de números, eles são:

0: não faz efeito da explosão(não apareçe ali porque a flecha de fogo usa toda área

1: área afetada pela magia

2: não sei :p

3: centro(aonde a magia vai fazer o efeito, não coloque o número 3 la no canto por exemplo que vai ficar tudo torta a magia :p .

 

De preferência se você for por área faça assim:

local area = createCombatArea
( { {1, 1, 1}, 
 {1, 3, 1}, 
 {1, 1, 1} } )
setCombatArea(combat, area)

 

Quer aumentar e não sabe? só você adicionar zeros e vírgulas.

Veja:

 

local area = createCombatArea
( { {1, 1, 1, 1, 1}, 
 {1, 1, 1, 1, 1}, 
 {1, 1, 3, 1, 1}, 
 {1, 1, 1, 1, 1}, 
 {1, 1, 1, 1, 1} } )
setCombatArea(combat, area)

 

Depois que terminar coloque como estava antes, tudo na mesma linha(igual aqui: ( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } ))

 

Nossa, que sofrimento pra faze :p

Tem mais uma parte

A parte em que você adiciona a varinha (não é fácil mas vale a pena xD Aquela parte era apenas os efeitos que a varinha vai produzir...)

 

Va na pasta do teu ot e entre na pasta \data\weapons e abra o arquivo weapons.xml.

La dentro vai aparecer mais ou menos assim:

 

<?xml version="1.0"?>
<weapons>

----------------- Sorcerer Wands -----------------
<wand id="2190" lvl="7" range="6" mana="2" enabled="1" script="wand of vortex.lua"><vocation name="Sorcerer"/><vocation name="Master Sorcerer"/><vocation name="Supreme Sorcerer"/></wand>
<wand id="2191" lvl="14" range="5" mana="3" enabled="1" script="wand of dragonbreath.lua"><vocation name="Sorcerer"/><vocation name="Master Sorcerer"/><vocation name="Supreme Sorcerer"/></wand>
<wand id="2188" lvl="21" range="4" mana="6" enabled="1" script="wand of plague.lua"><vocation name="Sorcerer"/><vocation name="Master Sorcerer"/><vocation name="Supreme Sorcerer"/></wand>
<wand id="2189" lvl="28" range="3" mana="10" enabled="1" script="wand of cosmic energy.lua"><vocation name="Sorcerer"/><vocation name="Master Sorcerer"/><vocation name="Supreme Sorcerer"/></wand>
<wand id="2187" lvl="35" range="2" mana="15" enabled="1" script="wand of inferno.lua"><vocation name="Sorcerer"/><vocation name="Master Sorcerer"/><vocation name="Supreme Sorcerer"/></wand>

------------------- Druid Rods -------------------
<wand id="2182" lvl="7" range="6" mana="2" enabled="1" script="snakebite rod.lua"><vocation name="Druid"/><vocation name="Elder Druid"/><vocation name="Druid of Wrath"/></wand>
<wand id="2186" lvl="14" range="5" mana="3" enabled="1" script="moonlight rod.lua"><vocation name="Druid"/><vocation name="Elder Druid"/><vocation name="Druid of Wrath"/></wand> 
<wand id="2185" lvl="21" range="4" mana="6" enabled="1" script="volcanic rod.lua"><vocation name="Druid"/><vocation name="Elder Druid"/><vocation name="Druid of Wrath"/></wand>
<wand id="2181" lvl="28" range="3" mana="10" enabled="1" script="quagmire rod.lua"><vocation name="Druid"/><vocation name="Elder Druid"/><vocation name="Druid of Wrath"/></wand>
<wand id="2183" lvl="35" range="2" mana="15" enabled="1" script="tempest rod.lua"><vocation name="Druid"/><vocation name="Elder Druid"/><vocation name="Druid of Wrath"/></wand>
<wand id="2453" lvl="50" range="3" mana="25" enabled="1" script="sprite wand.lua"><vocation name="Druid"/><vocation name="Elder Druid"/><vocation name="Druid of Wrath"/><vocation name="Sorcerer"/><vocation name="Master Sorcerer"/><vocation name="Supreme Sorcerer"/></wand>
<wand id="2433" lvl="100" range="5" mana="50" enabled="1" script="es.lua"><vocation name="Druid"/><vocation name="Elder Druid"/><vocation name="Druid of Wrath"/><vocation name="Sorcerer"/><vocation name="Master Sorcerer"/><vocation name="Supreme Sorcerer"/></wand>

------------ Paladin Spears and Arrow ------------
<distance id="2545" range="6" enabled="1" exhaustion="0" hitchance="70" ammo="removecount" script="poison arrow.lua"></distance>
<distance id="2546" range="6" enabled="1" exhaustion="0" hitchance="60" ammo="removecount" script="explosive arrow.lua"></distance>

</weapons>

 

Veja bem como que faz:

 

<wand id="2182" lvl="7" range="6" mana="2" enabled="1" script="nome do arquivo que você fez.lua"><vocation name="Druid"/><vocation name="Elder Druid"/><vocation name="Sorcerer"/><vocation name="Master Sorcerer"/></wand>

 

Onde ta de cor vermelha você adiciona o id da sua varinha.

Onde ta de azul você adiciona o nível pra poder usar a varinha.

Onde ta de cor roxa coloque a distância que a varinha consegue alcançar.

Onde ta de cor laranja é a mana que gasta pra usa a varinha.

E o que ta de verde é o nome do arquivo que você fez.

 

Salva e os arquivos e da restart no ot, pronto...

 

Finished :D

Meu deus, vocês não imaginam o trabalho que me deu fazer isso, passei umas 2 horas aqui pra fazer, espero que ajudem vocês a fazer varinhas novas, ahh sim, to me esquecendo...

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -60, 0, -70)

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

 

Esse é o code da wand of inferno, reparem nisso aqui:

 

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -60, 0, -70)

 

A varinha causa de 60 a 70... vocês podem mudar ela colocando -100 e -200, dai la no \data\weapons\weapons.xml vocês colocam mana="20" pra gastar mais mana e talz...

 

Espero que tenha ajudado vocês, que sufoco :unsure: :lol:

 

Valew pra todos

 

Espero que gostem do tópico

 

Grato

Guilherme OTmaster

Link para o comentário
Compartilhar em outros sites

Tuto perfect, vlw memo.

soh uma pergunta , que eu fiz em todos os posts que eu li e respondi:onde voce baixo o ot tipow evolutions ou yourotz, soh uma ajudinha, se alguem souber invia pelo msn ok vlws : Marcel_aoki@hotmail.com

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

Olá Xtibiano,

 

Parabéns, seu tutorial foi aprovado.

 

Estarei movendo ele para a área de tutoriais.

 

Obrigado por trazer conteúdo para o Xtibia.com e espero que continue com o ótimo trabalho.

 

 

Atenciosamente,

JV Chequer *Diretor Xtibia.com*

Link para o comentário
Compartilhar em outros sites

  • 4 months later...
×
×
  • Criar Novo...