bom tuto, rep +
- Fórum
- xTibia - Notícias e Suporte
- Tutoriais para Iniciantes
- Entendendo Scripts,Rune,Spells,Monsters
KA
Entendendo Scripts,Rune,Spells,Monsters
Por kaiotp, 13 de abr. de 2013 em Tutoriais para Iniciantes
entendendo
scripts
rune
spells
monsters
xtibia
tutorial
script
5.0 (1)
5
1.8k
13 de abril de 2013 às 23:47
info
Grupo: Infante
Registrado: 27/01/13
Posts: 1.7k
Reputação: +104
Gênero: Masculino

13 de abril de 2013 às 23:51
Na boa tente usar spoilers e codes
info
Grupo: Cavaleiro
Registrado: 25/02/13
Posts: 169
Reputação: +42
Gênero: Masculino
Char no Tibia: Fodinha

14 de abril de 2013 às 11:48
Ok..Obrigado
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

16 de abril de 2013 às 13:37
Aqui:
http://www.xtibia.com/forum/topic/210470-leia-conhecendo-o-editor/
Aprenda a mexer no editor e melhore o tópico, você tem 4 dias.





info
Grupo: Cavaleiro
Registrado: 25/02/13
Posts: 169
Reputação: +42
Gênero: Masculino
Char no Tibia: Fodinha
Neste Tutorial existem varios comandos básicos, bons
para iniciantes, parte por parte é explicada, visando um maior
entendimento sobre o assunto.
Vamos lá!
SPELLS
Primeiro vamos falar sobre as spells
Existem
as spells de instant e as spells de rune, as spells de instant sao
aquelas em q o monstro usa nele, e as de runa ele vai usar em vc. Entao
a primeira coisa que precisamos fazer é decidir se vamos fazer uma
spell de runa ou de instant, vou mostrar aqui apenas um exemplo, se nao
o topico ficara muito grande. Vamos começar, seguindo um exemplo de uma
magia minha:
Primeiro, crie um arquivo chamado crossover.lua, na pasta Data>Spells>Instant
Começamos o script com isso:
CODE
area = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
Essa
é a area em que a magia ira pegar, o numero 0 simboliza os espaços que
a magia nao pega e os numeros 1, os lugares onde acontecerá a magia, no
exemplo acima, é uma magia em forma de cruz
Pulamos entao uma linha e acrescentamos isso:
CODE
attackType = ATTACK_PHYSICAL
needDirection = false
areaEffect = NM_ME_YELLOW_RINGS
animationEffect = NM_ANI_NONE
hitEffect = NM_ME_HIT_AREA
damageEffect = NM_ME_DRAW_BLOOD
animationColor = BLACK_WHITE
offensive = true
drawblood = true
Vamos às explicações:
attackType = o tipo de ataque que será, no exemplo será um ataque fisico, mas tbm poderia ser um ataque de fogo, ou de energy
needDirection = se o ataque precisa de direção, como as firewaves
areaEffect = o tipo de animação que saira na area na magia
animationEffect = a animação de quando o player sofrer dano da magia
damageEffect = o efeito que saira quando o player receber o dano
animationColor = a cor da animação da Magia
offensive = se a magia é de ataque ou nao
drawblood = se embaixo do player vai sair sangue quando ele receber a magia
Explicado, pulamos uma linha e adicionamos:
CODE
UltimateExplosionObject
= MagicDamageObject(attackType, animationEffect, hitEffect,
damageEffect, animationColor, offensive, drawblood, 0, 0)
Essa é a função que fara com q oq explicamos acima funcione, pulamos outra linha e acrescentamos:
CODE
function onCast(cid, creaturePos, level, maglv, var)
centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z}
n = tonumber(var)
if n ~= nil then
-- bugged
-- ultimateExplosionObject.minDmg = var+0
-- UltimateExplosionObject.maxDmg = var+0
UltimateExplosionObject.minDmg = 0
UltimateExplosionObject.maxDmg = 0
else
UltimateExplosionObject.minDmg = (level * 2 + maglv * 3) * 2.6 - 30
UltimateExplosionObject.maxDmg = (level * 2 + maglv * 3) * 3.0
end
Essa é a fórmula do Dano que o player irá tomar ao receber a magia, agora pra finalizar adiconamos:
CODE
return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, UltimateExplosionObject:ordered())
end
Pronto ja terminamos nossa primeira spell, agora para faze-la funcionar precisamos acrescenta-la aou arquivo spells.xml
vamos lá, na pasta Data>Spells abra o arquivo spells.xml e na sessao de INSTANT, acrescente esta linha:
CODE
spell
name="CrossOver" words="crossover" maglv="12" mana="160"
enabled="1">/>
Explicando:
spell name = nome da magia (pode ser qualquer um)
words= as palavras magicas que terao que ser ditas pra magia funcionar (tem q ser igual ao nome do script da magia)
magvl= maglv necessario para usar essa magia
mana= mana que será gasta
enabled = se a magia esta abilitada ou nao
vocation id = para quais vocações essa magia funcionará, no caso acima ela so funciona pra sorc e druid
------------------
MONSTERS
Spellls Spell criada, vamos passar para o Monstro que usara esta spell
Crie um arquivo .xml com um nome qualquer na pasta Data>Monsters
CODE
Creditos;
Kaiotp
Editado Abril 13 por kaiotp