OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: no such column: guild_id (SELECT level, guild_id FROM players WHERE guild_id >0 AND level >10 ORDER BY level DESC)
functiononSay(cid, words, param)localguilds = {}localguild_rank = {}-- Seleciona o level e a guild de cada jogador com guild e com level maior que 10, ordenados pelo levellocalquery = 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 verdadeiroifquery:getID() == -1thenreturntrueendrepeatlocallevel = query:getDataInt("level")localguild_id = query:getDataInt("guild_id")-- Cria uma tabela dentro da tabela guilds para cada guildaifnotguilds[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 membroselseifguilds[guild_id].members < 10then
guilds[guild_id].level = guilds[guild_id].level + level
guilds[guild_id].members = guilds[guild_id].members + 1end-- Termina se não existirem mais resultadosuntilnotquery:next()
query:free()-- Passa os resultados obtidos para a tabela guild_rank, para ordená-la com table.sortfori, kinpairs(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) returna.level > b.levelend)locali = 0localstr = ' Guild Rank\n'-- Crie uma string com o nome das guildas em um rankingfor_, infoinpairs(guild_rank) do
i = i + 1
str = str .. i .. ' - '.. getGuildNameById(info.id) .. ' - ' .. info.level .. '\n'ifi == 10thenbreakendend-- Se algum erro ocorrer e o ranking não tiver informações, manda a mensagem "No Guild Information..."localret = str ~= ' Guild Rank\n'andstror"No guild information to be displayed."
doPlayerPopupFYI(cid, ret) returntrueend
Pergunta
Muvuka 1
<talkaction words="!guildrank" event="script" value="guildrank.lua"/>
TA DANDO ESSE ERRO
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados