Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Armas modificadas


suportec5
 Compartilhar

Posts Recomendados

Bem, esse tutorial ensina a criar armas com efeitos de área e mostra outras possibilidades quando o assunto é weapons...

 

Tirei essas idéias 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 sua 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):

 

É necessário se cadastrar para acessar o conteúdo.

 

*Abra também o script que você escolheu, no meu caso eu peguei o da burst arrow (explosive_arrow.lua):

 

É necessário se cadastrar para acessar o conteúdo.

 

*Renomeie esse script de modo que fique assim:

 

local combat = createCombatObject()

 

setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)

setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

 

local combata = createCombatObject()

 

setCombatParam(combata, COMBAT_PARAM_BLOCKARMOR, 1)

setCombatParam(combata, COMBAT_PARAM_BLOCKSHIELD, 1)

setCombatParam(combata, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combata, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)

setCombatFormula(combata, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

 

local area = createCombatArea( { {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 3, 0} } )

setCombatArea(combata, area)

 

function onUseWeapon(cid, var)

local chance = math.random(0, 20)

if (chance <= 5) then

return doCombat(cid, combata, var)

else

return doCombat(cid, combat, var)

end

end

 

Para que conhece um pouco sobre essa parte é facil entender, mas eu vou explicar uns detalhezinhos.

 

- A parte em itálico se refere ao ataque normal da arma (no caso dano físico simples, sem efeito)

#Nota - eu usei duas variáveis, 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 físico 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 substituído por outro efeito como por exemplo p da SD (dai é só abrir o script da SD e copiar essa parte))

 

- A parte vermelha representa a área do efeito especial que a arma vai dar (não vou entrar em detalhes nessa parte pois já existem muitos tutoriais que explicam sobre essas áreas, qualquer coisa olhe algum tutorial de spells)

 

- Após a área, temos a nossa função e em azul escuro os números 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 (físico) e o outro mágico (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 (mágico) 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:

 

<melee id="2392" level="20 (level necessário para utilizar o item/espada)" script="fire sword.lua (ou o nome que você renomeou o seu script)">

<vocation name="(nome da vocação que pode utilizar o item/espada)"/>

 

- Caso queria que mais vocação pudesse utilizar o item adicione mais uma linha, copie a linha anterior e cole, retire a barra / entre as aspas " e o símbolo de maior > do script anterior, pois essa barra determina o final das vocações, o meu script ficou assim:

 

É necessário se cadastrar para acessar o conteúdo.

 

- 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 mágico será o mesmo do dano normal e não dano modificado por ml ou coisas do gênero).

 

==> Arma Concluída :D

 

- Você deve ter percebido que são inúmeras as possibilidades de use de espadas, eu por exemplo já 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 físico normal) e seus danos são modificados (dano mágico a distancia baseado no ML e de perto no skill que eu escolhi).

 

*Armas com efeitos mágicos - São armas que tem uma % de causar algum buff (magia durável) 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 vezes ou + - Para fazer essa é bem simples, apenas coloque duas vezes ou mais (dependendo do quanto você quer que seja multiplicado) a parte que diz:

 

return doCombat(cid, combat, var)

#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 quádruplo

 

- 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ça igual a mim que fui atrás para entender lua e todo o resto e em alguns meses depois já 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 função será ativado quando o jogador atacar, então abuse muito das funções, pois até summons você pode colocar.

 

 

 

Creditos : DarkSaga

Link para o comentário
Compartilhar em outros sites

Parabéns pelo tópico.. Como já disse você vai longe...

 

Como coloca os summons para atacar como se tivesse com determinada arma? Tipo, Monk atacando Fire.. ( criei um monk vermelho, e queria modificar o tipo de ataque dele... Se você poder me ajuda, agradeço.. )

Link para o comentário
Compartilhar em outros sites

Parabéns pelo tópico.. Como já disse você vai longe...

 

Como coloca os summons para atacar como se tivesse com determinada arma? Tipo, Monk atacando Fire.. ( criei um monk vermelho, e queria modificar o tipo de ataque dele... Se você poder me ajuda, agradeço.. )

 

Claro !

 

Se possível, me encaminhe um e-mail com as dúvidas, que ajudarei com o maior prazer !

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.