Ir para conteúdo
  • Cadastre-se

(Resolvido)Script para Dar Cargos e Renomear os Nomes!


Ir para solução Resolvido por xWhiteWolf,

Posts Recomendados

ALO COM QUEM EU FALO?

 

Galera estou querendo um Scritp que faça assim:

 

/cargo [NOME DO PLAYER], [CARGO]

ex: /cargo Splayer, Dono

 

ai fica assim:

1) Nome do Player Alterado ([DONO] Splayer)

2) Player ficando no Group_id = 6

3) Aparençendo uma mensagem na tela ou no Chat que ele será kickado

4) Player sendo kickado

 

 

AGRADEÇO A TODOS, E REPUTAREI!


@UP

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%

 

Link para o post
Compartilhar em outros sites

Não testei.

 

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 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(function(),
        if isPlayer(getCreatureByName(t[1]:lower())) then
            
            doRemoveCreature(getCreatureByName(t[1]:lower()), true)
        end, 5 * 1000, end)
    
    doPlayerSendTextMessage(getCreatureByName(t[1]:lower()), 27, "Voce sera kikado em 5 segundos.")
    return true
end

Tony Araújo  ;D 

 

Link para o post
Compartilhar em outros sites

 

Não testei.

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 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(function(),
        if isPlayer(getCreatureByName(t[1]:lower())) then
            
            doRemoveCreature(getCreatureByName(t[1]:lower()), true)
        end, 5 * 1000, end)
    
    doPlayerSendTextMessage(getCreatureByName(t[1]:lower()), 27, "Voce sera kikado em 5 segundos.")
    return true
end

como que é a tag, para o talkactions, se for talkactions

 

tem como colocar uma resposta? tipo comando errado, vai apareçer como deve ser feito

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%

 

Link para o post
Compartilhar em outros sites
como que é a tag, para o talkactions, se for talkactions tem como colocar uma resposta? tipo comando errado, vai apareçer como deve ser feito

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]", 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

Tag - talkactions.xml (data/talkactions):

<talkaction log="yes" words="/cargo" access="5" event="script" value="cargo.lua"/>
Editado por Suicide (veja o histórico de edições)

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

@topic, Qm poderá usar esse comando?

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

@topic, Qm poderá usar esse comando?

@topic

 

só o dono(god)!

 

AHHH... TEM COMO CRIAR UM GROUP_ID SÓ PARA O DONO??(QUE POSSA FAZER TUDO)

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%

 

Link para o post
Compartilhar em outros sites

Qm poderá usar esse comando?

Provavelmente quem tiver um acesso considerável pra fazer esse tipo de ação. Mas de qualquer forma isso é apenas uma preferência de restrição, basta alterar o valor na tag.

 

AHHH... TEM COMO CRIAR UM GROUP_ID SÓ PARA O DONO??(QUE POSSA FAZER TUDO)

Você quer dizer, que tenha os privilégios de todas as flags / customflags?

Basta calcular o valor delas pelo Flags Calculator e modificar em seu groups.xml (data/XML).

Calculei uma de exemplo, que tem todos os privilégios (só selecionei algumas restrições comuns de não ter ganho de exp/hp/mana/skill):

<group id="6" name="Owner" flags="513744660570104" customFlags="134217727" access="5" violationReasons="23" nameViolationFlags="170" statementViolationFlags="213" depotLimit="5000" maxVips="500" outfit="302"/>
Editado por Suicide (veja o histórico de edições)

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

 

Provavelmente quem tiver um acesso considerável pra fazer esse tipo de ação. Mas de qualquer forma isso é apenas uma preferência de restrição, basta alterar o valor na tag.

 

 

To ligado, mas era só pra ter ctz, pra ja passar pro membro como ficaria a tag da forma 100% correta sem restar duvidas. ^^

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

 

Não testei.

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 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(function(),
        if isPlayer(getCreatureByName(t[1]:lower())) then
            
            doRemoveCreature(getCreatureByName(t[1]:lower()), true)
        end, 5 * 1000, end)
    
    doPlayerSendTextMessage(getCreatureByName(t[1]:lower()), 27, "Voce sera kikado em 5 segundos.")
    return true
end

 

 

 

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]", 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 c = cargos[t[2]:lower()]
    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
            return doPlayerSendCancel(cid, "Este player não está online, ou não existe.")
        end
    
    if not c then
        return doPlayerSendCancel(cid, "Cargo inexistente.")
    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(function()
        if isPlayer(getCreatureByName(t[1]:lower())) then
            doRemoveCreature(getCreatureByName(t[1]:lower()), true)
        end
    end, 5 * 1000)
    doPlayerSendTextMessage(getCreatureByName(t[1]:lower()), MESSAGE_STATUS_CONSOLE_BLUE, "Voce sera kikado em 5 segundos.")
    return true
end

Tag - talkactions.xml (data/talkactions):

<talkaction log="yes" words="/cargo" access="5" event="script" value="cargo.lua"/>

 

 

@topic, Qm poderá usar esse comando?

 

N ESTÁ FUNCIONANDO O SCRIPT E APAREÇE ESSE ERRO:

 

[Error - LuaScriptInterface::loadFile] cannot open data/talkactions/scripts/cargo.lua: No such file or directory
[Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/cargo.lua)
cannot open data/talkactions/scripts/cargo.lua: No such file or directory

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%

 

Link para o post
Compartilhar em outros sites

 

É porque está faltando o arquivo "cargo.lua" dentro da pasta "talkactions/scripts"

 

Você tem certeza que criou ele, e colocou o código acima?

 

:P o nome do Script estava diferente, mas deu esse erro:

 

[Error - LuaScriptInterface::loadFile] data/talkactions/scripts/cargos.lua:25: ')' expected (to close '(' at line 24) near 'addEvent'
[Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/cargos.lua)
data/talkactions/scripts/cargos.lua:25: ')' expected (to close '(' at line 24) near 'addEvent'

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%

 

Link para o post
Compartilhar em outros sites

Testa assim

 

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, ",")
    local c = cargos[t[2]:lower()]
    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
            return doPlayerSendCancel(cid, "Este player não está online, ou não existe.")
        end

    if not c then
        return doPlayerSendCancel(cid, "Cargo inexistente.")
    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()), MESSAGE_STATUS_CONSOLE_BLUE, "Voce sera kikado em 5 segundos.")
    return true
end

Tony Araújo  ;D 

 

Link para o post
Compartilhar em outros sites

 

Testa assim

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, ",")
    local c = cargos[t[2]:lower()]
    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
            return doPlayerSendCancel(cid, "Este player não está online, ou não existe.")
        end

    if not c then
        return doPlayerSendCancel(cid, "Cargo inexistente.")
    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()), MESSAGE_STATUS_CONSOLE_BLUE, "Voce sera kikado em 5 segundos.")
    return true
end

Deu esse erro:

 

[Error - LuaScriptInterface::loadFile] data/talkactions/scripts/cargos.lua:32: ')' expected (to close '(' at line 31) near 'addEvent'
Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/cargos.lua)
data/talkactions/scripts/cargos.lua:32: ')' expected (to close '(' at line 31) near 'addEvent'

@up

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%

 

Link para o post
Compartilhar em outros sites

Aah claro, erro meu :s

 

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, ",")
    local c = cargos[t[2]:lower()]
    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
            return doPlayerSendCancel(cid, "Este player não está online, ou não existe.")
        end

    if not c then
        return doPlayerSendCancel(cid, "Cargo inexistente.")
    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()), MESSAGE_STATUS_CONSOLE_BLUE, "Voce sera kikado em 5 segundos.")
    return true
end

Tony Araújo  ;D 

 

Link para o post
Compartilhar em outros sites

 

Aah claro, erro meu :s

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, ",")
    local c = cargos[t[2]:lower()]
    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
            return doPlayerSendCancel(cid, "Este player não está online, ou não existe.")
        end

    if not c then
        return doPlayerSendCancel(cid, "Cargo inexistente.")
    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()), MESSAGE_STATUS_CONSOLE_BLUE, "Voce sera kikado em 5 segundos.")
    return true
end

Olha o erro:

 

[Error - TalkAction Interface] 
[15/12/2014 17:25:15] data/talkactions/scripts/cargos.lua:onSay
[15/12/2014 17:25:15] Description: 
[15/12/2014 17:25:15] data/talkactions/scripts/cargos.lua:17: attempt to index field '?' (a nil value)
[15/12/2014 17:25:15] stack traceback:
[15/12/2014 17:25:15] data/talkactions/scripts/cargos.lua:17: in function <data/talkactions/scripts/cargos.lua:15>

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%

 

Link para o post
Compartilhar em outros sites

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 

 

Link para o post
Compartilhar em outros sites

 

 

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%

 

Link para o post
Compartilhar em outros sites

 

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.

Link para o post
Compartilhar em outros sites

 

É, 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%

 

Link para o post
Compartilhar em outros sites
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)

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo