Postado Março 4, 2019 6 anos Solução local displayoutput = {"Level","Magic Level","Fist Fighting","Club Fighting","Sword Fighting","Axe Fighting","Distance Fighting","Shielding", "Resets"} local itemtype = {9969,9933,5896,8929,8932,7388,8849,8906,2580, xxxx} function onSay(cid, words, param) number = 1 param = string.lower(param) skilllist = "" command = TRUE if param == "level" then display = 1 elseif param == "magic" then display = 2 elseif param == "club" then id = 1 display = 4 elseif param == "sword" then id = 2 display = 5 elseif param == "axe" then id = 3 display = 6 elseif param == "distance" then id = 4 display = 7 elseif param == "shield" then id = 5 display = 8 elseif param == "resets" then display = 9 else error = 'Highscore Commands:\n\n!rank level\n!rank magic\n!rank fist\n!rank club\n!rank sword\n!rank axe\n!rank distance\n!rank shield\n' doShowTextDialog(cid, 5958, error) command = FALSE end if command ~= FALSE then if display == 1 then local player = db.getResult("SELECT `name`, `level` FROM `players` WHERE group_id < '2' ORDER BY `level` DESC LIMIT 50;") if(player:getID() ~= -1) then while (true) do local name = player:getDataString("name") local level = player:getDataInt("level") skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..level) number = number + 1 if not(player:next()) then break end end player:free() end elseif display == 2 then local player = db.getResult("SELECT `name`, `maglevel` FROM `players` WHERE group_id < '2' ORDER BY `maglevel` DESC LIMIT 50;") if(player:getID() ~= -1) then while (true) do local name = player:getDataString("name") local maglevel = player:getDataInt("maglevel") skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..maglevel) if not(player:next()) then break end number = number + 1 end end player:free() elseif display == 9 then local player = db.getResult("SELECT 'name', 'resets' FROM 'players' WHERE group_id < '2' ORDER BY 'resets' DESC LIMIT 50;") if(player:getID() ~= -1) then while (true) do local name = player:getDataString("name") local resets = player:getDataInt("resets") skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..resets) if not(player:next()) then break end number = number + 1 end end player:free() else local skills = db.getResult("SELECT `player_id`, `value`, `skillid` FROM `player_skills` WHERE `skillid` = "..id.." ORDER BY `value` DESC;") while (true) do local GUID = skills:getDataInt("player_id") local value = skills:getDataInt("value") local skillid = skills:getDataInt("skillid") local player = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..GUID.." and group_id < '2' ") if(player:getID() ~= -1) then local name = player:getDataString("name") skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..value) number = number + 1 player:free() end if number > 50 then break end if not(skills:next()) then break end end skills:free() end dialog = ""..displayoutput[display].." Highscores: \n "..skilllist.."" doShowTextDialog(cid, itemtype[display], dialog) end end só configura o item que você quer que apareça no lugar de xxxx
Postado Março 4, 2019 6 anos Autor quando eu tento usar o commando !rank resets da esse erro na distro e ele nao funciona [Error - mysql_real_query] Query: SELECT 'name', 'resets' FROM 'players' WHERE group_id < '2' ORDER BY 'resets' DESC LIMIT 50; Message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''players' WHERE group_id < '2' ORDER BY 'resets' DESC LIMIT 50' at line 1 [Error - mysql_store_result] Query: SELECT 'name', 'resets' FROM 'players' WHERE group_id < '2' ORDER BY 'resets' DESC LIMIT 50; Message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''players' WHERE group_id < '2' ORDER BY 'resets' DESC LIMIT 50' at line 1 [Error - TalkAction Interface] data/talkactions/scripts/ranks.lua:onSay Description: data/lib/004-database.lua:106: attempt to call global 'error' (a string value) stack traceback: data/lib/004-database.lua:106: in function 'free' data/talkactions/scripts/ranks.lua:84: in function <data/talkactions/scripts/ranks.lua:5>
Postado Março 4, 2019 6 anos "SELECT `name`, `resets` FROM `players` WHERE group_id < '2' ORDER BY `resets` DESC LIMIT 50;" Tenta trocar a query por isso
Postado Julho 13, 2019 5 anos #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT `name`, `resets` FROM `players` WHERE group_id < '2'' at line 1 meu da esse erro, poderia me ajudar por favor
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.