Ir para conteúdo

Featured Replies

Postado

alguem podeeria me ajuda meu servidor de poketibia nao contabiliza a pokebolas se tenho 100 e uso 1 ela nao desce para 99 magu ball yumo poderia me ajuda

catch do actions

local ballcatch = { --id normal, id da ball shiny

[2394] = {cr = 40, on = 24, off = 23, ball = {11826, 11737}, send = 47, typeee = "normal"},

[2391] = {cr = 45, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great"},

[2393] = {cr = 50, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super"},

[2392] = {cr = 55, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra"},

[16458] = {cr = 55, on = 258, off = 259, ball = {16459, 16462}, send = 58, typeee = "magu"},

[16465] = {cr = 55, on = 261, off = 262, ball = {16466, 16469}, send = 59, typeee = "sora"},

[16472] = {cr = 55, on = 264, off = 265, ball = {16473, 16476}, send = 60, typeee = "yume"}, -- CORRIGIDO: Invertido de (16476, 16473) para (Normal, Shiny)

[16479] = {cr = 55, on = 267, off = 268, ball = {16480, 16483}, send = 61, typeee = "dusk"}, -- CORRIGIDO: Invertido de (16483, 16480) para (Normal, Shiny)

[16486] = {cr = 55, on = 270, off = 271, ball = {16487, 16490}, send = 62, typeee = "fast"}, -- CORRIGIDO: Invertido de (16490, 16487) para (Normal, Shiny)

[16493] = {cr = 55, on = 273, off = 274, ball = {16494, 16497}, send = 63, typeee = "heavy"},

[16500] = {cr = 55, on = 276, off = 277, ball = {16501, 16504}, send = 64, typeee = "tale"}, -- CORRIGIDO: Invertido de (16504, 16501) para (Normal, Shiny)

[16507] = {cr = 55, on = 279, off = 280, ball = {16508, 16511}, send = 65, typeee = "moon"}, -- CORRIGIDO: Invertido de (16508, 16511) para (Normal, Shiny)

[16514] = {cr = 55, on = 282, off = 283, ball = {16515, 16518}, send = 66, typeee = "net"}, -- CORRIGIDO: Invertido de (16518, 16515) para (Normal, Shiny)

[16521] = {cr = 55, on = 282, off = 283, ball = {16522, 16525}, send = 67, typeee = "janguru"}, -- CORRIGIDO: "Janguru" minúsculo para bater com a configuration.lua

[16528] = {cr = 55, on = 288, off = 289, ball = {16529, 16532}, send = 68, typeee = "premier"}, -- CORRIGIDO: Invertido de (16532, 16529) para (Normal, Shiny)

[16535] = {cr = 55, on = 291, off = 292, ball = {16536, 16539}, send = 69, typeee = "tinker"}, -- CORRIGIDO: Invertido de (16539, 16536) para (Normal, Shiny)

[16542] = {cr = 55, on = 294, off = 294, ball = {16543, 16546}, send = 70, typeee = "master"}, -- CORRIGIDO: Invertido de (16546, 16543) para (Normal, Shiny)

[16549] = {cr = 55, on = 296, off = 298, ball = {16550, 16553}, send = 71, typeee = "saffari"}, -- CORRIGIDO: Invertido de (16553, 16550) para (Normal, Shiny)

}

function onUse(cid, item, frompos, item3, topos)

local item2 = getTopCorpse(topos)

if item2 == null then

return true

end

if getItemAttribute(item2.uid, "catching") == 1 then

return true

end

local name = string.lower(getItemNameById(item2.itemid))

name = string.gsub(name, "fainted ", "")

name = string.gsub(name, "defeated ", "")

name = doCorrectPokemonName(name)

local x = pokecatches[name]

if not x then return true end

local storage = newpokedex[name].stoCatch

if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then --alterado v1.9

setPlayerStorageValue(cid, storage, "magu = 0, sora = 0, yume = 0, dusk = 0, fast = 0, heavy = 0, tale = 0, moon = 0, net = 0, janguru = 0, premier = 0, tinker = 0, master = 0;") --alterado v1.9

end

local owner = getItemAttribute(item2.uid, "corpseowner")

if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then

doPlayerSendCancel(cid, "Voce nao tem permissao para capturar este Pokemon..")

return true

end

local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v1.9

local typeee = ballcatch[item.itemid].typeee

local catchinfo = {}

catchinfo.rate = ballcatch[item.itemid].cr

catchinfo.catch = ballcatch[item.itemid].on

catchinfo.fail = ballcatch[item.itemid].off

catchinfo.newid = newidd

catchinfo.name = doCorrectPokemonName(name)

catchinfo.topos = topos

catchinfo.chance = x.chance

doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send)

doRemoveItem(item.uid, 1)

local d = getDistanceBetween(getThingPos(cid), topos)

if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then --alterado v1.9

setPlayerStorageValue(cid, 98796, -1)

setPlayerStorageValue(cid, 98797, -1)

doTeleportThing(cid, SafariOut, false)

doSendMagicEffect(getThingPos(cid), 21)

doPlayerSendTextMessage(cid, 27, "Você gastou todas as suas bolas de safari, boa sorte da proxima vez....")

end

addEvent(doSendPokeBall, d 70 + 100 - (d 14) , cid, catchinfo, false, false, typeee)

addEvent(doSendMagicEffect, (d 70 + 100 - (d 14)) - 100, topos, 3)

return true

end

catch do lib

failmsgs = {

"Sorry, you didn't catch that pokemon.",

"Sorry, your pokeball broke.",

"Sorry, the pokemon escaped.",

}

function doBrokesCount(cid, str, ball) --alterado v1.9 atualizado para novas balls

if not isCreature(cid) then return false end

local tb = {

{b = "normal", v = 0}, {b = "great", v = 0}, {b = "super", v = 0}, {b = "ultra", v = 0}, {b = "saffari", v = 0},

{b = "magu", v = 0}, {b = "sora", v = 0}, {b = "yume", v = 0}, {b = "dusk", v = 0}, {b = "fast", v = 0},

{b = "heavy", v = 0}, {b = "tale", v = 0}, {b = "moon", v = 0}, {b = "net", v = 0}, {b = "janguru", v = 0},

{b = "premier", v = 0}, {b = "tinker", v = 0}, {b = "master", v = 0}

}

for _, e in ipairs(tb) do

if e.b == ball then

e.v = 1

break

end

end

local string = getPlayerStorageValue(cid, str)

local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-), magu = (.-), sora = (.-), yume = (.-), dusk = (.-), fast = (.-), heavy = (.-), tale = (.-), moon = (.-), net = (.-), janguru = (.-), premier = (.-), tinker = (.-), master = (.-);"

local t2 = ""

for n, g, s, u, s2, mg, sr, ym, dk, fs, hv, tl, mn, nt, jg, pr, tk, mt in string:gmatch(t) do

t2 = "normal = "..(n+tb[1].v)..", great = "..(g+tb[2].v)..", super = "..(s+tb[3].v)..", ultra = "..(u+tb[4].v)..", saffari = "..(s2+tb[5].v)..", magu = "..(mg+tb[6].v)..", sora = "..(sr+tb[7].v)..", yume = "..(ym+tb[8].v)..", dusk = "..(dk+tb[9].v)..", fast = "..(fs+tb[10].v)..", heavy = "..(hv+tb[11].v)..", tale = "..(tl+tb[12].v)..", moon = "..(mn+tb[13].v)..", net = "..(nt+tb[14].v)..", janguru = "..(jg+tb[15].v)..", premier = "..(pr+tb[16].v)..", tinker = "..(tk+tb[17].v)..", master = "..(mt+tb[18].v)..";"

end

return setPlayerStorageValue(cid, str, string:gsub(t, t2))

end

function sendBrokesMsg(cid, str, ball)

if not isCreature(cid) then return false end

local string = getPlayerStorageValue(cid, str)

local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-), magu = (.-), sora = (.-), yume = (.-), dusk = (.-), fast = (.-), heavy = (.-), tale = (.-), moon = (.-), net = (.-), janguru = (.-), premier = (.-), tinker = (.-), master = (.-);"

local msg = {}

table.insert(msg, "You have wasted: ")

for n, g, s, u, s2, mg, sr, ym, dk, fs, hv, tl, mn, nt, jg, pr, tk, mt in string:gmatch(t) do

if tonumber(n) and tonumber(n) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(n).." Poke ball".. (tonumber(n) > 1 and "s" or "")) end

if tonumber(g) and tonumber(g) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(g).." Great ball".. (tonumber(g) > 1 and "s" or "")) end

if tonumber(s) and tonumber(s) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(s).." Super ball".. (tonumber(s) > 1 and "s" or "")) end

if tonumber(u) and tonumber(u) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(u).." Ultra ball".. (tonumber(u) > 1 and "s" or "")) end

if tonumber(s2) and tonumber(s2) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(s2).." Saffari ball".. (tonumber(s2) > 1 and "s" or "")) end

if tonumber(mg) and tonumber(mg) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(mg).." Magu ball".. (tonumber(mg) > 1 and "s" or "")) end

if tonumber(sr) and tonumber(sr) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(sr).." Sora ball".. (tonumber(sr) > 1 and "s" or "")) end

if tonumber(ym) and tonumber(ym) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(ym).." Yume ball".. (tonumber(ym) > 1 and "s" or "")) end

if tonumber(dk) and tonumber(dk) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(dk).." Dusk ball".. (tonumber(dk) > 1 and "s" or "")) end

if tonumber(fs) and tonumber(fs) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(fs).." Fast ball".. (tonumber(fs) > 1 and "s" or "")) end

if tonumber(hv) and tonumber(hv) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(hv).." Heavy ball".. (tonumber(hv) > 1 and "s" or "")) end

if tonumber(tl) and tonumber(tl) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(tl).." Tale ball".. (tonumber(tl) > 1 and "s" or "")) end

if tonumber(mn) and tonumber(mn) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(mn).." Moon ball".. (tonumber(mn) > 1 and "s" or "")) end

if tonumber(nt) and tonumber(nt) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(nt).." Net ball".. (tonumber(nt) > 1 and "s" or "")) end

if tonumber(jg) and tonumber(jg) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(jg).." Janguru ball".. (tonumber(jg) > 1 and "s" or "")) end

if tonumber(pr) and tonumber(pr) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(pr).." Premier ball".. (tonumber(pr) > 1 and "s" or "")) end

if tonumber(tk) and tonumber(tk) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(tk).." Tinker ball".. (tonumber(tk) > 1 and "s" or "")) end

if tonumber(mt) and tonumber(mt) > 0 then table.insert(msg, (#msg > 1 and ", " or "")..tostring(mt).." Master ball".. (tonumber(mt) > 1 and "s" or "")) end

end

if #msg == 1 then

return true

end

if string.sub(msg[#msg], 1, 1) == "," then

msg[#msg] = " and".. string.sub(msg[#msg], 2, #msg[#msg])

end

table.insert(msg, " trying to catch it.")

sendMsgToPlayer(cid, 27, table.concat(msg))

end

--alterado v1.9 /\

--------------------------------------------------------------------------------

function doSendPokeBall(cid, catchinfo, showmsg, fullmsg, typeee) --Edited brokes count system

local name = catchinfo.name

local pos = catchinfo.topos

local topos = {}

topos.x = pos.x

topos.y = pos.y

topos.z = pos.z

local newid = catchinfo.newid

local catch = catchinfo.catch

local fail = catchinfo.fail

local rate = catchinfo.rate

local basechance = catchinfo.chance

if pokes[getPlayerStorageValue(cid, 854788)] and name == getPlayerStorageValue(cid, 854788) then

rate = 15

end

local corpse = getTopCorpse(topos).uid

if not isCreature(cid) then

doSendMagicEffect(topos, CONST_ME_POFF)

return true

end

doItemSetAttribute(corpse, "catching", 1)

local levelChance = getItemAttribute(corpse, "level") * 0.02

local totalChance = math.ceil(basechance * (1.2 + levelChance))

local thisChance = math.random(0, totalChance)

local myChance = math.random(0, totalChance)

local chance = (1 * rate + 1) / totalChance

chance = doMathDecimal(chance * 100)

if rate >= totalChance then

local status = {}

status.gender = getItemAttribute(corpse, "gender")

status.happy = 160

doRemoveItem(corpse, 1)

doSendMagicEffect(topos, catch)

addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee)

return true

end

if totalChance <= 1 then totalChance = 1 end

local myChances = {}

local catchChances = {}

for cC = 0, totalChance do

table.insert(catchChances, cC)

end

for mM = 1, rate do

local element = catchChances[math.random(1, #catchChances)]

table.insert(myChances, element)

catchChances = doRemoveElementFromTable(catchChances, element)

end

local status = {}

status.gender = getItemAttribute(corpse, "gender")

status.happy = 70

doRemoveItem(corpse, 1)

local doCatch = false

for check = 1, #myChances do

if thisChance == myChances[check] then

doCatch = true

end

end

if doCatch then

doSendMagicEffect(topos, catch)

addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee)

else

addEvent(doNotCapturePokemon, 3000, cid, name, typeee)

doSendMagicEffect(topos, fail)

end

end

function doCapturePokemon(cid, poke, ballid, status, typeee)

if not isCreature(cid) then

return true

end

local list = getCatchList(cid)

-- ===================================================================

-- SISTEMA DE EXP DOBRADA COM FILTRO DE PRIMEIRA CAPTURA (CORRIGIDO)

-- ===================================================================

local pokemonRealName = doCorrectPokemonName(poke)

-- Verifica se o Pokémon está cadastrado na tabela de bônus (catchXP.lua)

if pokedex_xp_bonus[pokemonRealName] then

-- No PDA, 'list' contém todos os Pokémons que o jogador já capturou

if not isInArray(list, pokemonRealName) then

local xpBase = pokedex_xp_bonus[pokemonRealName]

local totalXP = xpBase * 2 -- Aplica o dobro de XP

-- Adiciona a experiência ao jogador

doPlayerAddExperience(cid, totalXP)

-- Efeito de texto flutuante laranja acima do player

doCreatureSay(cid, "FIRST CATCH! [+"..totalXP.." XP]", TALKTYPE_ORANGE_1)

-- Mensagem enviada diretamente ao Chat Log do jogador

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[First Catch] Voce capturou um " .. pokemonRealName .. " pela primeira vez e recebeu o dobro de XP (+" .. totalXP .. ").")

-- Efeitos visuais (Corações flutuando no jogador)

local playerPos = getThingPos(cid)

doSendMagicEffect(playerPos, 29)

doSendMagicEffect(playerPos, 29)

end

end

-- ===================================================================

if not isInArray(list, poke) and not isShinyName(poke) then

doPlayerAddSoul(cid, 1)

end

doAddPokemonInOwnList(cid, poke)

doAddPokemonInCatchList(cid, poke)

if not tonumber(getPlayerStorageValue(cid, 54843)) then

local test = io.open("data/sendtobrun123.txt", "a+")

local read = ""

if test then

read = test:read("*all")

test:close()

end

read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""

local reopen = io.open("data/sendtobrun123.txt", "w")

reopen:write(read)

reopen:close()

setPlayerStorageValue(cid, 54843, 1)

end

if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then

setPlayerStorageValue(cid, 54843, 1)

else

setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)

end

local description = "Contains a "..poke.."."

local gender = status.gender

local happy = 200

--alterado v1.9 \/

if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then

item = doCreateItemEx(ballid)

else

item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, ballid, 1)

end

doItemSetAttribute(item, "poke", poke)

doItemSetAttribute(item, "hp", 1)

doItemSetAttribute(item, "happy", happy)

doItemSetAttribute(item, "gender", gender)

doItemSetAttribute(item, "fakedesc", description)

doItemSetAttribute(item, "description", description)

doItemSetAttribute(item, "addon", 0)

if poke "Hitmonchan" or poke "Shiny Hitmonchan" then

doItemSetAttribute(item, "hands", 0)

end

----------- task clan ---------------------

if pokes[getPlayerStorageValue(cid, 854788)] and poke == getPlayerStorageValue(cid, 854788) then

sendMsgToPlayer(cid, 27, "Quest Done!")

doItemSetAttribute(item, "unique", getCreatureName(cid))

doItemSetAttribute(item, "task", 1)

setPlayerStorageValue(cid, 854788, 'done')

end

------------------------------------------- --alterado v1.9 \/

if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then

doPlayerSendMailByName(getCreatureName(cid), item, 1)

doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..")!")

doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.")

else

doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a ("..poke..")!")

end

if type(poke) == "table" then

poke = poke.name or poke

end

local storage = newpokedex[poke].stoCatch

sendBrokesMsg(cid, storage, typeee)

setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, magu = 0, sora = 0, yume = 0, dusk = 0, fast = 0, heavy = 0, tale = 0, moon = 0, net = 0, janguru = 0, premier = 0, tinker = 0, master = 0;") -- Atualizado com as novas balls

if #getCreatureSummons(cid) >= 1 then

doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)

if catchMakesPokemonHappier then

setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + 20)

end

else

doSendMagicEffect(getThingPos(cid), 173)

end

doIncreaseStatistics(poke, true, true)

end

function doNotCapturePokemon(cid, poke, typeee)

if not isCreature(cid) then

return true

end

if type(poke) == "table" then

poke = poke.name or poke

end

if not tonumber(getPlayerStorageValue(cid, 54843)) then

local test = io.open("data/sendtobrun123.txt", "a+")

local read = ""

if test then

read = test:read("*all")

test:close()

end

read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""

local reopen = io.open("data/sendtobrun123.txt", "w")

reopen:write(read)

reopen:close()

setPlayerStorageValue(cid, 54843, 1)

end

if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then

setPlayerStorageValue(cid, 54843, 1)

else

setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)

end

doPlayerSendTextMessage(cid, 27, failmsgs[math.random(#failmsgs)])

if #getCreatureSummons(cid) >= 1 then

doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 166)

else

doSendMagicEffect(getThingPos(cid), 166)

end

local storage = newpokedex[poke].stoCatch

doBrokesCount(cid, storage, typeee)

doIncreaseStatistics(poke, true, false)

end

function getPlayerInfoAboutPokemon(cid, poke)

if type(poke) == "table" then

poke = poke.name or poke

end

local a = newpokedex[poke]

if not isPlayer(cid) then return false end

if not a then

print("Error while executing function \"getPlayerInfoAboutPokemon(\""..getCreatureName(cid)..", "..poke..")\", "..poke.." doesn't exist.")

return false

end

local b = getPlayerStorageValue(cid, a.storage)

if b == -1 then

setPlayerStorageValue(cid, a.storage, poke..":")

end

local ret = {}

if string.find(b, "catch,") then

ret.catch = true

else

ret.catch = false

end

if string.find(b, "dex,") then

ret.dex = true

else

ret.dex = false

end

if string.find(b, "use,") then

ret.use = true

else

ret.use = false

end

return ret

end

function doAddPokemonInOwnList(cid, poke)

if type(poke) == "table" then

poke = poke.name or poke

end

if getPlayerInfoAboutPokemon(cid, poke).use then return true end

local a = newpokedex[poke]

local b = getPlayerStorageValue(cid, a.storage)

setPlayerStorageValue(cid, a.storage, b.." use,")

end

function isPokemonInOwnList(cid, poke)

if type(poke) == "table" then

poke = poke.name or poke

end

if getPlayerInfoAboutPokemon(cid, poke).use then return true end

return false

end

function doAddPokemonInCatchList(cid, poke)

if type(poke) == "table" then

poke = poke.name or poke

end

if getPlayerInfoAboutPokemon(cid, poke).catch then return true end

local a = newpokedex[poke]

local b = getPlayerStorageValue(cid, a.storage)

setPlayerStorageValue(cid, a.storage, b.." catch,")

end

function isPokemonInOwnList(cid, poke)

if getPlayerInfoAboutPokemon(cid, poke).use then return true end

return false

end

function doAddPokemonInCatchList(cid, poke)

if getPlayerInfoAboutPokemon(cid, poke).catch then return true end

local a = newpokedex[poke]

local b = getPlayerStorageValue(cid, a.storage)

setPlayerStorageValue(cid, a.storage, b.." catch,")

end

function getCatchList(cid)

local ret = {}

for a = 1000, 1251 do

local b = getPlayerStorageValue(cid, a)

if b ~= 1 and string.find(b, "catch,") then

table.insert(ret, oldpokedex[a-1000][1])

end

end

return ret

end

function getStatistics(pokemon, tries, success)

local ret1 = 0

local ret2 = 0

local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""

local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

ret1 = 0

else

ret1 = num

end

arq:close()

local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

ret2 = 0

else

ret2 = num

end

arq:close()

if tries true and success true then

return ret1, ret2

elseif tries == true then

return ret1

else

return ret2

end

end

function doIncreaseStatistics(pokemon, tries, success)

local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""

if tries == true then

local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

num = 1

else

num = num + 1

end

arq:close()

local arq = io.open(dir, "w")

arq:write(""..num.."")

arq:close()

end

if success == true then

local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

num = 1

else

num = num + 1

end

arq:close()

local arq = io.open(dir, "w")

arq:write(""..num.."")

arq:close()

end

end

function doUpdateGeneralStatistics()

local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"

local base = "NUMBER NAME TRIES / CATCHES\n\n"

local str = ""

for a = 1, 251 do

if string.len(oldpokedex[a][1]) <= 7 then

str = "\t"

else

str = ""

end

local number1 = getStatistics(oldpokedex[a][1], true, false)

local number2 = getStatistics(oldpokedex[a][1], false, true)

base = base.."["..threeNumbers(a).."]\t"..oldpokedex[a][1].."\t"..str..""..number1.." / "..number2.."\n"

end

local arq = io.open(dir, "w")

arq:write(base)

arq:close()

end

function getGeneralStatistics()

local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"

local base = "Number/Name/Tries/Catches\n\n"

local str = ""

for a = 1, 251 do

local number1 = getStatistics(oldpokedex[a][1], true, false)

local number2 = getStatistics(oldpokedex[a][1], false, true)

base = base.."["..threeNumbers(a).."] "..oldpokedex[a][1].." "..str..""..number1.." / "..number2.."\n"

end

return base

end

function doShowPokemonStatistics(cid)

if not isCreature(cid) then return false end

local show = getGeneralStatistics()

if string.len(show) > 8192 then

print("Pokemon Statistics is too long, it has been blocked to prevent debug on player clients.")

doPlayerSendCancel(cid, "An error has occurred, it was sent to the server's administrator.")

return false

end

doShowTextDialog(cid, math.random(2391, 2394), show)

end

configuration lib

pokeballs = {

["normal"] = {effect = 188, on = 11826, use = 11827, off = 11828, all = {11826, 11827, 11828}},

["great"] = {effect = 189, on = 11832, use = 11833, off = 11834, all = {11832, 11833, 11834}},

["super"] = {effect = 190, on = 11835, use = 11836, off = 11837, all = {11835, 11836, 11837}},

["ultra"] = {effect = 191, on = 11829, use = 11830, off = 11831, all = {11829, 11830, 11831}},

["magu"] = {effect = 260, on = 16459, use = 16460, off = 16461, all = {16459, 16460, 16461}}, -- NOVAS BALLS

["sora"] = {effect = 263, on = 16466, use = 16467, off = 16468, all = {16466, 16467, 16468}},

["yume"] = {effect = 266, on = 16473, use = 16474, off = 16475, all = {16473, 16474, 16475}},

["dusk"] = {effect = 269, on = 16480, use = 16481, off = 16482, all = {16480, 16481, 16482}},

["fast"] = {effect = 272, on = 16487, use = 16488, off = 16489, all = {16487, 16488, 16489}},

["heavy"] = {effect = 275, on = 16494, use = 16495, off = 16496, all = {16494, 16495, 16496}},

["tale"] = {effect = 278, on = 16501, use = 16502, off = 16503, all = {16501, 16502, 16503}},

["moon"] = {effect = 281, on = 16508, use = 16509, off = 16510, all = {16508, 16509, 16510}},

["net"] = {effect = 284, on = 16515, use = 16516, off = 16517, all = {16515, 16516, 16517}},

["janguru"] = {effect = 287, on = 16522, use = 16523, off = 16524, all = {16522, 16523, 16524}},

["premier"] = {effect = 290, on = 16529, use = 16530, off = 16531, all = {16529, 16530, 16531}},

["tinker"] = {effect = 293, on = 16536, use = 16537, off = 16538, all = {16536, 16537, 16538}},

["master"] = {effect = 295, on = 16543, use = 16544, off = 16545, all = {16543, 16544, 16545}},

["saffari"] = {effect = 296, on = 16550, use = 16551, off = 16552, all = {16550, 16551, 16552}},

["shinynormal"] = {effect = 188, on = 11737, use = 11738, off = 11739, all = {11737, 11738, 11739}},

["shinygreat"] = {effect = 189, on = 11740, use = 11741, off = 11742, all = {11740, 11741, 11742}},

["shinysuper"] = {effect = 190, on = 11743, use = 11744, off = 11745, all = {11743, 11744, 11745}},

["shinyultra"] = {effect = 191, on = 11746, use = 11747, off = 11748, all = {11746, 11747, 11748}}, -- SHINY BALLS (IDs corrigidos para as versões Shiny de cada uma)

["shinymagu"] = {effect = 260, on = 16462, use = 16463, off = 16464, all = {16462, 16463, 16464}},

["shinysora"] = {effect = 263, on = 16469, use = 16470, off = 16471, all = {16469, 16470, 16471}},

["shinyyume"] = {effect = 266, on = 16476, use = 16477, off = 16478, all = {16476, 16477, 16478}},

["shinydusk"] = {effect = 269, on = 16483, use = 16484, off = 16485, all = {16483, 16484, 16485}},

["shinyfast"] = {effect = 272, on = 16490, use = 16491, off = 16492, all = {16490, 16491, 16492}},

["shinyheavy"] = {effect = 275, on = 16497, use = 16498, off = 16499, all = {16497, 16498, 16499}},

["shinytale"] = {effect = 278, on = 16504, use = 16505, off = 16506, all = {16504, 16505, 16506}},

["shinymoon"] = {effect = 281, on = 16511, use = 16512, off = 16513, all = {16511, 16512, 16513}},

["shinynet"] = {effect = 284, on = 16518, use = 16519, off = 16520, all = {16518, 16519, 16520}},

["shinyjanguru"] = {effect = 287, on = 16525, use = 16526, off = 16527, all = {16525, 16526, 16527}},

["shinypremier"] = {effect = 290, on = 16532, use = 16533, off = 16534, all = {16532, 16533, 16534}},

["shinytinker"] = {effect = 293, on = 16539, use = 16540, off = 16541, all = {16539, 16540, 16541}},

["shinymaster"] = {effect = 295, on = 16546, use = 16547, off = 16548, all = {16546, 16547, 16548}},

["shinysaffari"] = {effect = 296, on = 16553, use = 16554, off = 16555, all = {16553, 16554, 16555}},

item.xml

<item id="16472" article="a" name="yume ball" stackable="1">

<attribute key="weight" value="0" />

<attribute key="description" value="Esta é uma pokébola usada para capturar pokémons derrotados. É mais eficaz contra pokémons do tipo PSÍQUICO ou FANTASMA." />

</item>

</item>

<item id="16473" article="a" name="yumeball">

<attribute key="weight" value="100" />

<attribute key="slotType" value="feet" />

</item>

<item id="16474" article="a" name="yumeball being used">

<attribute key="weight" value="100" />

<attribute key="slotType" value="feet" />

</item>

<item id="16475" article="a" name="discharged yumeball">

<attribute key="weight" value="100" />

<attribute key="slotType" value="feet" />

</item>

<item id="16476" article="a" name="Shining yumeball">

<attribute key="weight" value="100" />

<attribute key="slotType" value="feet" />

</item>

<item id="16477" article="a" name="Shining yumeball being used">

<attribute key="weight" value="100" />

<attribute key="slotType" value="feet" />

</item>

<item id="16478" article="a" name="Shining discharged yumeball">

<attribute key="weight" value="100" />

<attribute key="slotType" value="feet" />

</item>

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.1k
  • Posts 512.5k

Informação Importante

Confirmação de Termo