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
Spoiler
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
Spoiler
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
Spoiler
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)
Spoiler
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
Spoiler
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
Spoiler
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