posta qual foi o erro que deu
- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] [ERRO] Pokemon capturado não vai para o depot
[Encerrado] [ERRO] Pokemon capturado não vai para o depot
Por guilhermejuan, 13 de jun. de 2018 em Tópicos Sem Resposta
info
Grupo: Herói
Registrado: 12/06/12
Posts: 2.2k
Reputação: +739
Gênero: Masculino
Char no Tibia: Supreme Player

info
Grupo: Campones
Registrado: 24/05/18
Posts: 3
Reputação: 0

11 minutos atrás, Gabrieltxu disse:posta qual foi o erro que deu
[13/06/2018 16:03:20] [Error - Action Interface]
[13/06/2018 16:03:20] In a timer event called from:
[13/06/2018 16:03:20] datapack/actions/scripts/catch.lua:onUse
[13/06/2018 16:03:20] Description:
[13/06/2018 16:03:20] (luaDoItemSetAttribute) Item not found
Up
info
Grupo: Visconde
Registrado: 16/08/13
Posts: 286
Reputação: +30
Gênero: Masculino

Estou com o mesmo erro pode me ajudar @Gabrieltxu
Quando taco uma unica ball da esse tanto de erro
[13/08/2018 01:56:13] [Error - Action Interface]
[13/08/2018 01:56:13] In a timer event called from:
[13/08/2018 01:56:13] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:13] Description:
[13/08/2018 01:56:13] (luaDoItemSetAttribute) Item not found
[13/08/2018 01:56:13] [Error - Action Interface]
[13/08/2018 01:56:13] In a timer event called from:
[13/08/2018 01:56:13] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:13] Description:
[13/08/2018 01:56:13] (luaDoItemSetAttribute) Item not found
[13/08/2018 01:56:13] [Error - Action Interface]
[13/08/2018 01:56:13] In a timer event called from:
[13/08/2018 01:56:13] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:13] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found
[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found
[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found
[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found
[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found
[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found
Meu catch do actions é esse
local ballcatch = { --id normal, id da ball shiy
[2394] = {cr = 3, on = 24, off = 23, ball = {11826, 11737}, send = 47, typeee = "normal"}, --alterado v1.9 \/
[2391] = {cr = 6, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great"},
[2393] = {cr = 10, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super"},
[2392] = {cr = 20, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra"},
[13248] = {cr = 9999, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "premium"},
[12617] = {cr = 3, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari"},
}
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
if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then
return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!")
end
local name = string.lower(getItemNameById(item2.itemid)) --alterado v1.9 \/
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 --alterado v1.9 \/
if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then
setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, premium = 0, saffari = 0;")
end
local owner = getItemAttribute(item2.uid, "corpseowner")
if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then
doPlayerSendCancel(cid, "You are not allowed to catch this 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 restrictions = {"Moltres", "Articuno", "Zapdos", "Mew", "Mewtwo", "Entei", "Raikou", "Suicune", "Lugia", "Ho-oh", "Darkrai",}
if isInArray(restrictions, name) then
return doPlayerSendTextMessage(cid, 26, "Este pokemon é lendário! Não pode ser capturado.")
end
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, "You spend all your saffari balls, good luck in the next time...")
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
meu catch system da lib é esse
failmsgs = {
"Sorry, you didn't catch that pokemon.",
"Sorry, your pokeball broke.",
"Sorry, the pokemon escaped.",
}
local topquest = 1
function doBrokesCount(cid, str, ball) --alterado v1.9 \/
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 = "premium", 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 = (.-), premium = (.-);"
local t2 = ""
for n, g, s, u, s2 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 = "..(u+tb[4].v)..", premium = "..(s2+tb[5].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 = (.-), premium = (.-);"
local msg = {}
table.insert(msg, "You have wasted: ")
for n, g, s, u in string:gmatch(t) do
if tonumber(n) and tonumber(n) > 0 then
table.insert(msg, 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(s2) and tonumber(s2) > 0 then
table.insert(msg, (#msg > 1 and ", " or "").. tostring(s2).." Premium ball".. (tonumber(s2) > 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 = 2 * 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)
local quero_esses = {4,3}
if rate >= totalChance then
local status = {}
status.gender = quero_esses[math.random(1, #quero_esses)]
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 quero_esses = {4,3}
local status = {}
status.gender = quero_esses[math.random(1, #quero_esses)]
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)
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 quero_esses = {4,3}
if poke == "Porygon" or poke == "Metagross" or poke == "Porygon2" or poke == "Metang" or poke == "Beldum" or poke == "Shiny Metagross" or poke == "Solrock" then
gender = 1
else
gender = quero_esses[math.random(1, #quero_esses)]
end
local happy = 250
--alterado v1.9 \/
if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then
if ballid == 11826 then
item = doCreateItemEx(11828)
else
item = doCreateItemEx(ballid-1)
end
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, "exp", 0)
doItemSetAttribute(item, "level", 1)
doItemSetAttribute(item, "fakedesc", description)
doItemSetAttribute(item, "description", description)
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
doPlayerSendTextMessage(cid, 27, "Parabens, voce capturou um ("..poke..")!")
if cap >= 6 then
doPlayerSendMailByName(getCreatureName(cid), item, 1)
doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.")
end
else
addTopQuest(cid, topquest)
doPlayerSendTextMessage(cid, 27, "Parabens, voce capturou um ("..poke..")!")
end
local storage = newpokedex[poke].stoCatch
sendBrokesMsg(cid, storage, typeee)
setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, premium = 0;") --alterado v1.9 /\
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
end
function doNotCapturePokemon(cid, poke, typeee)
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
local storage = newpokedex[poke].stoCatch
doBrokesCount(cid, storage, typeee)
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 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
info
Grupo: Infante
Registrado: 28/01/12
Posts: 1.6k
Reputação: +262
Gênero: Masculino

qual base usa?
info
Grupo: Visconde
Registrado: 16/08/13
Posts: 286
Reputação: +30
Gênero: Masculino

6 minutos atrás, FlamesAdmin disse:qual base usa?
Poke Gold
info
Grupo: Infante
Registrado: 28/01/12
Posts: 1.6k
Reputação: +262
Gênero: Masculino

3 minutos atrás, Duhisback disse:Poke Gold
se tiver aqueles cps novos vc tem q adicionar eles como Depot na spr/dat e adicionar essas linhas no items.xml
<attribute key="type" value="depot" /> <attribute key="containerSize" value="30" />
Editado Agosto 13 por FlamesAdmin
info
Grupo: Herói
Registrado: 12/06/12
Posts: 2.2k
Reputação: +739
Gênero: Masculino
Char no Tibia: Supreme Player

6 horas atrás, Duhisback disse:Estou com o mesmo erro pode me ajudar @Gabrieltxu
Quando taco uma unica ball da esse tanto de erro
[13/08/2018 01:56:13] [Error - Action Interface]
[13/08/2018 01:56:13] In a timer event called from:
[13/08/2018 01:56:13] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:13] Description:
[13/08/2018 01:56:13] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:13] [Error - Action Interface]
[13/08/2018 01:56:13] In a timer event called from:
[13/08/2018 01:56:13] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:13] Description:
[13/08/2018 01:56:13] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:13] [Error - Action Interface]
[13/08/2018 01:56:13] In a timer event called from:
[13/08/2018 01:56:13] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:13] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found
Meu catch do actions é esse
local ballcatch = { --id normal, id da ball shiy
[2394] = {cr = 3, on = 24, off = 23, ball = {11826, 11737}, send = 47, typeee = "normal"}, --alterado v1.9 \/
[2391] = {cr = 6, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great"},
[2393] = {cr = 10, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super"},
[2392] = {cr = 20, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra"},
[13248] = {cr = 9999, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "premium"},
[12617] = {cr = 3, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari"},
}function onUse(cid, item, frompos, item3, topos)
local item2 = getTopCorpse(topos)
if item2 == null then
return true
endif getItemAttribute(item2.uid, "catching") == 1 then
return true
endif getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then
return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!")
endlocal name = string.lower(getItemNameById(item2.itemid)) --alterado v1.9 \/
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 --alterado v1.9 \/
if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then
setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, premium = 0, saffari = 0;")
endlocal owner = getItemAttribute(item2.uid, "corpseowner")
if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then
doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
return true
endlocal 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 restrictions = {"Moltres", "Articuno", "Zapdos", "Mew", "Mewtwo", "Entei", "Raikou", "Suicune", "Lugia", "Ho-oh", "Darkrai",}
if isInArray(restrictions, name) then
return doPlayerSendTextMessage(cid, 26, "Este pokemon é lendário! Não pode ser capturado.")
end
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.chancedoSendDistanceShoot(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, "You spend all your saffari balls, good luck in the next time...")
endaddEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee)
addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
return true
end
meu catch system da lib é esse
failmsgs = {
"Sorry, you didn't catch that pokemon.",
"Sorry, your pokeball broke.",
"Sorry, the pokemon escaped.",
}local topquest = 1
function doBrokesCount(cid, str, ball) --alterado v1.9 \/
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 = "premium", 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 = (.-), premium = (.-);"
local t2 = ""for n, g, s, u, s2 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 = "..(u+tb[4].v)..", premium = "..(s2+tb[5].v)..";"
end
return setPlayerStorageValue(cid, str, string:gsub(t, t2))
endfunction sendBrokesMsg(cid, str, ball)
if not isCreature(cid) then return false end
local string = getPlayerStorageValue(cid, str)
local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-), premium = (.-);"
local msg = {}
table.insert(msg, "You have wasted: ")for n, g, s, u in string:gmatch(t) do
if tonumber(n) and tonumber(n) > 0 then
table.insert(msg, 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(s2) and tonumber(s2) > 0 then
table.insert(msg, (#msg > 1 and ", " or "").. tostring(s2).." Premium ball".. (tonumber(s2) > 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
endlocal corpse = getTopCorpse(topos).uid
if not isCreature(cid) then
doSendMagicEffect(topos, CONST_ME_POFF)
return true
enddoItemSetAttribute(corpse, "catching", 1)
local levelChance = 2 * 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)
local quero_esses = {4,3}
if rate >= totalChance then
local status = {}
status.gender = quero_esses[math.random(1, #quero_esses)]
status.happy = 160doRemoveItem(corpse, 1)
doSendMagicEffect(topos, catch)
addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee)
return true
end
if totalChance <= 1 then totalChance = 1 endlocal myChances = {}
local catchChances = {}
for cC = 0, totalChance do
table.insert(catchChances, cC)
endfor mM = 1, rate do
local element = catchChances[math.random(1, #catchChances)]
table.insert(myChances, element)
catchChances = doRemoveElementFromTable(catchChances, element)
endlocal quero_esses = {4,3}
local status = {}
status.gender = quero_esses[math.random(1, #quero_esses)]
status.happy = 70doRemoveItem(corpse, 1)
local doCatch = false
for check = 1, #myChances do
if thisChance == myChances[check] then
doCatch = true
end
endif doCatch then
doSendMagicEffect(topos, catch)
addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee)
else
addEvent(doNotCapturePokemon, 3000, cid, name, typeee)
doSendMagicEffect(topos, fail)
end
endfunction doCapturePokemon(cid, poke, ballid, status, typeee)
if not isCreature(cid) then
return true
end
local list = getCatchList(cid)
if not isInArray(list, poke) and not isShinyName(poke) then
doPlayerAddSoul(cid, 1)
enddoAddPokemonInOwnList(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)
endif not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then
setPlayerStorageValue(cid, 54843, 1)
else
setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)
endlocal description = "Contains a "..poke.."."
local quero_esses = {4,3}
if poke == "Porygon" or poke == "Metagross" or poke == "Porygon2" or poke == "Metang" or poke == "Beldum" or poke == "Shiny Metagross" or poke == "Solrock" then
gender = 1
else
gender = quero_esses[math.random(1, #quero_esses)]
end
local happy = 250
--alterado v1.9 \/
if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then
if ballid == 11826 then
item = doCreateItemEx(11828)
else
item = doCreateItemEx(ballid-1)
end
else
item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, ballid, 1)
enddoItemSetAttribute(item, "poke", poke)
doItemSetAttribute(item, "hp", 1)
doItemSetAttribute(item, "happy", happy)
doItemSetAttribute(item, "gender", gender)
doItemSetAttribute(item, "exp", 0)
doItemSetAttribute(item, "level", 1)
doItemSetAttribute(item, "fakedesc", description)
doItemSetAttribute(item, "description", description)
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
doPlayerSendTextMessage(cid, 27, "Parabens, voce capturou um ("..poke..")!")
if cap >= 6 then
doPlayerSendMailByName(getCreatureName(cid), item, 1)
doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.")
end
else
addTopQuest(cid, topquest)
doPlayerSendTextMessage(cid, 27, "Parabens, voce capturou um ("..poke..")!")
endlocal storage = newpokedex[poke].stoCatch
sendBrokesMsg(cid, storage, typeee)
setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, premium = 0;") --alterado v1.9 /\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
endfunction doNotCapturePokemon(cid, poke, typeee)
if not isCreature(cid) then
return true
endif 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)
endif not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then
setPlayerStorageValue(cid, 54843, 1)
else
setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)
enddoPlayerSendTextMessage(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)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..":")
endlocal 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,")
endfunction isPokemonInOwnList(cid, poke)
if getPlayerInfoAboutPokemon(cid, poke).use then return true end
return false
endfunction 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,")
endfunction 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
endreturn ret
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
endfunction 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
o erro fala que não encontrou o item, q no qual seria a pokebola, da uma passada nos id que está setado no codigo ai e ve se são esses ids mesmo
info
Grupo: Visconde
Registrado: 16/08/13
Posts: 286
Reputação: +30
Gênero: Masculino

9 horas atrás, FlamesAdmin disse:se tiver aqueles cps novos vc tem q adicionar eles como Depot na spr/dat e adicionar essas linhas no items.xml
<attribute key="type" value="depot" /> <attribute key="containerSize" value="30" />
Sim está certinho
4 horas atrás, Gabrieltxu disse:o erro fala que não encontrou o item, q no qual seria a pokebola, da uma passada nos id que está setado no codigo ai e ve se são esses ids mesmo
Está certo os ids.
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

Em 13/08/2018 em 01:59, Duhisback disse:Estou com o mesmo erro pode me ajudar @Gabrieltxu
Quando taco uma unica ball da esse tanto de erro
[13/08/2018 01:56:13] [Error - Action Interface]
[13/08/2018 01:56:13] In a timer event called from:
[13/08/2018 01:56:13] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:13] Description:
[13/08/2018 01:56:13] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:13] [Error - Action Interface]
[13/08/2018 01:56:13] In a timer event called from:
[13/08/2018 01:56:13] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:13] Description:
[13/08/2018 01:56:13] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:13] [Error - Action Interface]
[13/08/2018 01:56:13] In a timer event called from:
[13/08/2018 01:56:13] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:13] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found[13/08/2018 01:56:14] [Error - Action Interface]
[13/08/2018 01:56:14] In a timer event called from:
[13/08/2018 01:56:14] datapack/actions/scripts/catch.lua:onUse
[13/08/2018 01:56:14] Description:
[13/08/2018 01:56:14] (luaDoItemSetAttribute) Item not found
Meu catch do actions é esse
local ballcatch = { --id normal, id da ball shiy
[2394] = {cr = 3, on = 24, off = 23, ball = {11826, 11737}, send = 47, typeee = "normal"}, --alterado v1.9 \/
[2391] = {cr = 6, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great"},
[2393] = {cr = 10, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super"},
[2392] = {cr = 20, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra"},
[13248] = {cr = 9999, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "premium"},
[12617] = {cr = 3, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari"},
}function onUse(cid, item, frompos, item3, topos)
local item2 = getTopCorpse(topos)
if item2 == null then
return true
endif getItemAttribute(item2.uid, "catching") == 1 then
return true
endif getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then
return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!")
endlocal name = string.lower(getItemNameById(item2.itemid)) --alterado v1.9 \/
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 --alterado v1.9 \/
if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then
setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, premium = 0, saffari = 0;")
endlocal owner = getItemAttribute(item2.uid, "corpseowner")
if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then
doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
return true
endlocal 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 restrictions = {"Moltres", "Articuno", "Zapdos", "Mew", "Mewtwo", "Entei", "Raikou", "Suicune", "Lugia", "Ho-oh", "Darkrai",}
if isInArray(restrictions, name) then
return doPlayerSendTextMessage(cid, 26, "Este pokemon é lendário! Não pode ser capturado.")
end
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.chancedoSendDistanceShoot(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, "You spend all your saffari balls, good luck in the next time...")
endaddEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee)
addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
return true
end
meu catch system da lib é esse
failmsgs = {
"Sorry, you didn't catch that pokemon.",
"Sorry, your pokeball broke.",
"Sorry, the pokemon escaped.",
}local topquest = 1
function doBrokesCount(cid, str, ball) --alterado v1.9 \/
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 = "premium", 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 = (.-), premium = (.-);"
local t2 = ""for n, g, s, u, s2 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 = "..(u+tb[4].v)..", premium = "..(s2+tb[5].v)..";"
end
return setPlayerStorageValue(cid, str, string:gsub(t, t2))
endfunction sendBrokesMsg(cid, str, ball)
if not isCreature(cid) then return false end
local string = getPlayerStorageValue(cid, str)
local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-), premium = (.-);"
local msg = {}
table.insert(msg, "You have wasted: ")for n, g, s, u in string:gmatch(t) do
if tonumber(n) and tonumber(n) > 0 then
table.insert(msg, 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(s2) and tonumber(s2) > 0 then
table.insert(msg, (#msg > 1 and ", " or "").. tostring(s2).." Premium ball".. (tonumber(s2) > 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
endlocal corpse = getTopCorpse(topos).uid
if not isCreature(cid) then
doSendMagicEffect(topos, CONST_ME_POFF)
return true
enddoItemSetAttribute(corpse, "catching", 1)
local levelChance = 2 * 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)
local quero_esses = {4,3}
if rate >= totalChance then
local status = {}
status.gender = quero_esses[math.random(1, #quero_esses)]
status.happy = 160doRemoveItem(corpse, 1)
doSendMagicEffect(topos, catch)
addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee)
return true
end
if totalChance <= 1 then totalChance = 1 endlocal myChances = {}
local catchChances = {}
for cC = 0, totalChance do
table.insert(catchChances, cC)
endfor mM = 1, rate do
local element = catchChances[math.random(1, #catchChances)]
table.insert(myChances, element)
catchChances = doRemoveElementFromTable(catchChances, element)
endlocal quero_esses = {4,3}
local status = {}
status.gender = quero_esses[math.random(1, #quero_esses)]
status.happy = 70doRemoveItem(corpse, 1)
local doCatch = false
for check = 1, #myChances do
if thisChance == myChances[check] then
doCatch = true
end
endif doCatch then
doSendMagicEffect(topos, catch)
addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee)
else
addEvent(doNotCapturePokemon, 3000, cid, name, typeee)
doSendMagicEffect(topos, fail)
end
endfunction doCapturePokemon(cid, poke, ballid, status, typeee)
if not isCreature(cid) then
return true
end
local list = getCatchList(cid)
if not isInArray(list, poke) and not isShinyName(poke) then
doPlayerAddSoul(cid, 1)
enddoAddPokemonInOwnList(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)
endif not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then
setPlayerStorageValue(cid, 54843, 1)
else
setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)
endlocal description = "Contains a "..poke.."."
local quero_esses = {4,3}
if poke == "Porygon" or poke == "Metagross" or poke == "Porygon2" or poke == "Metang" or poke == "Beldum" or poke == "Shiny Metagross" or poke == "Solrock" then
gender = 1
else
gender = quero_esses[math.random(1, #quero_esses)]
end
local happy = 250
--alterado v1.9 \/
if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then
if ballid == 11826 then
item = doCreateItemEx(11828)
else
item = doCreateItemEx(ballid-1)
end
else
item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, ballid, 1)
enddoItemSetAttribute(item, "poke", poke)
doItemSetAttribute(item, "hp", 1)
doItemSetAttribute(item, "happy", happy)
doItemSetAttribute(item, "gender", gender)
doItemSetAttribute(item, "exp", 0)
doItemSetAttribute(item, "level", 1)
doItemSetAttribute(item, "fakedesc", description)
doItemSetAttribute(item, "description", description)
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
doPlayerSendTextMessage(cid, 27, "Parabens, voce capturou um ("..poke..")!")
if cap >= 6 then
doPlayerSendMailByName(getCreatureName(cid), item, 1)
doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.")
end
else
addTopQuest(cid, topquest)
doPlayerSendTextMessage(cid, 27, "Parabens, voce capturou um ("..poke..")!")
endlocal storage = newpokedex[poke].stoCatch
sendBrokesMsg(cid, storage, typeee)
setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, premium = 0;") --alterado v1.9 /\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
endfunction doNotCapturePokemon(cid, poke, typeee)
if not isCreature(cid) then
return true
endif 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)
endif not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then
setPlayerStorageValue(cid, 54843, 1)
else
setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)
enddoPlayerSendTextMessage(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)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..":")
endlocal 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,")
endfunction isPokemonInOwnList(cid, poke)
if getPlayerInfoAboutPokemon(cid, poke).use then return true end
return false
endfunction 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,")
endfunction 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
endreturn ret
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
endfunction 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
Quais attributos a pokebola esta ganhando ao dar o catch?
Estou com o mesmo problema, vou deixar o meu catch.lua e
[Error - Action Interface]
In a timer event called from:
datapack/actions/scripts/catch.lua:onUse
Description:
datapack/lib/004-database.lua:60: [Result:getDataInt] Result not set!
stack traceback:
[C]: in function 'error'
datapack/lib/004-database.lua:60: in function 'getDataInt'
datapack/lib/topquest.lua:3: in function 'getTopQuest'
datapack/lib/topquest.lua:5: in function 'addTopQuest'
datapack/lib/catch system.lua:231: in function <datapack/lib/catch system.lua:151>
REP ++
Editado Dezembro 5 por Ramon S
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.






info
Grupo: Campones
Registrado: 24/05/18
Posts: 3
Reputação: 0
Boa noite,
Me deparei com algo estranho hoje,
Ao capturar algum pokemon, tendo 6 pokemons na bag ( o limite ), o 7º é teleportado para o depot.
Mensagem do servidor:
Só diz que capturei o pokemon, não diz que foi ao depot.
Porém, vou ao depot, e não está lá!
Como assim?
{OCORRE UM ERRO NO CATCH.LUA, VOU POSTAR ELE TAMBÉM}
Poderiam me ajudar nessa?
catch.lua