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.