Demonbholder 420 Postado Março 29, 2011 Share Postado Março 29, 2011 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. Link para o comentário Compartilhar em outros sites More sharing options...
thalia 280 Postado Março 30, 2011 Share Postado Março 30, 2011 Muito boa a função! Demonbholder cada vez mais além com seus scripts! Parabens Link para o comentário Compartilhar em outros sites More sharing options...
Oneshot 732 Postado Abril 3, 2011 Share Postado Abril 3, 2011 Gostei muito da função do código. Seu avanço na linguagem foi rápido. Parabéns Link para o comentário Compartilhar em outros sites More sharing options...
Saymon14 115 Postado Abril 3, 2011 Share Postado Abril 3, 2011 Muito show mano, ainda criar function um dia =D Link para o comentário Compartilhar em outros sites More sharing options...
satan666 12 Postado Abril 7, 2011 Share Postado Abril 7, 2011 Ficou boa a função, existe uma função em lua chamada "table.sort (table [, comp])" que faz isso mesmo. na sua fução tem uma função que eu não conheço na linguagem padrão lua que é "table.find(tabela, valor)" é uma função sua, criada ou apenas acompanha a biblioteca dos ot servers? Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Abril 8, 2011 Autor Share Postado Abril 8, 2011 (editado) É uma função para ot servers, creio que seria algo como: function table.find(t, val) ret = nil for pos, mat in pairs(t) do if mat == val then ret = pos break end end return ret end Ou talvez algo um pouco mais complexo. Até. Editado Maio 11, 2011 por Demonbholder Link para o comentário Compartilhar em outros sites More sharing options...
tinfer3 6 Postado Abril 8, 2011 Share Postado Abril 8, 2011 apenas acompanha a biblioteca dos ot servers. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados