Ir para conteúdo

Featured Replies

Postado

Agora que vi, que o Suicide deu uma pequena editada nos códigos kkkk.

Esse erro ai, foi que ele moveu a variável para o lugar errado kkk

local cargos = {
    ["tutor"] = {prefixNick = "[TUTOR]", group = 2},
    ["gm"] = {prefixNick = "[GM]", group = 4},
    ["cm"] = {prefixNick = "[GM]", group = 5},
    ["adm"] = {prefixNick = "[ADM]", group = 6},
}

local function kick(cid)
    if isPlayer(cid) then
        doRemoveCreature(cid, true)
    end
    return true
end

function onSay(cid, words, param, channel)
    local t = string.explode(param, ",")

    if param == "" or not tostring(t[1]) or not tostring(t[2]) then
        return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o nome do jogador e o nome do cargo que deseja atribuir à ele, separados por vírgula. Exemplo: /cargo Player, GM")
    end

    if not isPlayer(getCreatureByName(t[1]:lower())) then

        doPlayerSendCancel(cid, "Este player não está online, ou não existe.")
        return true
    end

    local c = cargos[t[2]:lower()]

    if not c then

        doPlayerSendCancel(cid, "Cargo inexistente.")
        return true
    end

    db.executeQuery("UPDATE `players` SET `name` = '" .. c.prefixNick .. " ".. t[1]:lower() .. " ' WHERE name = '" .. t[1]:lower() .. "';")
    doPlayerSetGroupId(getCreatureByName(t[1]:lower(), c.group))
    addEvent(kick, 5 * 1000, getCreatureByName(t[1]:lower()))
    doPlayerSendTextMessage(getCreatureByName(t[1]:lower()), 27, "Voce sera kikado em 5 segundos.")
    return true
end

Editado por Orochi Elf (veja o histórico de edições)

Tony Araújo  ;D 

 

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

Top Posters In This Topic

Most Popular Posts

  • Não testei.   local cargos = {     ["tutor"] = {prefixNick = "[TUTOR]", group = 2},     ["gm"] = {prefixNick = "[GM]", group = 4},     ["cm"] = {prefixNick = "[GM]", group = 5},     ["adm"] = {pre

  • O seu pedido é de um comando, correto? Então sim, é uma talkaction. Códigos do Orochi Elf cargo.lua (data/talkactions/scripts): local cargos = {     ["tutor"] = {prefixNick = "[TUTOR]", gro

  • Aqui deu tudo certinho, o script final ficou assim e pra usar vc digita /cargo nome do player, cargo (tutor/gm/cm/adm) Criei um char chamado Ggizi e usei com o meu GOD  ​/cargo Ggizi, adm deu tudo

Postado
  • Autor

 

 

Cara agr está até Kickando, mostrando as msg, POREM O NOME DO PLAYER E O GROUP DELE N MUDAA!

@up

@up

    @up

Editado por TsplayerT (veja o histórico de edições)

Meus Contatos!

 

Minhas Funções:

 

               Skype: TsplayerT

         Facebook: TakaFukushii

          YouTube: ADoseDupla

           Twitter: @_Splayer_

 

 

 

 

 

 

 

                             Mapper:▓▓▓▓▓▓▓▓▓▓ 97%

     Programmer:▓▓▓▓▓▒▒▒▒▒ 45%

             Scripter:▓▓▓▓▓▓▓▓▓▒ 83%

              Spriter:▓▓▓▓▓▓▒▒▒▒ 57%

    Gamemaster:▓▓▓▓▓▓▓▓▓▓ 99%

        Ot Creator:▓▓▓▓▓▓▓▒▒▒71%

Ot Client Maker:▓▓▓▓▓▓▓▒▒▒74%

 

Postado

 

Agora que vi, que o Suicide deu uma pequena editada nos códigos kkkk.

Esse erro ai, foi que ele moveu a variável para o lugar errado kkk

 

É, o erro da localização da variável foi meu mesmo, não observei bem.

Agora o primeiro erro que acusou foi pra fechar o parâmetro da função doPlayerSetGroupId, e foi um erro seu que eu não tinha visto:

doPlayerSetGroupId(getCreatureByName(t[1]:lower(), c.group)

Obrigado pela correção, mas eu não vejo motivos pra rir de mim.

Teste:

local cargos = {
    ["tutor"] = {prefixNick = "[TUTOR]", group = 2},
    ["gm"] = {prefixNick = "[GM]", group = 4},
    ["cm"] = {prefixNick = "[GM]", group = 5},
    ["adm"] = {prefixNick = "[ADM]", group = 6}
}

function onSay(cid, words, param, channel)
    local t = string.explode(param, ",")
    if param == "" or not tostring(t[1]) or not tostring(t[2]) then
        return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o nome do jogador e o nome do cargo que deseja atribuir à ele, separados por vírgula. Exemplo: /cargo Player, GM")
    end

        local p = getPlayerByNameWildcard(t[1])
        if not p then
            return doPlayerSendCancel(cid, "Este player não está online, ou não existe.")
        end

    local c = cargos[t[2]:lower()]
    if not c then
        return doPlayerSendCancel(cid, "Cargo inexistente.")
    end
    
    db.executeQuery("UPDATE `players` SET `name` = '"..c.prefixNick.." "..getCreatureName(p).."' WHERE `players`.`id`= "..getPlayerGUID(p).."")
    doPlayerSetGroupId(p, c.group)
    addEvent(function()
        if isPlayer(p) then
            doRemoveCreature(p, true)
        end
    end, 5 * 1000)
    doPlayerSendTextMessage(p, MESSAGE_STATUS_CONSOLE_BLUE, "Voce sera desconectado em 5 segundos.")
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce deu acesso "..c.group.." para "..t[1]..", que agora é "..c.prefixNick)
    return true
end

Editado por Suicide (veja o histórico de edições)

The corrupt fear us.

The honest support us.

The heroic join us.

Postado
  • Autor

 

É, o erro da localização da variável foi meu mesmo, não observei bem.

Agora o primeiro erro que acusou foi pra fechar o parâmetro da função doPlayerSetGroupId, e foi um erro seu que eu não tinha visto:

Obrigado pela correção, mas eu não vejo motivos pra rir de mim.

Teste:

local cargos = {
    ["tutor"] = {prefixNick = "[TUTOR]", group = 2},
    ["gm"] = {prefixNick = "[GM]", group = 4},
    ["cm"] = {prefixNick = "[GM]", group = 5},
    ["adm"] = {prefixNick = "[ADM]", group = 6}
}

function onSay(cid, words, param, channel)
    local t = string.explode(param, ",")
    local p, pguid = getPlayerByNameWildcard(t[1]), getPlayerGUID(t[1])
    if param == "" or not tostring(t[1]) or not tostring(t[2]) then
        return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o nome do jogador e o nome do cargo que deseja atribuir à ele, separados por vírgula. Exemplo: /cargo Player, GM")
    end

        if not p then
            return doPlayerSendCancel(cid, "Este player não está online, ou não existe.")
        end

    if not cargos[t[2]:lower()] then
        return doPlayerSendCancel(cid, "Cargo inexistente.")
    end
    
    db.executeQuery("UPDATE `players` SET `name` = '["..c.prefixNick.."] "..getCreatureName(p).."' WHERE `players`.`id`= "..pguid.."")
    doPlayerSetGroupId(p, c.group)
    addEvent(function()
        if isPlayer(p) then
            doRemoveCreature(p, true)
        end
    end, 5 * 1000)
    doPlayerSendTextMessage(p, MESSAGE_STATUS_CONSOLE_BLUE, "Voce sera kikado em 5 segundos.")
    return true
end

Cara n aconteçeu nada...

 e Deu esse Erro:

 

[16/12/2014 13:56:19] [Error - TalkAction Interface] 
[16/12/2014 13:56:19] data/talkactions/scripts/cargos.lua:onSay
[16/12/2014 13:56:19] Description: 
[16/12/2014 13:56:19] (internalGetPlayerInfo) Player not found when requesting player info #18
 
[16/12/2014 13:56:19] [Error - TalkAction Interface] 
[16/12/2014 13:56:19] data/talkactions/scripts/cargos.lua:onSay
[16/12/2014 13:56:19] Description: 
[16/12/2014 13:56:19] data/talkactions/scripts/cargos.lua:23: attempt to index global 'c' (a nil value)
[16/12/2014 13:56:19] stack traceback:
[16/12/2014 13:56:19] data/talkactions/scripts/cargos.lua:23: in function <data/talkactions/scripts/cargos.lua:8>

Meus Contatos!

 

Minhas Funções:

 

               Skype: TsplayerT

         Facebook: TakaFukushii

          YouTube: ADoseDupla

           Twitter: @_Splayer_

 

 

 

 

 

 

 

                             Mapper:▓▓▓▓▓▓▓▓▓▓ 97%

     Programmer:▓▓▓▓▓▒▒▒▒▒ 45%

             Scripter:▓▓▓▓▓▓▓▓▓▒ 83%

              Spriter:▓▓▓▓▓▓▒▒▒▒ 57%

    Gamemaster:▓▓▓▓▓▓▓▓▓▓ 99%

        Ot Creator:▓▓▓▓▓▓▓▒▒▒71%

Ot Client Maker:▓▓▓▓▓▓▓▒▒▒74%

 

Postado
local cargos = {
["tutor"] = {prefixNick = "[TUTOR]", group = 2},
["gm"] = {prefixNick = "[GM]", group = 4},
["cm"] = {prefixNick = "[GM]", group = 5},
["adm"] = {prefixNick = "[ADM]", group = 6}
}

function onSay(cid, words, param, channel)
local t = string.explode(param, ",")
if param == "" or not tostring(t[1]) or not tostring(t[2]) then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o nome do jogador e o nome do cargo que deseja atribuir à ele, separados por vírgula. Exemplo: /cargo Player, GM")
end

local p = getPlayerByNameWildcard(t[1])

if not p then
return doPlayerSendCancel(cid, "Este player não está online, ou não existe.")
end

if not cargos[t[2]:lower()] then
return doPlayerSendCancel(cid, "Cargo inexistente.")
end

​local c = cargos[t[2]:lower()]
db.executeQuery("UPDATE `players` SET `name` = '["..c.prefixNick.."] "..getCreatureName(p).."' WHERE `players`.`id`= "..getPlayerGUID(p).."")
doPlayerSetGroupId(p, c.group)
addEvent(function()
if isPlayer(p) then
doRemoveCreature(p, true)
end
end, 5 * 1000)
doPlayerSendTextMessage(p, MESSAGE_STATUS_CONSOLE_BLUE, "Voce sera kikado em 5 segundos.")
return true
end

testa agora

Editado por xWhiteWolf (veja o histórico de edições)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

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

Informação Importante

Confirmação de Termo