Ir para conteúdo

Featured Replies

  • Respostas 9
  • Visualizações 439
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Diretor

add 

 

lib

failmsgs = {


"Seu catch foi quase com sucesso, não desista.",
"PokemonDBR escapou :(.",
"PokemonDBR escapou :(.",
}
function doSendPokeBall(cid, catchinfo, showmsg, fullmsg)
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
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 leveltable = getPokemonExperienceTable(name)
local chance = (1 * rate + 1) / totalChance
chance = doMathDecimal(chance * 100)
if rate >= totalChance then
local status = {}
status.clevel = tonumber(getItemAttribute(corpse, "level"))
local clevel = status.clevel
status.cexp = leveltable[clevel]
local cexp = status.cexp
status.cnext = leveltable[clevel+1] - cexp
status.coffense = getItemAttribute(corpse, "offense")
status.cdefense = getItemAttribute(corpse, "defense")
status.cspeed = getItemAttribute(corpse, "speed")
status.cvitality = getItemAttribute(corpse, "vitality")
status.cspatk = getItemAttribute(corpse, "spattack")
status.gender = getItemAttribute(corpse, "gender")
status.happy = 160
doRemoveItem(corpse, 1)
doSendMagicEffect(topos, catch)
addEvent(doCapturePokemon, 4000, cid, name, newid, status)
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.clevel = tonumber(getItemAttribute(corpse, "level"))
local clevel = status.clevel
status.cexp = leveltable[clevel]
local cexp = status.cexp
status.cnext = leveltable[clevel+1] - cexp
status.coffense = getItemAttribute(corpse, "offense")
status.cdefense = getItemAttribute(corpse, "defense")
status.cspeed = getItemAttribute(corpse, "speed")
status.cvitality = getItemAttribute(corpse, "vitality")
status.cspatk = getItemAttribute(corpse, "spattack")
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, 4000, cid, name, newid, status)
else
addEvent(doNotCapturePokemon, 4000, cid, name)
doSendMagicEffect(topos, fail)
end
end
function doCapturePokemon(cid, poke, ballid, status)
if not isCreature(cid) then
return true
end
doPlayerAddSoul(cid, 1)
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 leveltable = getPokemonExperienceTable(poke)
local clevel = status.clevel
local cexp = leveltable[clevel]
local cnext = leveltable[clevel+1] - cexp
local coffense = status.coffense
local cdefense = status.cdefense
local cspeed = status.cspeed
local cvitality = status.cvitality
local cspatk = status.cspatk
local gender = status.gender
local happy = 200
local item = doCreateItemEx(ballid)
doItemSetAttribute(item, "poke", poke)
doItemSetAttribute(item, "hp", 1)
doItemSetAttribute(item, "offense", coffense)
doItemSetAttribute(item, "level", clevel)
doItemSetAttribute(item, "exp", cexp)
doItemSetAttribute(item, "nextlevelexp", cnext)
doItemSetAttribute(item, "defense", cdefense)
doItemSetAttribute(item, "speed", cspeed)
doItemSetAttribute(item, "vitality", cvitality)
doItemSetAttribute(item, "specialattack", cspatk)
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
if getPlayerFreeCap(cid) >= 6 then
doPlayerSendMailByName(getCreatureName(cid), item, 1)
doPlayerSendTextMessage(cid, 27, "Parabéns, você pegou o pokemon ("..poke..", level "..clevel..") :D GTZ")
doPlayerSendTextMessage(cid, 27, "seu novo pokemon foi enviado para o CENTER DBR, porque você excedeu o máximo de pokemon (6) em sua Pokebag.")
else
doAddContainerItemEx(getPlayerSlotItem(cid, 3).uid, item)
doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a "..poke.." (level "..clevel..")!")
end
if #getCreatureSummons(cid) >= 1 then
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 178)
if catchMakesPokemonHappier then
setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + math.floor(clevel / 2))
end
else
doSendMagicEffect(getThingPos(cid), 178)
end
doIncreaseStatistics(poke, true, true)
end
function doNotCapturePokemon(cid, poke)
if not isCreature(cid) then
return true
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
doIncreaseStatistics(poke, true, false)
end

function getPlayerInfoAboutPokemon(cid, poke)
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 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 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

 

actions.xml

 

local ballcatch = {


[2394] = {cr = 5, on = 24, off = 23, ball = 11826, send = 47},
[2391] = {cr = 10, on = 198, off = 197, ball = 11832, send = 48},
[2393] = {cr = 15, on = 202, off = 201, ball = 11835, send = 46},
[2392] = {cr = 20, on = 200, off = 199, ball = 11829, send = 49},
[556] = {cr = 40, on = 187, off = 176, ball = 554, send = 45},
}

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 ", "")

local x = pokecatches[doCorrectPokemonName(name)]

if not x then return true end

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

if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner and isInArray({1,9}, getPlayerGroupId(cid)) then
doPlayerSendCancel(cid, "Você não pode capturar este pokemon.")
return true
end

local catchinfo = {}
catchinfo.rate = ballcatch[item.itemid].cr
catchinfo.catch = ballcatch[item.itemid].on
catchinfo.fail = ballcatch[item.itemid].off
catchinfo.newid = ballcatch[item.itemid].ball
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)

addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false)
addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)

return true
end

 

if the problem persists , replace the distro to the v8 centurin

Postado
  • Autor

add 

 

lib

failmsgs = {

"Seu catch foi quase com sucesso, não desista.",

"PokemonDBR escapou :(.",

"PokemonDBR escapou :(.",

}

function doSendPokeBall(cid, catchinfo, showmsg, fullmsg)

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

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 leveltable = getPokemonExperienceTable(name)

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

chance = doMathDecimal(chance * 100)

if rate >= totalChance then

local status = {}

status.clevel = tonumber(getItemAttribute(corpse, "level"))

local clevel = status.clevel

status.cexp = leveltable[clevel]

local cexp = status.cexp

status.cnext = leveltable[clevel+1] - cexp

status.coffense = getItemAttribute(corpse, "offense")

status.cdefense = getItemAttribute(corpse, "defense")

status.cspeed = getItemAttribute(corpse, "speed")

status.cvitality = getItemAttribute(corpse, "vitality")

status.cspatk = getItemAttribute(corpse, "spattack")

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

status.happy = 160

doRemoveItem(corpse, 1)

doSendMagicEffect(topos, catch)

addEvent(doCapturePokemon, 4000, cid, name, newid, status)

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.clevel = tonumber(getItemAttribute(corpse, "level"))

local clevel = status.clevel

status.cexp = leveltable[clevel]

local cexp = status.cexp

status.cnext = leveltable[clevel+1] - cexp

status.coffense = getItemAttribute(corpse, "offense")

status.cdefense = getItemAttribute(corpse, "defense")

status.cspeed = getItemAttribute(corpse, "speed")

status.cvitality = getItemAttribute(corpse, "vitality")

status.cspatk = getItemAttribute(corpse, "spattack")

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, 4000, cid, name, newid, status)

else

addEvent(doNotCapturePokemon, 4000, cid, name)

doSendMagicEffect(topos, fail)

end

end

function doCapturePokemon(cid, poke, ballid, status)

if not isCreature(cid) then

return true

end

doPlayerAddSoul(cid, 1)

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 leveltable = getPokemonExperienceTable(poke)

local clevel = status.clevel

local cexp = leveltable[clevel]

local cnext = leveltable[clevel+1] - cexp

local coffense = status.coffense

local cdefense = status.cdefense

local cspeed = status.cspeed

local cvitality = status.cvitality

local cspatk = status.cspatk

local gender = status.gender

local happy = 200

local item = doCreateItemEx(ballid)

doItemSetAttribute(item, "poke", poke)

doItemSetAttribute(item, "hp", 1)

doItemSetAttribute(item, "offense", coffense)

doItemSetAttribute(item, "level", clevel)

doItemSetAttribute(item, "exp", cexp)

doItemSetAttribute(item, "nextlevelexp", cnext)

doItemSetAttribute(item, "defense", cdefense)

doItemSetAttribute(item, "speed", cspeed)

doItemSetAttribute(item, "vitality", cvitality)

doItemSetAttribute(item, "specialattack", cspatk)

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

if getPlayerFreeCap(cid) >= 6 then

doPlayerSendMailByName(getCreatureName(cid), item, 1)

doPlayerSendTextMessage(cid, 27, "Parabéns, você pegou o pokemon ("..poke..", level "..clevel..") :D GTZ")

doPlayerSendTextMessage(cid, 27, "seu novo pokemon foi enviado para o CENTER DBR, porque você excedeu o máximo de pokemon (6) em sua Pokebag.")

else

doAddContainerItemEx(getPlayerSlotItem(cid, 3).uid, item)

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

end

if #getCreatureSummons(cid) >= 1 then

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

if catchMakesPokemonHappier then

setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + math.floor(clevel / 2))

end

else

doSendMagicEffect(getThingPos(cid), 178)

end

doIncreaseStatistics(poke, true, true)

end

function doNotCapturePokemon(cid, poke)

if not isCreature(cid) then

return true

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

doIncreaseStatistics(poke, true, false)

end

function getPlayerInfoAboutPokemon(cid, poke)

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

 

actions.xml

 

local ballcatch = {

[2394] = {cr = 5, on = 24, off = 23, ball = 11826, send = 47},

[2391] = {cr = 10, on = 198, off = 197, ball = 11832, send = 48},

[2393] = {cr = 15, on = 202, off = 201, ball = 11835, send = 46},

[2392] = {cr = 20, on = 200, off = 199, ball = 11829, send = 49},

[556] = {cr = 40, on = 187, off = 176, ball = 554, send = 45},

}

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 ", "")

local x = pokecatches[doCorrectPokemonName(name)]

if not x then return true end

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

if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner and isInArray({1,9}, getPlayerGroupId(cid)) then

doPlayerSendCancel(cid, "Você não pode capturar este pokemon.")

return true

end

local catchinfo = {}

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

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

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

catchinfo.newid = ballcatch[item.itemid].ball

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)

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

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

return true

end

 

if the problem persists , replace the distro to the v8 centurin

It did not work :(

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.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo