Postado Dezembro 24, 2012 12 anos Este é um post popular. Versão: 3.2Versão de tibia: 9.4+ (Funciona em anteriores)Descrição: Existem muitos scripts que ajudam o administrador do servidor a cuidar dele, um deles é saber coisas sobre quem está jogando e se está sendo honesta. Eu peguei alguns scripts e estou juntando em um para diminuir o tamanho e ter uma fácil verificação.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 Explicação:Quando o god digita:/p check, (PNAME) - Ele verifica os items que o player tem./p del, (ID), (PNAME), (COUNT) - Ele deleta o item de determinado player (Se não colocar o count ele irá remover somente 1)./p search, (ID) - Ele verifica quantos players tem tal item e se está online.Créditos:OneshotCaioODemaisComedinha (Bruno Carvalho) Editado Janeiro 10, 2014 11 anos por comedinhasss (veja o histórico de edições)
Postado Dezembro 24, 2012 12 anos Hmm muito melhor que o que eu postei rsrs. Mas o segundo comando pra remover o Item do player. Ele precisa estar offline?
Postado Dezembro 24, 2012 12 anos Autor Hmm muito melhor que o que eu postei rsrs. Mas o segundo comando pra remover o Item do player. Ele precisa estar offline? Precisa estar online, vou ver se na próxima versão ele pode estar tanto off quanto on.
Postado Dezembro 24, 2012 12 anos Vixi, estando online é melhor ainda. Quando os players clonavam item em meu OT tinha que esperar deslogar pra remover pela database ;/ Porque se não dava save e voltava tudo rsrs. Muito perfeito esse Script.
Postado Dezembro 24, 2012 12 anos Autor Vixi, estando online é melhor ainda. Quando os players clonavam item em meu OT tinha que esperar deslogar pra remover pela database ;/ Porque se não dava save e voltava tudo rsrs. Muito perfeito esse Script. Ty manow, fiz algumas alterações. Atualização: 3.1: Fixes: O /p check mostra o id dos items (eu tinha esquecido de atualiza no meu aqui) O /p del agora deleta os items do player (foi uma falha minha e estava removendo o item do próprio god).
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.