??
você quer pegar só o top ou por exemplo 10 players?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

??
você quer pegar só o top ou por exemplo 10 players?
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

Tipo a sintaxe da função poderia ser assim:
function getRank(skillid, limit)
mais continuasse a mesma query de group id's 3 pra cima não entrarem no rank
.
Editado Outubro 24 por Skymagnum
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

function getRankSkill(skillid, limit)
local str,qry = "Rank "..SKILL_NAMES[skillid].."\n\n",db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..skillid.." ORDER BY `value` DESC LIMIT 0, "..limit)
if(qry:getID() == -1) then return false end
c = 1
repeat
str = str .."\n "..c..". "..getPlayerNameByGUID(qry:getDataString("player_id")).." - "..qry:getDataInt("value")
c = c +1
until not(qry:next())
qry:free()
return str
end
exemplo de uso
function onSay(cid, words, param) return doPlayerPopupFYI(cid, getRankSkill(2, 10)) end
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

Dúvida sanada, reportado para moverem, depois do REP agora tô sem.
info
Grupo: Conde
Registrado: 17/07/11
Posts: 705
Reputação: +108

Tópico movido para: Pedidos e Dúvidas Resolvidos - Otserv Scripting.
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit
Olá galerinha a TFS atualizou o distro e tirou a função de rank aí fiz uma aqui(SOU MTO LIXO EM QUERY) vocês poderiam ver se está correta?
function getRank(skillid) local a = db.getResult("SELECT `name`, `value` FROM `player_skills` WHERE `group_id` < 3 AND `skillid` = " .. skillid .. " ORDER BY `value` DESC") if not a:next() or a:next() > 25 then break end return getDataString("name"), getDataInt("value") end ------------------------------------------- function getRank(skillid) local a = db.getResult("SELECT `name`, `value` FROM `player_skills` WHERE `group_id` < 3 AND `skillid` = " .. skillid .. " ORDER BY `value` DESC") if not a:next() or a:next() > 25 then a:free() end return getDataString("name"), getDataInt("value") endEditado Outubro 23 por Skymagnum