Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

ALO COM QUE EU FALO?

 

    Gente tem como me ajuda com esse Script do Comedinha? ele faz um checagem de itens que um jogador especifico porem eu quero tirar a checagem de item da Cabeça, Amuleto, Armor, Mao Esquerda, Legs, Ring e Ammo Slot, ficando somente a verificação da BACKPACK, MAO DIREITA E PÉS

 

link do Script: http://www.tibiaking.com/forum/topic/20933-talkaction-player-check-system/

 

 

TAG:

<talkaction log="yes" words="!p;/p" access="5" event="script" value="playercheck.lua"/>

Script:
Talkactions/scripts/playercheck.lua

local config = {

check = {"check", "viwer", "verificar", "ver"},

delete = {"del", "delete", "deletar"},

search = {"search", "procurar"}

}



function getItemsInContainer(cont, sep)

local text = ""

local tsep = ""

local count = ""

for i=1, sep do

tsep = tsep.."-"

end

tsep = tsep..">"

for i=0, getContainerSize(cont.uid)-1 do

local item = getContainerItem(cont.uid, i)

if isContainer(item.uid) == FALSE then

if item.type > 0 then

count = "("..item.type.."x)"

end

text = text.."\n"..tsep..getItemNameById(item.itemid).." "..count.." ("..item.itemid..")"

else

if getContainerSize(item.uid) > 0 then

text = text.."\n"..tsep..getItemNameById(item.itemid).." ("..item.itemid..")"

text = text..getItemsInContainer(item, sep+2).." ("..item.itemid..")"

else

text = text.."\n"..tsep..getItemNameById(item.itemid).." ("..item.itemid..")"

end

end

end

return text

end



function onSay(cid, words, param, channel)

local slotName = {"Cabeça", "Amuleto", "Backpack", "Armor", "Mao Direita", "Mao Esquerda", "Legs", "Pés", "Ring", "Ammo Slot"}

local t = string.explode(param, ",")

if(table.isStrIn(param, config.check)) then

if getPlayerGroupId (cid) >= 5 then

local player = getPlayerByNameWildcard(t[2])

if isPlayer(player) == TRUE then

local text = getPlayerName(player).."'s Equipment: "

for i=1, 10 do

text = text.."\n\n"

local item = getPlayerSlotItem(player, i)

if item.itemid > 0 then

if isContainer(item.uid) == TRUE then

text = text..slotName[i]..": "..getItemNameById(item.itemid).." ("..item.itemid..") "..getItemsInContainer(item, 1)

else

text = text..slotName[i]..": "..getItemNameById(item.itemid).." ("..item.itemid..")"

end

else

text = text..slotName[i]..": Empty"

end

end

doShowTextDialog(cid, 6579, text)

else

doPlayerSendCancel(cid, "This player is not online.")

end

end

elseif(table.isStrIn(param, config.delete)) then

if getPlayerGroupId(cid) >= 5 then

local player = getPlayerByNameWildcard(t[3])

if isPlayer(player) == TRUE then

count = t[4]

if(not t[4]) then

count = 1

end

if getPlayerItemCount(player, t[2]) > 0 then

if doPlayerRemoveItem(player, t[2], count) then

doPlayerSendCancel(cid, "Item Deletado.")

else

doPlayerSendCancel(cid, "Este player não esta quantidade.")

end

else

doPlayerSendCancel(cid, "Este player não tem o item.")

end

end

end

elseif(table.isStrIn(param, config.search)) then

if getPlayerGroupId (cid) >= 5 then

local player = getPlayerByNameWildcard(t[3])

local result = db.getResult("SELECT name, online FROM players WHERE id IN (SELECT player_id FROM player_items WHERE itemtype = ".. t[2] ..");")

local msg = "Resultados da busca pelo item ".. t[2] .." em seu banco de dados:\n\n"

if result:getID() ~= -1 then

while true do

local name = result:getDataString("name")

local online = result:getDataInt("online")

msg = msg .. name .." [".. (online == 1 and "Online" or "Offline") .."]\n"

if not result:next() then

break

end

end

else

msg = msg .. "O item não foi encontrado em nenhum jogador."

end

doShowTextDialog(cid, t[2], msg)

end

end

return true

end

 

 

REP+ E OBRIGADU! :D

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%

 

  • Respostas 11
  • Visualizações 489
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Vai aprender quando? Negativado.

 

O tópico foi movido para a área correta, preste mais atenção da próxima vez!
Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:
De: "OTServAprovação de Tópicos de Conteúdos"
Para: "OTServSuporte OTServSuporte de Scripts"

Postado

Mesmo assim, irei ajudar, basta remover aqui: 

local slotName = {"Cabeça", "Amuleto", "Backpack", "Armor", "Mao Direita", "Mao Esquerda", "Legs", "Pés", "Ring", "Ammo Slot"}

Ficando assim:

local slotName = {"Backpack", "Mao Direita", "Pés"}

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

Se te ajudei, deixe seu curti, clique em melhor resposta, para que eu possa ajudar sempre.

 

skype.png

Trabalhos (C++):

Cor das mensagens nos channels

Ajusta/Mudar cor das mensagens de Loot

Liberação dos novos Remakes da PokeXGames.

NPC "Guild Master" que cria, deleta, invita, kicka players da guild.

 

 B4OBUkH.png At Soon, LIKE ON FACEBOOK. Clik on Imgs

Postado

Se não der certo, tenta esse:

local config = {
    check = {"check", "viwer", "verificar", "ver"},
    delete = {"del", "delete", "deletar"},
    search = {"search", "procurar"}
}

function getItemsInContainer(cont, sep)
    local text, tsep, count = "", "", ""
    for i = 1, sep do
        tsep = tsep .. "-"
    end
    tsep = tsep .. ">"
    for i = 0, getContainerSize(cont.uid) - 1 do
        local item = getContainerItem(cont.uid, i)
        if not isContainer(item.uid) then
            if item.type > 0 then
                count = "(" .. item.type .. "x)"
            end
            text = text .. "\n" .. tsep .. getItemNameById(item.itemid) .. " " .. count .. " (" .. item.itemid .. ")"
        else
            if getContainerSize(item.uid) > 0 then
                text = text .. "\n" .. tsep .. getItemNameById(item.itemid) .. " (" .. item.itemid .. ")"
                text = text .. getItemsInContainer(item, sep + 2) .. " (" .. item.itemid .. ")"
            else
                text = text .. "\n" .. tsep .. getItemNameById(item.itemid) .. " (" .. item.itemid .. ")"
            end
        end
    end
    return text
end

function onSay(cid, words, param, channel)
    local slotName = {CONST_SLOT_BACKPACK, CONST_SLOT_RIGHT, CONST_SLOT_FEET}
    local t = string.explode(param, ",")
    if(table.isStrIn(param, config.check)) then
        if getPlayerGroupId(cid) >= 5 then
            local player = getPlayerByNameWildcard(t[2])
            if isPlayer(player) then
                local text = getPlayerName(player) .. "'s Equipment: "
                for i = 1, #slotName do
                    text = text .. "\n\n"
                    local item = getPlayerSlotItem(player, slotName[i])
                    if item.itemid > 0 then
                        if isContainer(item.uid) then
                            text = text .. slotName[i] .. ": " .. getItemNameById(item.itemid) .. " (" .. item.itemid .. ") " .. getItemsInContainer(item, 1)
                        else
                            text = text .. slotName[i] .. ": " .. getItemNameById(item.itemid) .. " (" .. item.itemid .. ")"
                        end
                    else
                        text = text .. slotName[i] .. ": Empty"
                    end
                end
                doShowTextDialog(cid, 6579, text)
            else
                doPlayerSendCancel(cid, "This player is not online.")
            end
        end
    elseif(table.isStrIn(param, config.delete)) then
        if getPlayerGroupId(cid) >= 5 then
            local player = getPlayerByNameWildcard(t[3])
            if isPlayer(player) then
                count = t[4]
                if(not t[4]) then
                    count = 1
                end
                if getPlayerItemCount(player, t[2]) > 0 then
                    if doPlayerRemoveItem(player, t[2], count) then
                        doPlayerSendCancel(cid, "Item Deletado.")
                    else
                        doPlayerSendCancel(cid, "Este player não esta quantidade.")
                    end
                else
                    doPlayerSendCancel(cid, "Este player não tem o item.")
                end
            end
        end
    elseif(table.isStrIn(param, config.search)) then
        if getPlayerGroupId(cid) >= 5 then
            local player = getPlayerByNameWildcard(t[3])
            local result = db.getResult("SELECT name, online FROM players WHERE id IN (SELECT player_id FROM player_items WHERE itemtype = " ..  t[2]  .. ");")
            local msg = "Resultados da busca pelo item " ..  t[2]  .. " em seu banco de dados:\n\n"
            if result:getID() ~= -1 then
                while true do
                    local name = result:getDataString("name")
                    local online = result:getDataInt("online")
                    msg = msg .. name  .. " [" ..  (online = 1 and "Online" or "Offline") .. "]\n"
                    if not result:next() then
                        break
                    end
                end
            else
                msg = msg .. "O item não foi encontrado em nenhum jogador."
            end
            doShowTextDialog(cid, t[2], msg)
        end
    end
    return true
end
Postado
  • Autor

 

Mesmo assim, irei ajudar, basta remover aqui: 

local slotName = {"Cabeça", "Amuleto", "Backpack", "Armor", "Mao Direita", "Mao Esquerda", "Legs", "Pés", "Ring", "Ammo Slot"}

Ficando assim:

local slotName = {"Backpack", "Mao Direita", "Pés"}

ja tentei e não funcionou... ;-;

 

Se não der certo, tenta esse:

local config = {
    check = {"check", "viwer", "verificar", "ver"},
    delete = {"del", "delete", "deletar"},
    search = {"search", "procurar"}
}

function getItemsInContainer(cont, sep)
    local text, tsep, count = "", "", ""
    for i = 1, sep do
        tsep = tsep .. "-"
    end
    tsep = tsep .. ">"
    for i = 0, getContainerSize(cont.uid) - 1 do
        local item = getContainerItem(cont.uid, i)
        if not isContainer(item.uid) then
            if item.type > 0 then
                count = "(" .. item.type .. "x)"
            end
            text = text .. "\n" .. tsep .. getItemNameById(item.itemid) .. " " .. count .. " (" .. item.itemid .. ")"
        else
            if getContainerSize(item.uid) > 0 then
                text = text .. "\n" .. tsep .. getItemNameById(item.itemid) .. " (" .. item.itemid .. ")"
                text = text .. getItemsInContainer(item, sep + 2) .. " (" .. item.itemid .. ")"
            else
                text = text .. "\n" .. tsep .. getItemNameById(item.itemid) .. " (" .. item.itemid .. ")"
            end
        end
    end
    return text
end

function onSay(cid, words, param, channel)
    local slotName = {CONST_SLOT_BACKPACK, CONST_SLOT_RIGHT, CONST_SLOT_FEET}
    local t = string.explode(param, ",")
    if(table.isStrIn(param, config.check)) then
        if getPlayerGroupId(cid) >= 5 then
            local player = getPlayerByNameWildcard(t[2])
            if isPlayer(player) then
                local text = getPlayerName(player) .. "'s Equipment: "
                for i = 1, #slotName do
                    text = text .. "\n\n"
                    local item = getPlayerSlotItem(player, slotName[i])
                    if item.itemid > 0 then
                        if isContainer(item.uid) then
                            text = text .. slotName[i] .. ": " .. getItemNameById(item.itemid) .. " (" .. item.itemid .. ") " .. getItemsInContainer(item, 1)
                        else
                            text = text .. slotName[i] .. ": " .. getItemNameById(item.itemid) .. " (" .. item.itemid .. ")"
                        end
                    else
                        text = text .. slotName[i] .. ": Empty"
                    end
                end
                doShowTextDialog(cid, 6579, text)
            else
                doPlayerSendCancel(cid, "This player is not online.")
            end
        end
    elseif(table.isStrIn(param, config.delete)) then
        if getPlayerGroupId(cid) >= 5 then
            local player = getPlayerByNameWildcard(t[3])
            if isPlayer(player) then
                count = t[4]
                if(not t[4]) then
                    count = 1
                end
                if getPlayerItemCount(player, t[2]) > 0 then
                    if doPlayerRemoveItem(player, t[2], count) then
                        doPlayerSendCancel(cid, "Item Deletado.")
                    else
                        doPlayerSendCancel(cid, "Este player não esta quantidade.")
                    end
                else
                    doPlayerSendCancel(cid, "Este player não tem o item.")
                end
            end
        end
    elseif(table.isStrIn(param, config.search)) then
        if getPlayerGroupId(cid) >= 5 then
            local player = getPlayerByNameWildcard(t[3])
            local result = db.getResult("SELECT name, online FROM players WHERE id IN (SELECT player_id FROM player_items WHERE itemtype = " ..  t[2]  .. ");")
            local msg = "Resultados da busca pelo item " ..  t[2]  .. " em seu banco de dados:\n\n"
            if result:getID() ~= -1 then
                while true do
                    local name = result:getDataString("name")
                    local online = result:getDataInt("online")
                    msg = msg .. name  .. " [" ..  (online = 1 and "Online" or "Offline") .. "]\n"
                    if not result:next() then
                        break
                    end
                end
            else
                msg = msg .. "O item não foi encontrado em nenhum jogador."
            end
            doShowTextDialog(cid, t[2], msg)
        end
    end
    return true
end

Cara deu erro:

[Error - LuaScriptInterface::loadFile] data/talkactions/scripts/playercheck.lua:86: ')' expected near '='
[Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/playercheck.lua)
data/talkactions/scripts/playercheck.lua:86: ')' expected near '='

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%

 

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