==> Para total aproveitamento, melhor ja ter uma idéia basica sobre lua, functions e spells.
Bem, esse tutorial ensina a criar armas com efeitos de área e mostra outras possibilidades quando o assunto é weapons...
Tirei essas ideias de umas magias e armas do DOTA do Warcraft, vou ensinar primeiramente a criar uma arma que tenha 25% de chance de dar um dano de fogo de 4 squares a suas frente..:
Arma com dano de fogo (4 squares)
- Você deve ter em mãos o arquivo weapons.lua (data\weapons\weapons.lua) e um script qualquer na pasta script dessa mesma pasta (data\weapons\script\QualquerScript.lua).
*Abra o weapons.lua e procure a arma que você deseja, nesse caso eu escolhi uma fire sword (2392):
</melee>
<melee id="2392" level="30" unproperly="1" function="default">
<vocation name="Knight"/>
</melee>
(mais tarde eu volto a falar disso)
*Abra também o script que você escolheu, no meu caso eu peguei o da burst arrow (explosive_arrow.lua):
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 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
*Renomeie esse script de modo que fique assim:
Para que conhece um pouco sobre essa parte é facil entender, mas eu vo esplicar uns detalhesinhos.
- A parte em italico se refere ao ataque normal da arma (no caso dano fisico simples, sem efeito)
#Nota - eu usei duas variaveis, combat e combata para separar as formulas do ataque normal e o modificado (isso vai ser usado mais tarde)
- Em verde eu coloquei o tipo de dano ("COMBAT_PHYSICALDAMAGE" que pode ser trocado por algum outro, escolhi o dano fisico porque quase todos os monstros do tibia não são imunes e ele) e o tipo de efeito nos squares (CONST_ME_FIREAREA que pode ser substituido por outro efeito como por exemplo p da SD (dai é só abrir o scrip da SD e copiar essa parte))
- A parte vermelha representa a area do efeito especial que a arma vai dar (não vou entrar em detalhes nessa parte pois ja existem muitos tutoriais que explicam sobre essas areas, qualquer coisa olhe algum tutorial de spells)
- Após a area, temos a nossa função e em azul escuro os numeros que determinarão a chance de a cada ataque realizado dar esse efeito/ataque especial...
>>>Idéia do Script
Entendido isso tudo, percebe-se que são criados 2 tipos de ataques, 1 normal (fisico) e o outro magico (dano especial), é a cada ataque com aquela espada é chamada a função, e nela é determinado um numero de 0 a 20 e caso ele seja igual ou menos a 5 (25%) o segundo ataque (magico) acontecerá, no caso de esse numero ser maior ocorrera o ataque normal.
*(salve o arquivo com o nome que desejar, no meu caso salvei como fire sword.lua)
- Continuando o tutorial, após você ter feito as modificações que queria (ou não) vamos terminar de editar a espada, abra na parte que se encontra a sua espada (fire sword, 2392) e reescreva dessa maneira:
- Caso queria que mais vocações possam utilizar o item adicione mais uma linha, copie a linha anterior e cole, retire a barra / entre as aspas " e o simbolo de maior > do script anterior, pois essa barra determina o final das vocações, o meu script ficou assim:
<melee id="2392" level="45" script="fire sword.lua">
<vocation name="knight">
<vocation name="paladin"/>
- Após terminado isso, apenas abra o arquivo item.lua (data/items/items.lua) e edite a parte da sua arma do jeito que você quiser (lembre-se que o dano magico será o mesmo do dano normal e não dano modificado por ml ou coisas do gênero).
==> Arma Concluída
- Você deve ter percebido que são inumeras as possibilidades de use de espadas, eu por exemplo ja enchi o meu servidor delas, alguns exemplos muitos legais são:
*Armas com 2 tipos de ataques - Onde ela da dano de longe ou de perto dependendo a distancia (no caso de longe ela lança SDs e de perdo da um ataque fisico normal) e seus danos são modificados (dano magico a distancia baseado no ML e de perto no skill que eu escolhi).
*Armas com efeitos magicos - São armas que tem uma % de causar algum buff (magia duravel) em você, como por exemplo o paralize ou o estado de fogo (quando você passa por um fire field), etc...
*Arma com dano critico de 2 vzs ou + - Para fazer essa é bem simples, apenas coloque duas vezes ou mais (dependendo do quanto você quer que seja multiplicado) o parte que diz:
#Nota - para um efeito melhor coloque uma chance para esse dano, uma idéia legal é colocar varias chances, por exemplo uma arma que tenha 30% de dar dano duplo, 20% de dano triplo e 10% de dano quadruplo
- Eu não irei colocar todos os tipos pois são muitas e o meu objetivo aqui não é dar na bandeja os scripts, meu deseja é que façam igual a mim que fui atrás para entender lua e todo o resto e em alguns meses depois ja consegui fazer meu server ser muito popular, essa é a razão pelo qual não estarei colocando os scripts das outras armas.
- Uma vez entendido a base, o resto da construção é com você, não se esqueça que tudo que estiver depois da fução será ativado quando o jogador atacar, então abuse muito das funções, pois até summons você pode colocar.
*Esse foi meu primeiro tutorial, desculpa se não foi muito bem explicado ou faltou alguns detalhes, irei melhorar nos meus proximos tutoriais.
*Espero ter ajudado quem precisava...
Abraços =D
<<<DarkSaga>>>