Omega 377 Postado Janeiro 22, 2014 Share Postado Janeiro 22, 2014 (editado) Aviso Esse script precisa do Advanced Guild System instalado corretamente para funcionar. Informações Essa talkaction reúne as informações de todos os jogadores que tem guild. Depois, separa os 10 lvls mais altos de cada guild e soma, fazendo um ranking. No final, o jogador que usar o comando recebe uma janela com as 10 guilds (se existirem) mais fortes do servidor, rankeadas pela soma dos 10 levels mais altos (se existirem). Código Salve como guildrank.lua em talkactions/scripts: function onSay(cid, words, param) local guilds = {} local guild_rank = {} -- Seleciona o level e a guild de cada jogador com guild e com level maior que 10, ordenados pelo level local query = db.getResult("SELECT level, guild_id FROM players WHERE guild_id > 0 AND level > 10 ORDER BY level DESC") -- Caso nenhum jogador seja selecionado, retorna verdadeiro if query:getID() == -1 then return true end repeat local level = query:getDataInt("level") local guild_id = query:getDataInt("guild_id") -- Cria uma tabela dentro da tabela guilds para cada guilda if not guilds[guild_id] then guilds[guild_id] = {level = level, members = 1} -- Se a tabela já existir e o número de membros for menor que 10, soma o level e +1 ao número de membros elseif guilds[guild_id].members < 10 then guilds[guild_id].level = guilds[guild_id].level + level guilds[guild_id].members = guilds[guild_id].members + 1 end -- Termina se não existirem mais resultados until not query:next() query:free() -- Passa os resultados obtidos para a tabela guild_rank, para ordená-la com table.sort for i, k in pairs(guilds) do table.insert(guild_rank, {id = i, level = k.level}) end -- Ordena a tabela guild_rank de acordo com a soma dos levels table.sort(guild_rank, function(a, b) return a.level > b.level end) local i = 0 local str = ' Guild Rank\n' -- Crie uma string com o nome das guildas em um ranking for _, info in pairs(guild_rank) do i = i + 1 str = str .. i .. ' - '.. getGuildNameById(info.id) .. ' - ' .. info.level .. '\n' if i == 10 then break end end -- Se algum erro ocorrer e o ranking não tiver informações, manda a mensagem "No Guild Information..." local ret = str ~= ' Guild Rank\n' and str or "No guild information to be displayed." doPlayerPopupFYI(cid, ret) return true end Agora, registre a talkaction em talkactions.xml: <talkactions words="/guildrank" access="0" event="script" value="guildrank.lua"/> Editado Abril 25, 2014 por Omega Link para o comentário https://xtibia.com/forum/topic/227594-ags-guild-rank/ Compartilhar em outros sites More sharing options...
Gabriel Couto 293 Postado Janeiro 22, 2014 Share Postado Janeiro 22, 2014 Muito bom, Omega, parabéns! Ótimo recurso adicional para um servidor Esse conteúdo foi postado no facebook do XTibia.com! * https://www.facebook.com/XTibia Link para o comentário https://xtibia.com/forum/topic/227594-ags-guild-rank/#findComment-1606290 Compartilhar em outros sites More sharing options...
Alexclusive 687 Postado Janeiro 22, 2014 Share Postado Janeiro 22, 2014 Ótimo mesmo heim cara..hoje mesmo estávamos falando de servidores com guilds de 100+. Essa talk action facilitaria muito pra galera ver os rank das melhores guilds rs Parabéns! Link para o comentário https://xtibia.com/forum/topic/227594-ags-guild-rank/#findComment-1606305 Compartilhar em outros sites More sharing options...
cs007 13 Postado Janeiro 22, 2014 Share Postado Janeiro 22, 2014 Parabéns vai ser ótimo para quem não faz uso do site. Link para o comentário https://xtibia.com/forum/topic/227594-ags-guild-rank/#findComment-1606423 Compartilhar em outros sites More sharing options...
Masterzikka 2 Postado Abril 25, 2014 Share Postado Abril 25, 2014 Cara desculpem por reativar o topico mais é importante aki nn deu pra usar o comando nn.. no execultavel nn aparece nem um erro mais e como se o comando nn existice.. Ja comferi se o nome do arquivo ta igual o da tag, ta tudo sertim mais nn pega me ajuda pff.. Link para o comentário https://xtibia.com/forum/topic/227594-ags-guild-rank/#findComment-1641653 Compartilhar em outros sites More sharing options...
Omega 377 Postado Abril 25, 2014 Autor Share Postado Abril 25, 2014 Cara desculpem por reativar o topico mais é importante aki nn deu pra usar o comando nn.. no execultavel nn aparece nem um erro mais e como se o comando nn existice.. Ja comferi se o nome do arquivo ta igual o da tag, ta tudo sertim mais nn pega me ajuda pff.. Aviso Esse script precisa do Advanced Guild System instalado corretamente para funcionar Link para o comentário https://xtibia.com/forum/topic/227594-ags-guild-rank/#findComment-1641774 Compartilhar em outros sites More sharing options...
Posts Recomendados