Gente,peço que vcs postem o que acharam,porque realmente desanima
trazer um tuto desse tamanho,separar,por cor,code,tudo bonitinho, e vcs
só olharem e irem embora!
Tutorial meu basiado no tutor do lucas, creditos a mim e a ele.
--------------------------------------
Aprenda a fazer seus próprios Monstros, Spells e NPC
Basicamente scripts sao o conjunto dos códigos que formam os arquivos de players, monster, spells, etc.
Nesse
tutorial vou ensinar tudo, pra vc sair daqui fazendo monstros, spells e
tudo mais. E se no final houver alguma duvida poste aqui que serei
grato em ajudar. 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
Spell criada, vamos passar para o Monstro que usara esta spell
Crie um arquivo .xml com um nome qualquer na pasta Data>Monsters
CODE
name="The Flash" level="500" maglevel="70" experience="1000"
pushable="0" armor="80" defense="90" canpushitems="1" staticattack="50"
changetarget="200" speed="100000">