caotic, Parabens cara voce sempre postando coisas uteis aqui no ékz.
uma pequena pergunta. quais versõens funciona?
Por caotic, 08 de fev. de 2013 em Actions e Talkactions
info
Grupo: Conde
Registrado: 27/07/12
Posts: 757
Reputação: +57
Char no Tibia: [ADM] Bhoris

caotic, Parabens cara voce sempre postando coisas uteis aqui no ékz.
uma pequena pergunta. quais versõens funciona?
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

caotic, Parabens cara voce sempre postando coisas uteis aqui no ékz. uma pequena pergunta. quais versõens funciona?
Acredito em 8.x para cima.
E claro o items.xml não deve ter erros grandes.
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have
Ola galera xtibiana.
As vezes precisamos ler arquivos mais nem sempre eles são organizados e fáceis de ler um exemplo e a xml items do seu otserv.
Ler um arquivo grande e com informações que muitas das vezes você não ira precisar no momento se torna uma tarefa árdua e cansativa.
Pensando nisso desenvolvi um código que lé seu arquivo items.xml e procura informações crucias organizando tudo em apenas um documento.
Além disso você pode colocar anotações e modificar livremente o arquivo gerado.
Quando estiver procurando algum item em especial ficará muito mais fácil acha - lo e descobrir de maneira pratica suas informações.
O código e pequeno e simples basta executar uma vez a talkaction.
Vamos a instalação.
Crie um arquivo de texto chamado de log na pasta raiz do seu otserv onde fica seu arquivo config.lua.
Depois vá em talkactions e crie um arquivo lua chamado de itens e coloque isto:
function onSay(cid, words, param, channel) function getItensAndAttrItens() local dir = "data/items/items.xml" local item = io.open(dir, "r") str = "Itens Disponiveis no Otserv\n" for i in item:read("*a"):gmatch('</item>(.-)</item>') do local itemid = tonumber(i:match('item id="(.-)"')) or tonumber(i:match('toid="(.-)"')) local name = tostring(i:match('name="(.-)"')) local desc = tostring(i:match('<attribute key="description" value="(.-)" />')) str = ""..str.."\n-"..itemid.."-Nome do item = "..name.." - Desc = "..desc.."" io.close() end return str end local file = io.open("./log.txt", "a") file:write(getItensAndAttrItens()) file:close() return true endAgora vá em talkactions.xml e coloque isto:
<talkaction words="/item" event="script" value="itens.lua"/>
Editado Fevereiro 8 por caotic