SK
dúvida

Getrank(Skillid)

Por Skymagnum, 23 de out. de 2012 em Scripts

6
1k
SkymagnumS
23 de outubro de 2012 às 20:46

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")
end


 

Editado Outubro 23 por Skymagnum

VodkartV
24 de outubro de 2012 às 19:26

??

você quer pegar só o top ou por exemplo 10 players?

SkymagnumS
24 de outubro de 2012 às 19:30

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 :D.

Editado Outubro 24 por Skymagnum

VodkartV
25 de outubro de 2012 às 12:47

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

SkymagnumS
25 de outubro de 2012 às 19:11

Dúvida sanada, reportado para moverem, depois do REP agora tô sem.

HisashiitYamagutiH
25 de outubro de 2012 às 19:48

Tópico movido para: Pedidos e Dúvidas Resolvidos - Otserv Scripting.