Ola galera hoje trago para vocês um tutorial de como adicionar novas spells aos pokemons em um servidor 'PDA'...
Tutorial feito a pedido do usuario: @josegremista
Importante: Antes de começar gostaria de deixar claro que criar uma nova spell em um servidor de pokemon eh totalmente diferente que criar uma spell em um servidor de tibia, as spells de pokemon são criadas em lib/pokemon moves.lua e não na pasta spells como no tibia... A pasta spells vai simplismente 'chamar' as spells feitas na pasta lib.
Vão em lib/pokemon moves.lua e achem isso..
Caso estejam usando meu servidor:
--/////////////////////// PASSIVAS /////////////////////////--Caso usem outro tipo de 'PDA', vão ao final do script e achem isso:
end return true end
E entao adicionem um outro 'elseif'...
elseif spell == "xxxx" thenOnde "xxxx" é o nome da nova spell...
E então embaixo disso, criem o script da nova spell..
Exemplo:
local pos = getThingPosWithDebug(cid) doMoveInArea2(cid, 91, inferno1, FIREDAMAGE, 0, 0, spell) addEvent(doDanoWithProtect, math.random(100, 400), cid, FIREDAMAGE, pos, inferno2, -min, -max, 0)
Importante: Caso usem meu servidor, aconcelho a olharem o arquivo lib/newStatusSyst.lua, la estão todas as funções de dano do servidor...
Importante: Não coloquem areas de spells nesse arquivo! As areas de spells devem ser colocadas em lib/areas.lua, para deixar o outro script mais organizado...
Depois de criado o script da spell, vão em lib/configuration.lua e achem a tabela movestable, e então adicionem a nova spell nos pokes q vocês quiserem...
No meu 'PDA' usem:
move1 = {name = "xxxx", level = aa, cd = bb, dist = cc, target = dd, f = ee, t = "yyyy"},Onde:
"xxxx" = nome da spell, aa = level que o poke/player precisa ter para usar a spell, bb = cd, tempo de espera, para usar a spell denovo, cc = distância minima que o poke tem q tar pra usar a spell, dd = coloquem 1, caso precise ter um target pra usar a spell, ou coloquem 0, caso não precise de target pra usar a spell, ee = esse é o 'dano' da spell, esse valor vai ser usado na formula final de dano de cada spell -caso seja uma spell que não tem dano coloquem 0-, "yyyy" = é o 'tipo' da spell -"grass", "water", "fire"...-
Caso usem outro tipo de 'PDA' usem:
move1 = {name = "xxxx", level = aa, cd = bb, dist = cc, target = dd},Onde:
"xxxx" = nome da spell, aa = level que o poke/player precisa ter para usar a spell, bb = cd, tempo de espera, para usar a spell denovo, cc = distância minima que o pokemon tem que tar pra usar a spell, dd = coloquem 1, caso precise ter um target pra usar a spell, ou coloquem 0, caso nao precise de target pra usar a spell
Importante: caso usem outro tipo de 'PDA' o dano e o 'tipo' da spell ficam em lib/moves.lua...
["xxxx"] = {f = aa, t = "yyyy"},Onde:
"xxxx" = nome da spell, aa = esse é o 'dano' da spell, esse valor vai ser usado na formula final de dano de cada skill -caso seja uma skill que n]ao tem dano coloquem 0-, "yyyy" = é o tipo da spell -"grass", "water", "fire"...
Depois de feito isso, vão em spells/ps/ e copiem algum arquivo la e mudem o nome para o nome da sua nova spell e depois abram esse arquivo e mudem isso:
docastspell(cid, "xxxx")Onde "xxxx" é o nome da spell...
Depois abram o arquivo spells/spells.xml e adicionem uma nova linha...
<instant name="xxxx" words="yyyy" lvl="1000" mana="0" event="script" value="ps/xxxx.lua"></instant>Onde:
"xxxx" = nome da nova spell, "yyyy" = vocês colocam "spellYYY" onde "YYY" eh o proximo numero em sequencia, olhem a ultima spell adicionada q vocês vão intender...
E por ultimo, vão em monster/pokes/ e adicionem a spell nos pokemons que vocês quiserem...
<attack name="xxxx" interval="yyyy" chance="zzzz" range="aaaa"/>Onde:
"xxxx" = nome da spell, "yyyy" = de quanto em quantos, milésimos de segundos -1s = 1000-, o pokemon tentara usar a spell, "zzzz" = a chance do pokemon conseguir usar a spell, "aaaa" = distância minima pro pokemon começar a usar a spell
Pronto, espero q vocês gostem do tutorial. Qualquer erro ou se faltou alguma coisa me avisem para eu editar o post ^^