Ir para conteúdo

Featured Replies

Postado
  • 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

  • Respostas 9
  • Visualizações 1.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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

  • "SELECT `name`, `resets` FROM `players` WHERE group_id < '2' ORDER BY `resets` DESC LIMIT 50;" Tenta trocar a query por isso

Postado
  • 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>

  • 4 months later...
Postado

#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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo