Postado Agosto 23, 2014 10 anos Gostaria de uma ajuda pra descobrir porque esse script só funciona pela metade. Ele é um script de !rank, mas atualmente ele só funciona o rank de Level, Magic Level e Top Frags, todo o resto não funciona. Uso TFS 0.3.7. Desde já agraceço. function onSay(cid, words, param)dofile("./config.lua")local players = 20 -- The amount of players that is shown in the listlocal maxgroupid = 1 -- Players in groups above this is not shown in the listif sqlType == "mysql" thenenv = assert(luasql.mysql())con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort))else -- sqliteenv = assert(luasql.sqlite3())con = assert(env:connect(sqliteDatabase))endlocal str = ""if param == "level" or param == "exp" or param == "lvl" or param == "" thencur = assert(con:execute("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` <= "..maxgroupid.." ORDER BY `experience` DESC LIMIT 0,"..players..";"))row = cur:fetch({}, "a")str = "# [Level] - Name - (Experience)\n"local i = 0while row dostr = str.."\n#"..(i+1).." ["..row.level..] - "..row.name.." - ("..row.experience..")"row = cur:fetch (row, "a")i = i+1endelseif param == "maglevel" or param == "magic" or param == "ml" thencur = assert(con:execute("SELECT `name`, `maglevel` FROM `players` WHERE `group_id` <= "..maxgroupid.." ORDER BY `maglevel` DESC LIMIT 0,"..players..";"))row = cur:fetch({}, "a")str = "# [Magic Level] - Name\n"local i = 0while row dostr = str.."\n#"..(i+1).." ["..row.maglevel..] - "..row.name..""row = cur:fetch (row, "a")i = i+1endelseif param == "fist" thencur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 0 ORDER BY `value` DESC;"))row = cur:fetch({}, "a")str = "# [Fist Fighting] - Name\n"local i = 0while row doif i == players thenbreakendquery = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))sql = query:fetch({}, "a")if sql ~= nil thenstr = str.."\n#"..(i+1).." ["..row.value..] - "..sql.name..""i = i+1endrow = cur:fetch (row, "a")endelseif param == "club" thencur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 1 ORDER BY `value` DESC;"))row = cur:fetch({}, "a")str = "# [Club Fighting] - Name\n"local i = 0while row doif i == players thenbreakendquery = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))sql = query:fetch({}, "a")if sql ~= nil thenstr = str.."\n#"..(i+1).." ["..row.value..] - "..sql.name..""i = i+1endrow = cur:fetch (row, "a")endelseif param == "sword" thencur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 2 ORDER BY `value` DESC;"))row = cur:fetch({}, "a")str = "# [sword Fighting] - Name\n"local i = 0while row doif i == players thenbreakendquery = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))sql = query:fetch({}, "a")if sql ~= nil thenstr = str.."\n#"..(i+1).." ["..row.value..] - "..sql.name..""i = i+1endrow = cur:fetch (row, "a")endelseif param == "axe" thencur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 3 ORDER BY `value` DESC;"))row = cur:fetch({}, "a")str = "# [Axe Fighting] - Name\n"local i = 0while row doif i == players thenbreakendquery = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))sql = query:fetch({}, "a")if sql ~= nil thenstr = str.."\n#"..(i+1).." ["..row.value..] - "..sql.name..""i = i+1endrow = cur:fetch (row, "a")endelseif param == "dist" or param == "distance" thencur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 4 ORDER BY `value` DESC;"))row = cur:fetch({}, "a")str = "# [Distance Fighting] - Name\n"local i = 0while row doif i == players thenbreakendquery = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))sql = query:fetch({}, "a")if sql ~= nil thenstr = str.."\n#"..(i+1).." ["..row.value..] - "..sql.name..""i = i+1endrow = cur:fetch (row, "a")endelseif param == "shield" or param == "shielding" thencur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 5 ORDER BY `value` DESC;"))row = cur:fetch({}, "a")str = "# [shielding] - Name\n"local i = 0while row doif i == players thenbreakendquery = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))sql = query:fetch({}, "a")if sql ~= nil thenstr = str.."\n#"..(i+1).." ["..row.value..] - "..sql.name..""i = i+1endrow = cur:fetch (row, "a")endelseif param == "fish" or param == "fishing" thencur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 6 ORDER BY `value` DESC;"))row = cur:fetch({}, "a")str = "# [Fishing] - Name\n"local i = 0while row doif i == players thenbreakendquery = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))sql = query:fetch({}, "a")if sql ~= nil thenstr = str.."\n#"..(i+1).." ["..row.value..] - "..sql.name..""i = i+1endrow = cur:fetch (row, "a")endendif str ~= "" thendoPlayerPopupFYI(cid, str)endcon:close()env:close()end
Postado Agosto 23, 2014 10 anos Solução Tente usar um desses sistemas de Rank: Link 1 Link 2 Espéro ter ajudado. Conlheça o projeto:
Postado Agosto 23, 2014 10 anos Apenas o primeiro funcionou, obrigado! Blz, se quiser doar um , fico feliz. Conlheça o projeto:
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.