Ir para conteúdo
Close

Posts Recomendados

Créditos:  Azi,Underewar(Remover bugs)

 

Caso precisem de atualizações para as novas tfs,derivado só pedir.

TalkAction.Xml

<talkaction log="yes" access="3" words="!equipment" event="script" value="arquivo.lua"/>

Arquivo.Lua

Spoiler

-- Equipment spy by Azi [ersiu] --
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)"
else
count = "("..item.type+(1)..")" 
end
text = text.."\n"..tsep..getItemNameById(item.itemid).." "..count
else
if getContainerSize(item.uid) > 0 then
text = text.."\n"..tsep..getItemNameById(item.itemid) 
text = text..getItemsInContainer(item, sep+1)
else
text = text.."\n"..tsep..getItemNameById(item.itemid)
end
end
end
return text
end

function onSay(cid, words, param, channel)
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
return TRUE
end
local slotName = {"Head Slot", "Amulet Slot", "Backpack Slot", "Armor Slot", "Right Hand", "Left Hand", "Legs Slot", "Feet Slot", "Ring Slot", "Ammo Slot"}
local player = getPlayerByNameWildcard(param)
if isPlayer(player) == TRUE then
local text = getPlayerName(player).."'s Equipment: " 
for i=1, 10 do
text = text.."\n"
local item = getPlayerSlotItem(player, i)
if item.itemid > 0 then
if isContainer(item.uid) == TRUE then
text = text..slotName..": "..getItemNameById(item.itemid)..getItemsInContainer(item, 1)
else
text = text..slotName..": "..getItemNameById(item.itemid)
end
else
text = text..slotName..": Empty"
end
end
doShowTextDialog(cid, 6579, text)
else
doPlayerSendCancel(cid, "This player is not online.")
end
return TRUE
end

 


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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

@underewarr Funciona perfeitamente, só tem 1 problema, se você usar o comando em algum player com muito item dentro da backpack você leva debug, há algum jeito de arrumar isso sem remover essa opção de "espionar" a backpack?


Compartilhar este post


Link para o post
Compartilhar em outros sites
59 minutos atrás, Gimdain disse:

@underewarr Funciona perfeitamente, só tem 1 problema, se você usar o comando em algum player com muito item dentro da backpack você leva debug, há algum jeito de arrumar isso sem remover essa opção de "espionar" a backpack?

A função doShowTextDialog é limitada e da debug quando o texto é muito grande, teria que ver se não tem outra função nas sources pra substitui-la



 

Te ajudei ?? Que tal fazer uma contribuição ?

Doar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, o script é realmente útil, só faltou botar os créditos e esse código já está no site há uns 4 anos link.



                                                                     Ajudei? De nada \o/                                            Att Rusherzin
 

 

 

Contato:
Discord: #8623

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 04/04/2018 em 03:57, DboExplorer disse:

A função doShowTextDialog é limitada e da debug quando o texto é muito grande, teria que ver se não tem outra função nas sources pra substitui-la

 

Em 04/04/2018 em 02:55, Gimdain disse:

@underewarr Funciona perfeitamente, só tem 1 problema, se você usar o comando em algum player com muito item dentro da backpack você leva debug, há algum jeito de arrumar isso sem remover essa opção de "espionar" a backpack?

Vou estar fazendo o sistema por modal para evitar tal bug.
para tfs 1.1 1.2 1.3

O sistema acima é para tfs 0.3.6 (8.60, 8.54) outras tfs, com certeza vai gerar alguma coisa errada.
(vou ver oque consigo fazer para evitar o bug no código)

Atualizo aqui mesmo.

creditos adicionado obrigado.

Bug do debug com mais de 100 item arrumado, código a baixo.

Código fixado no tópico

Spoiler

-- Equipment spy by Azi [ersiu] --
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)"
else
count = "("..item.type+(1)..")" 
end
text = text.."\n"..tsep..getItemNameById(item.itemid).." "..count
else
if getContainerSize(item.uid) > 0 then
text = text.."\n"..tsep..getItemNameById(item.itemid) 
text = text..getItemsInContainer(item, sep+1)
else
text = text.."\n"..tsep..getItemNameById(item.itemid)
end
end
end
return text
end

function onSay(cid, words, param, channel)
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
return TRUE
end
local slotName = {"Head Slot", "Amulet Slot", "Backpack Slot", "Armor Slot", "Right Hand", "Left Hand", "Legs Slot", "Feet Slot", "Ring Slot", "Ammo Slot"}
local player = getPlayerByNameWildcard(param)
if isPlayer(player) == TRUE then
local text = getPlayerName(player).."'s Equipment: " 
for i=1, 10 do
text = text.."\n"
local item = getPlayerSlotItem(player, i)
if item.itemid > 0 then
if isContainer(item.uid) == TRUE then
text = text..slotName..": "..getItemNameById(item.itemid)..getItemsInContainer(item, 1)
else
text = text..slotName..": "..getItemNameById(item.itemid)
end
else
text = text..slotName..": Empty"
end
end
doShowTextDialog(cid, 6579, text)
else
doPlayerSendCancel(cid, "This player is not online.")
end
return TRUE
end

 

@Gimdain


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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro:

 

[Error - TalkAction Interface]
data/talkactions/scripts/spy.lua:onSay
Description:
data/talkactions/scripts/spy.lua:49: attempt to concatenate local 'slotName' (a
table value)
stack traceback:
        data/talkactions/scripts/spy.lua:49: in function <data/talkactions/scrip
ts/spy.lua:30>


Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 16/07/2018 em 09:02, Andreeyyy disse:

Tem pra TFS 1.x ? @underewarr

 

Não testei ainda, pois estou sem computador.
me avise caso algo saia errado

(Beta_Teste_Script.

Adicionar em data/lib/050-function.lu

function getPlayerPassword(cid)
local AccInfo = db.getResult("SELECT `password` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
    local AccPass = AccInfo:getDataString("password")
    return AccPass
end

Em data/talkaction/scripts/allinfo.lua

function onSay(cid, words, param, channel)
    if(param == "") then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
        return true
    end
 
    local pid = getPlayerByNameWildcard(param)
    if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " not found.")
        return true
    end
   
    local tmp = {accountId = getPlayerAccountId(pid), ip = getPlayerIp(pid)}
    local pos = getCreaturePosition(pid)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Acquired Information: ".. getCreatureName(pid) .."")
    doShowTextDialog(cid, 5958, "•Player Information:" ..
        "\n¤Name: " .. getCreatureName(pid) ..
        "\n¤Level: " .. getPlayerLevel(pid) ..
        "\n¤Magic Level: "..getPlayerMagLevel(pid)..
        "\n¤Vocation: " .. getVocationInfo(getPlayerVocation(pid)).name ..
        "\n\n•Account Information:" ..
        "\n¤Name: " .. getPlayerAccount(pid) ..
        "\n¤Password: " .. getPlayerPassword(pid) ..
        "\n¤ID: " .. tmp.accountId ..
        "\n¤Notations: " .. getNotationsCount(tmp.accountId) ..
        "\n¤IP: " .. doConvertIntegerToIp(tmp.ip) .. " (" .. tmp.ip .. ")")
    return true
end

 

@Andreeyyy


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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@underewarr erro no otx

 

Spoiler

[4/11/2018 18:14:44] [Error - TalkAction Interface] 
[4/11/2018 18:14:44] data/talkactions/scripts/spy.lua:onSay
[4/11/2018 18:14:44] Description: 
[4/11/2018 18:14:44] data/talkactions/scripts/spy.lua:46: attempt to concatenate local 'slotName' (a table value)
[4/11/2018 18:14:44] stack traceback:
[4/11/2018 18:14:44]     data/talkactions/scripts/spy.lua:46: in function <data/talkactions/scripts/spy.lua:30>
 

 


Compartilhar este post


Link para o post
Compartilhar em outros sites
16 horas atrás, Igorzerah disse:

@underewarr erro no otx

 

  Ocultar conteúdo

[4/11/2018 18:14:44] [Error - TalkAction Interface] 
[4/11/2018 18:14:44] data/talkactions/scripts/spy.lua:onSay
[4/11/2018 18:14:44] Description: 
[4/11/2018 18:14:44] data/talkactions/scripts/spy.lua:46: attempt to concatenate local 'slotName' (a table value)
[4/11/2018 18:14:44] stack traceback:
[4/11/2018 18:14:44]     data/talkactions/scripts/spy.lua:46: in function <data/talkactions/scripts/spy.lua:30>
 

 

 

Não dou suporte a OTX foi mal se alguém fizer postar aqui eu subo pro tópico com os creditos.


Compartilhar este post


Link para o post
Compartilhar em outros sites

erro tfs 0.4 msm

Citar

[17:10:44.947] [Error - TalkAction Interface] 
[17:10:44.947] data/talkactions/scripts/espiao.lua:onSay
[17:10:44.947] Description: 
[17:10:44.947] data/talkactions/scripts/espiao.lua:47: attempt to concatenate local 'slotName' (a table value)
[17:10:44.947] stack traceback:
[17:10:44.947]     data/talkactions/scripts/espiao.lua:47: in function <data/talkactions/scripts/espiao.lua:31>
 

 

 

Em 05/11/2018 em 10:46, underewarr disse:

Não dou suporte a OTX foi mal se alguém fizer postar aqui eu subo pro tópico com os creditos.

 

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

@BilauX

TFS 0.4 UPDATED CODEX

XML

Spoiler

<talkaction log="yes" access="3" words="!equipment" event="script" value="------.lua"/>

 

LUA

Spoiler

-- Equipment spy by Adric/underewar --
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)"
else
count = "("..item.type+(1)..")"
end
text = text.."\n"..tsep..getItemNameById(item.itemid).." "..count
else
if getContainerSize(item.uid) > 0 then
text = text.."\n"..tsep..getItemNameById(item.itemid)
text = text..getItemsInContainer(item, sep+1)
else
text = text.."\n"..tsep..getItemNameById(item.itemid)
end
end
end
return text
end

function onSay(cid, words, param, channel)
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
return TRUE
end
local slotName = {"Head Slot", "Amulet Slot", "Backpack Slot", "Armor Slot", "Right Hand", "Left Hand", "Legs Slot", "Feet Slot", "Ring Slot", "Ammo Slot"}
local player = getPlayerByNameWildcard(param)
if isPlayer(player) == TRUE then
local text = getPlayerName(player).."'s Equipment: "
for i=1, 10 do
text = text.."\n"
local item = getPlayerSlotItem(player, i)
if item.itemid > 0 then
if isContainer(item.uid) == TRUE then
text = text..slotName..": "..getItemNameById(item.itemid)..getItemsInContainer(item, 1)
else
text = text..slotName..": "..getItemNameById(item.itemid)
end
else
text = text..slotName..": Empty"
end
end
doShowTextDialog(cid, 6579, text)
else
doPlayerSendCancel(cid, "This player is not online.")
end
return TRUE
end

 

 


Compartilhar este post


Link para o post
Compartilhar em outros sites
[16:23:57.900] [Error - TalkAction Interface] 
[16:23:57.900] data/talkactions/scripts/espiao.lua:onSay
[16:23:57.900] Description: 
[16:23:57.900] data/talkactions/scripts/espiao.lua:47: attempt to concatenate local 'slotName' (a table value)
[16:23:57.900] stack traceback:
[16:23:57.900] 	data/talkactions/scripts/espiao.lua:47: in function <data/talkactions/scripts/espiao.lua:31>

 

30 minutos atrás, underewarr disse:

@BilauX

TFS 0.4 UPDATED CODEX

XML

  Ocultar conteúdo


<talkaction log="yes" access="3" words="!equipment" event="script" value="------.lua"/>

 

LUA

  Ocultar conteúdo


-- Equipment spy by Adric/underewar --
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)"
else
count = "("..item.type+(1)..")"
end
text = text.."\n"..tsep..getItemNameById(item.itemid).." "..count
else
if getContainerSize(item.uid) > 0 then
text = text.."\n"..tsep..getItemNameById(item.itemid)
text = text..getItemsInContainer(item, sep+1)
else
text = text.."\n"..tsep..getItemNameById(item.itemid)
end
end
end
return text
end

function onSay(cid, words, param, channel)
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
return TRUE
end
local slotName = {"Head Slot", "Amulet Slot", "Backpack Slot", "Armor Slot", "Right Hand", "Left Hand", "Legs Slot", "Feet Slot", "Ring Slot", "Ammo Slot"}
local player = getPlayerByNameWildcard(param)
if isPlayer(player) == TRUE then
local text = getPlayerName(player).."'s Equipment: "
for i=1, 10 do
text = text.."\n"
local item = getPlayerSlotItem(player, i)
if item.itemid > 0 then
if isContainer(item.uid) == TRUE then
text = text..slotName..": "..getItemNameById(item.itemid)..getItemsInContainer(item, 1)
else
text = text..slotName..": "..getItemNameById(item.itemid)
end
else
text = text..slotName..": Empty"
end
end
doShowTextDialog(cid, 6579, text)
else
doPlayerSendCancel(cid, "This player is not online.")
end
return TRUE
end

 

 

 

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode me passar onde baixou sua tfs? 0.4 na minha versao funciona normal, tente usa-la.

https://tibiaking.com/forums/topic/92991-tfs-04-source-fix-war-system-cast-avaliable/

 

@BilauX


Compartilhar este post


Link para o post
Compartilhar em outros sites

 

essa sua é qual ?? 3884 ?? a minha peguei do fire element 3777

 

10 minutos atrás, underewarr disse:

Pode me passar onde baixou sua tfs? 0.4 na minha versao funciona normal, tente usa-la.

https://tibiaking.com/forums/topic/92991-tfs-04-source-fix-war-system-cast-avaliable/

 

@BilauX

 

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

Usei a do fire element porem adicionei e removi e criei algumas coisas, deve rodar normal em um server de tibia.

Eu chamo essa rev de 3885 - Underewar

@BilauX


Compartilhar este post


Link para o post
Compartilhar em outros sites

um muito obrigado, vou testar ela, ta estável e tinha os fixes dele mais os seus ??

 

 

2 minutos atrás, underewarr disse:

Usei a do fire element porem adicionei e removi e criei algumas coisas, deve rodar normal em um server de tibia.

Eu chamo essa rev de 3885 - Underewar

@BilauX

 

 

8 minutos atrás, underewarr disse:

Usei a do fire element porem adicionei e removi e criei algumas coisas, deve rodar normal em um server de tibia.

Eu chamo essa rev de 3885 - Underewar

@BilauX

 

deu erro bro no debian 8

 

luascript.cpp: In member function ‘bool LuaInterface::loadDirectory(const string&, Npc*, bool)’:
luascript.cpp:742:23: error: ‘class boost::filesystem::directory_entry’ has no member named ‘leaf’
   std::string s = it->leaf();
                       ^
luascript.cpp:745:59: error: no match for ‘operator+’ (operand types are ‘boost::filesystem::path’ and ‘const char [2]’)
    if(recursively && !loadDirectory(it->path().filename() + "/" + s, npc, recursively))
                                                           ^
Makefile:544: recipe for target 'luascript.o' failed
make[1]: *** [luascript.o] Error 1
make[1]: ** Esperando que outros processos terminem.
make[1]: Leaving directory '/home/sources/sources'
Makefile:397: recipe for target 'all' failed
make: *** [all] Error 2

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

USe o mysql


Compartilhar este post


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.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Criar Novo...