FL

[Resolvido] [Pedido] Comando que checa caughts

Por FlamesAdmin, 24 de ago. de 2015 em Resolvidos

resolvido
9
1.2k
24 de agosto de 2015 às 15:09

Olá, boa tarde.

Gostaria de um comando que quando usado, ele mostra a quantidade de caughts que o jogador tem e quais pokemons que ele capturou.

Para mostrar, abrirá uma janelinha assim que for usado o comando.

 

Agradeço desde já.

Rep+

26 de agosto de 2015 às 10:21

Isso ja existe em qualquer PDA em data/actions/pokeinfo.lua, e o Pokeinfo testa ae:

 

function onSay(cid, words)
if getPlayerStorageValue(cid, 54843) == -1 then
setPlayerStorageValue(cid, 54843, 0)
end

if getPlayerStorageValue(cid, 54844) == -1 then
setPlayerStorageValue(cid, 54844, 0)
end

local stt = {} --alterado v1.9 \/

table.insert(stt, "• Attempts to catch: "..getPlayerStorageValue(cid, 54843).."\n")
table.insert(stt, "• Successful catches: "..getPlayerSoul(cid).."\n")
table.insert(stt, "• Failed catches: "..getPlayerStorageValue(cid, 54843) - getPlayerSoul(cid).."\n\n")

table.insert(stt, "Caught Pokemon Species:\n")

local t = getCatchList(cid)

if #t <= 0 then
table.insert(stt, "\nNone.")
doShowTextDialog(cid, 7385, table.concat(stt))
return true
end

for b = 1, #oldpokedex do
for a = 1, #t do
if t[a] == oldpokedex[1] then
table.insert(stt, "\n["..threeNumbers(b).."] - "..t[a].."")
end
end
end

doShowTextDialog(cid, 7385, table.concat(stt))


return true
end

 

 

26 de agosto de 2015 às 13:04

 

 

Eu sei que já tem, mais não é isso que eu quero. Pois esse pokeinfo ele conta com double caughts do mesmo poke, também mostra pokes que o player nunca capturou.

zipter98Z
26 de agosto de 2015 às 21:40
Melhor resposta

Troque a função getCatchList de catch system.lua por essa:

 

function getCatchList(cid)
    local ret = {}
    for name, info in pairs(newpokedex) do
        if type(getPlayerStorageValue(cid, info.storage)) == "string" and getPlayerStorageValue(cid, info.storage):find("catch,") then
            ret[#ret + 1] = name
        end
    end
    return ret
end

Editado Agosto 29 por zipter98

26 de agosto de 2015 às 22:22
[26/08/2015 22:19:02] [Error - TalkAction Interface] 
[26/08/2015 22:19:02] data/talkactions/scripts/caughts.lua:onSay
[26/08/2015 22:19:02] Description: 
[26/08/2015 22:19:02] data/talkactions/scripts/caughts.lua:3: attempt to get length of local 'list' (a boolean value)
[26/08/2015 22:19:02] stack traceback:
[26/08/2015 22:19:02] 	data/talkactions/scripts/caughts.lua:3: in function <data/talkactions/scripts/caughts.lua:1>

Coloquei o primeiro código no some functions.lua

zipter98Z
26 de agosto de 2015 às 22:25

editado com correção do antigo registro de catches do PDA

Editado Agosto 29 por zipter98

26 de agosto de 2015 às 22:31

100%, obrigado mais uma vez.

zipter98Z
26 de agosto de 2015 às 22:40

Tópico movido para dúvidas / pedidos resolvidos.

2 anos depois...
FrenviusF
29 de novembro de 2017 às 14:21
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.