Eae galerinha do xtibia, vim aqui hoje para ensinar uma coisa simples, mas que muitos nao sabem, e queriam aprender de uma forma bem facil. Vou ensinar á criar spells básicas de damage, de area, e alvo unico... Primeiro, irei ensinar uma de alvo unico.
Vá em data/spells/scripts copie um arquivo .lua e renomeie para o que desejar:
Verde: é o tipo do dano, seja physical, fire, earth, ice, energy, lifedrain, manadrain, etc...
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 22)
Vermelho: é o numero do efeito que irá até o alvo, voce pode escolher usando o comando "/x"
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -120.2, 1, -125.2, 1)
Roxo: é o dano minimo, e maximo da spell. Baseado no level.
doSendMagicEffect(position1, 196)
Azul claro: Efeito que vai dar no target, quando o efeito "22" bater nele, voce pode escolher pelo comando "/z"
E agora, vamos colocar sua spell no spells.xml:
<instant name="Nome da spell" words="Nome da spell" lvl="Level necessario" mana="mana que ira gastar" aggressive="1" range="7" blockwalls="1" needtarget="1" exhaustion="1500" needlearn="0" event="script" value="Nome do arquivo.lua">
<vocation id="id da vocaçao"/>
Agressive: se for para dar dano coloque "1" se nao for apra dano coloque "0"
Blockwalls: se o jutsu pode atravessar paredes coloque "0", se nao atravessar coloque "1"
Needtarget: se precisa estar atacando coloque "1" se nao, coloque "0"
Exhaustion: Tempo de exalst, 1500 = 1,5 segundos.
Bem, fazendo tudo isso certinho, sua spell estará pronta, agora vou explicar uma spell simples de area.
----------------------------------------------------------------------------------------------
Copie qualquer arquivo, e renomeie para o que desejar. Vou utilizar um script bem simples que eu criei agora, só para demonstraçao.
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -93.5, 1, -106.5, 1)
arr1 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
}
local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)
local function onCastSpell1(parameters)
return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end
function onCastSpell(cid, var)
local position1 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
return TRUE
end
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
Essa parte, como expliquei na spell anterior, apenas mude o tipo de dano, á seu gosto.
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214)
Aqui, voce muda o efeito, que está o numero 214, voce pode modificar, vendo os numeros pelo comando "/z"
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -93.5, 1, -106.5, 1)
Aqui, voce escolhe dano minimo e máximo, baseado no level.
arr1 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
}
Essa seria a area da spell, os numeros:
3: local onde o player que executou a spell irá estar. (sempre no meio)
1: local onde sairá a spell, ou seja, onde ira sair o efeito, e ira dar dano.
0: nao sairá nada
Agora, vamos coloca a tag da spell em spells.xml:
<instant name="Nome da spell" words="Nome da spell" lvl="level necessario" needtarget="0" mana="mana que ira gastar" aggressive="1" exhaustion="1600" needlearn="0" event="script" value="Nome do arquivo.lua">
<vocation id="id da vocaçao"/>
O resto ja expliquei na spell anterior.
Bem galera, por enquanto é isso, muito simples né.. Estou aceitando criticas e dicas para o topico, que eu estarei editando... e, em breve farei um tutorial mais aprofundado .... Se gostou nao esqueça de deixar seu rep
24 vocações (entre elas 4 obtidas atraves de quest) a naruto, a sasuke, a lee, a sakura, a gaara, a neji, a kiba, a Shikamaru, a hinata, a tenten, a itachi, a killer bee, a kakashi, a Madara [Quest], a Kankuro, a Minato [Quest], a Jiraya [Quest], a Obito, a Kisame, Raikage, Orochimaru, Temari, Yamato, Deidara
Quest e sistemas:
Todas as quests normais de NTO, e a de vocação que eu criei e uma outra( surpresa hihihi) sistemas novos de: Skull remover,bingo book,mega pill, (sistema que o personagem come uma pilula e fica com skill e ml maior por um determinado período de tempo), Max level mas é regulável e até da pra tirar.
correção de todos os bugs existem apenas um que eu não consegui resolver:
Avisos: A DB não aceita exclusão de algumas contas então basta você pegar uma DB de outro servidor limpa e coloca no lugar.
Créditos:
Jesteer -Edições No Servidor em Geral.
Robinhood - Criador Do Servidor. Enself - Edições No Servidor em Geral. Bennyyw - Layout Web Site Junior001 - Algumas Sprites Massas. Darkheel -- Criou a outfit do Raikage.
V2 update.
adicionado:
Download
http://www.mediafire.com/download/c832fhv7i6r2kdc/naruto.sql (naruto DB MYSQL)
http://www.mediafire.com/download/nd7hh0a0o1000ow/htdocs.rar (site)
http://www.mediafire.com/download/m88n0z0klwtuzuz/Shinobi_Adventure_client.exe(client com musica)
http://www.mediafire.com/download/g8z933186sntw2e/NtoShinobi.rar (servidor V2)
http://www.mediafire.com/download/ocmhwgistkfw243/shinobi_adventure_option_2.exe(client comum)
Eae galera do xtibia, aqui estou eu de novo trazendo um novo tutorial... dessa vez, vou ensinar á fazer algumas coisas, que foi muito dificil encontrar, quando eu estava tentando aprender... isso quando eu encontrava né... Vou ensinar á voces, como criar uma vocaçao, colocar transformaçoes, para narutibia. Vou tentar explicar de uma forma simples, para que os iniciantes entendam.
Primeiro, vamos imagina uma vocaçao.. ex: Konan. Quando voce for criar ja tem que saber quantas transformaçoes irá colocar nela. Digamos que seja 6 transformaçoes.
Vá em data/xml/vocations.xml.
Ja que vamos colocar 6 transformaçoes, teremos que criar 7 tags para a vocaçao, como podem ver á cima, na primeira tag, o VocationId e o FromVoc deverao ser iguais, na segunda tag só aumenta 1 numero no VocationID, e do terceiro em diante, aumenta 1 numero nos dois. Isso sera necessario, porque a primeira tag nao irá valer de nada.
Ok, fazendo essa parte corretamente, sua vocaçao estará pronta. Agora vou explicar a parte de ajeitar as transformaçoes.
Vá em data/talkactions/scripts/transformar.lua
Essa parte Voce irá adicionar no final do script, vou explicar para que cada numero serve, e o que é.
650,651,652,653,654,655 = sao apenas exemplos, esses numeros voce deverá colocar de acordo com o seu script, digamos que a ultima transformaçao que tem la, tem o numero "430" na primeira da sua voce deverá colocar "432" e assim por diante...
50,100,150,200,250,300 = É o level necessario para a transformaçao de cada linha.
651,652,653,654,655,656 = É os Ids da vocaçao, lembra que na explicaçao de criar a vocaçao, eu disse que deveria ter 7 tags, pois a primeira n vale de nada, entao, aki na parte das transformaçoes, voce começa pelo VocationID da segunda tag, até o final...
557,558,559,560,561,562 = Sao os numeros das newtypes da vocaçao, nao esqueça de fazer na ordem certa.
E por ultimo, os numeros 10, que seria o efeito que vai sair no player quando ele transformar, voce pode mudar de acordo com os numeros do comando "/z".
Bom galera, por ai termina o tutorial, caso tenham feito tudo certa, nao ocorrera nenhum erro, e espero que tenham aprendido. Brevemente irei ensinar á fazer spells basicas para narutibia.. Até a proxima!
Gostou do meu tutorial? Deixe seu rep+
Quem Está Navegando
0 membros estão online
Nenhum usuário registrado visualizando esta página.