troca aquela talk por essa:
function onSay(cid, words, param, channel)
if (param == "") then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você possui "..getPlayerStorageValue(cid, 102086).." pontos de Reputação.")
elseif param == "rank" then
local max = 10
local str =""
str = "--[Reputation Rank]--\n\n"
local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 102086 ORDER BY cast(value as INTEGER) DESC;")
if (query:getID() ~= -1) then
k = 1
repeat
if k > max then
break
end
str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(query:getDataString("player_id")).." - [" .. query:getDataInt("value") .. "]"
k = k + 1
until not query:next()
end
doPlayerPopupFYI(cid, str)
end
return true
end
max é o limite de player que vai aparecer no rank
se você colocar para aparecer 50 vai retornar aquela mensagem de novo ¬¬
e para aparecer no rank é que nem os outros, o cara precisa relogar para salvar o character ou dar salve server, onde todos os player do ot são salvos.