Try this:
talkactions.xml
<talkaction words="!rank rebirth" event="script" value="rank rebirth.lua"/>
talkactions/rank rebirth.lua
function onSay(cid, words, param)
local players = 20 -- How many players will be showed in the highscore
local str = ""
local name = ""
local player_id = 0
local result = nil
local result2 = nil
local first_val = ""
local first_nam = ""
str = "# [Rebirths] - Name\n"
name = "name"
result = db.getResult("SELECT `player_id`, (`value` * 1) AS `value` FROM `player_storage` WHERE `key` = 85987 ORDER BY `value` DESC;")
result2 = db.getResult("SELECT `name` FROM `players` WHERE id = "..result:getDataString("player_id")..";")
first_val = result:getDataString("value")
first_nam = result2:getDataString("name")
str = str.."\n ".."1. ["..first_val.."] - "..first_nam
if (result:getID() ~= -1) then
local i = 2
while TRUE do
if not(result:next()) or i > players then
break
end
result2 = db.getResult("SELECT `name` FROM `players` WHERE id = "..result:getDataString("player_id")..";")
str = str .. "\n " .. i .. ". [" .. result:getDataString("value") .. "] - " .. (name ~= "" and result2:getDataString("name") or getPlayerNameByGUID(result:getDataInt(player_id)))
i = i+1
result2:free()
end
result:free()
end
if str ~= "" then
doPlayerPopupFYI(cid, str)
end
return TRUE
end