Apenas para pokemon dash.
Ola galera, vim aki fazer um tutorial que acredito que muitos estão atras.
Aki eu irei por como voce pode add novas balls no Pokemon Dash.
Bem primeiro de tudo ira precisar de otitemeditor 0.3.7,map editor e conheçimento em mexer
nesses arquivos citados alem de saber mexer em script.Bem Vamos la:
Abra o remeres com o client que voce quer.Apos isso procure item por item
Ate achar as pokebolas juntaveis acesa e apagada.
Feito isso abra o otitemeditor 0.3.7 e procure os itens que voce achou no map editor
Note que tera opçoes e tera uma sequencia numerica embaixo da foto do item e do lado
Do CID Anote o numero e veja qual item é
Apos ter feito isso com as pokebolas que irao dar catch,soltar poke,puxar o poke e a que sera
Usada para reviver na nurse, va no menu tools ainda no itemeditor e add 4 novos items.
Va no 1 item dai va no item em CID e ponha o numero que voce add para a pokebola que
Dara catch, e marque Useable e Pickupable.
Agora va no 2 item que você add ponha em CID o numero que voce anotou para pokebola acesa
E marque a opção Pickupable
Agora o 3 item que sera a ball apagada que puxara o poke va em CID e ponha o numero da pokebola apagada
Que voce anotou e marque a opção Pickupable e Not Moveable
Agora 4 e ultimo item o que sera usado na Nurse Joy Add em CID o mesmo numero que add no 3 item, mas nas opções
Marque apenas Pickupable.
1 Parte Foi Feita agora 2 parte.Envolve Script agora.
Va na pasta do seu server e em data\actions\scripts Abra seu catch e add o seguinte
elseif item.itemid == XXX then--Id da pokebola que sera usada para capturar
catchrate = 2--Chance ao usar essa pokebola
oncatch = 198--Effect da pokebola rodando pra la e praca e fikando verde
onfail = 197--Effect da pokebola rodando pra la e praca e falhando
bolabola = 2652--pokebola que sera usada para liberar o poke ou seja a ball acesa
Pronto agora salve e feche e abra o seu goback.
e add isso:
elseif item.itemid == AC or item.itemid == AP then--AC Pokebola Acesa, AP pokebola apagada
gobackeff = 193--Effect da hora que ira puxar o poke pra fora ou pra dentro da ball
Agora desca um poco ira achar essa linha
if item.itemid == 2223 or item.itemid == 2221 then
Antes de then add
or item.itemid == XXX --XXX id da pokebola apagada
Fikando Assim:
if item.itemid == 2223 or item.itemid == 2221 or item.itemid == XXX then--XXX id da ball apagada
Agora desca mais um poco ira ter outro do decima mais com outros ids das pokebolas acesas assim
elseif item.itemid == 2222 or item.itemid == 2220 then
ADD or item.itemid == XXXAntes de then fikando assim
elseif item.itemid == 2222 or item.itemid == 2220 or item.itemid == XXX then--XXX id da ball acesa
Pronto Salve e feche.
Va na pasta do seu server\Data\Actions e abra Actions.xml E procure por goback
e add o seguinte codigo depois do ultimo numero ;XXXAC;XXXAP ---XXXAC é id da ball acesa e XXXAP o id da ball apagada
Agora procure por catch e add o seguinte depois do ultimo numero:
;XXXCA---XXXCA id da ball que sera para dar catch
E procure por fainted e add
;XXXDE ---XXXDE o id da ball que é a que sera usada para reviver.
Agora salve e feche e va na pasta do seu server data\creaturescripts\scripts
E abra login.lua
E procure por
if getPlayerItemCount(cid, ultrapokeout) >= 1 and getPlayerStorageValue(cid, 61207) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 63215) <= 0 then
local item = getPlayerItemById(cid, TRUE, ultrapokeout)
doTransformItem(item.uid, ultrapokein)
doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke") .. " HP = ["..getPlayerStorageValue(cid, 61205).."/"..getPlayerStorageValue(cid, 61206).."]")
end
E add abaixo disso isso
if getPlayerItemCount(cid, greatpokeout) >= 1 and getPlayerStorageValue(cid, 61207) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 63215) <= 0 then
local item = getPlayerItemById(cid, TRUE, greatpokeout)
doTransformItem(item.uid, greatpokein)
doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke") .. " HP = ["..getPlayerStorageValue(cid, 61205).."/"..getPlayerStorageValue(cid, 61206).."]")
end
Expilação Greatpokeout e Greatpokein sao nomes na lib que depois irei mostrar como add no proximo passo.
Bem mude apenas o que esta em verde greatpokeout é ball apagada e greatpokein ball acesa
Mude o great para outro nome por exemplo super ou great ou master ou safari ou outro qualquer.
Pronto feito isso salve e feche.
Agora va na pasta do seu server\data\lib e abra pokelib logo ao abrir ira apareçer isso:
pokein, pokeout = 2222,2223
ultrapokein, ultrapokeout = 2220, 2221
se voce estiver usando pokemon dash com apenas duas balls
Add embaixo de ultrapokein, ultrapokeout = 2220, 2221
isso NOMEpokein, NOMEpokeout = 2652, 2653---NOMEpokein é o id da ball acesa e NOMEpokeout o id da ball apagada para voce nao bugar com o pokemon para fora é necessario seguir o passo do creaturescripts
ai emcima e eu disse que era pra mudar o GREAT para outro nome e bem agora no NOME voce poem o nome que escolheu
no login.lua
Feito isso salve e feche.
Agora volte na pasta creaturescripts/scripts e abra o goback.lua
Feito isso procure por
if getPlayerSlotItem(owner, 8).itemid == 2220 or getPlayerSlotItem(owner, 8).itemid == 2221 then
doSendMagicEffect(getCreaturePosition(cid), 191)
E add embaixo
elseif getPlayerSlotItem(owner, 8).itemid == 2222 or getPlayerSlotItem(owner, 8).itemid == 2223 then
doSendMagicEffect(getCreaturePosition(cid), 10)
Explicação:2222 é o id da ball acesa 2223 apagada e dai no 10 é o effect do poke voltando pra pokebola.Agora desca um poco voce ira achar isso:
if getPlayerSlotItem(owner, 8).itemid == 2220 or getPlayerSlotItem(owner, 8).itemid == 2221 then
doTransformItem(getPlayerSlotItem(owner, 8).uid, 2227)
Add embaixo
elseif getPlayerSlotItem(owner, 8).itemid == 2222 or getPlayerSlotItem(owner, 8).itemid == 2223 then
doTransformItem(getPlayerSlotItem(owner, 8).uid, 2224)
Explicação mesma coisa do de cima mas em 2224 é o id da ball
que sera transformada na que sera o pokemon morto.
Ultimo passo Para curar as pokebolas.
Va na pasta do seu server\data\npc\script e abra o script da sua nurse joy que cura seus pokemons
E logo ira apareçer
local pokeballs = {'2222', '2224'}
local ultraballs = {'2220', '2227'}
Add embaixo local testballs = {'AC', 'RE'} ---Explicação, AC é o id da pokebola acesa e RE o id da pokebola com pokemon morto
Apos feito isso procure por isso
if isInArray(pokeballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))
doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))
doTransformItem(feet.uid, 2222)
end
Apos achar isso add embaixo
if isInArray(testballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))
doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))
doTransformItem(feet.uid, XXX)---Id da ball acesa
end
Obs:Os ids da balls devem ser seguidos
EX:
Acesa:1689
Apagada:1690
Ja a que é usada para ser usada na nurse
Pode variar o id:1735
Pronto salve e feche e Nao esqueça do REP+ em
Creditos apenas meu e nao poste em outro forum sem minha permissao.