Olá galera! Minha primeira contribuição oficial como colaborador. Eu queria fazer uma função que seria quase que uma extensão da getTabHighValue, assim eu decidi criar ou re-criar uma função que ordena a tabela em ordem crescente. Não sei se já existe uma função na própria linguagem lua pura, mas se existir, é desconhecida por mim, então decidi fazer a minha.
Oks, lá vamos nós a função.
function doOrderTab(tabela, value)
max = nil
for i = 1, table.maxn(tabela) do
valor = value
for a, b in ipairs(tabela) do
if b > valor then
valor = b
end
end
table.remove(tabela, table.find(tabela, valor))
if valor ~= value then
max = max == nil and valor or max .. ", " .. valor
end
end
return max
end
1º Parâmetro: Tabela a ser ordenada.
2º Parâmetro: Valor mínimo que o número deve ser para ser considerado na ordem.
Exemplos em Talkactions:
function onSay(cid, words, param)
t = {}
for pos, pid in ipairs(getPlayersOnline()) do
t[pos] = getPlayerLevel(pid)
end
doShowTextDialog(cid, 2160, doOrderTab(t, 0))
end
Ordena o nível dos jogadores online.
function onSay(cid, words, param)
t = {500, 700, 400}
doShowTextDialog(cid, 2160, doOrderTab(t, 0))
end
Ordena a tabela acima, retornando:
700, 500, 400
É isso, espero que ajude, até mais galera.