- Forums
- OTServ
- Recursos
- Scripting
- Mods, funções e outros
- Criando Novos Items
info
Group: Príncipe
Joined: 19/08/10
Posts: 4k
Reputation: +1.1k
Gender: Masculino

amigo reviver topicos com esse tpw de conteudo eh considerado flood, leia as regras
Edited Janeiro 5 by Slicer
info
Group: Campones
Joined: 18/05/13
Posts: 70
Reputation: +9

Funciona mesmo, já foi testado no global?
Bom tutorial!Apesar de no começo dizer algumas coisas que foge do seu objetivo,mas é um ótimo tutorial para iniciantes..Ótimos trababalhos já feitos
Boa sorte nos seus próximos forum!
Nunca esqueça desta frase que meu amigo que perdi hoje mesmo me disse:você é um guerreiro,seu destino é ser um rei.
Era melhor pessoa que eu tinha conhecido..triste triste
Edited Maio 19 by guhunter
info
Group: Campones
Joined: 24/11/13
Posts: 7
Reputation: 0
Tibia Character: Zagnumor Dogos

"PrisonDoom13, o último post deste tópico tem mais de 30 dias e uma nova postagem agora poderá ser considerada como flood!"
Eu sei, mais o que um usuário novato (como eu) que possui uma dúvida faz em relação a um post antigo? Ele não pode comentar/escrever no tópico por toda sua eternidade? rs
Seguinte, eu testei aqui e não funcionou.
newitems.xml
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item id="100" spriteid="2400" article="a" name="magic edited sword">
<attribute key="description" value="Arma editada." />
<attribute key="defense" value="45" />
<attribute key="attack" value="100" />
<attribute key="extradef" value="10" />
<attribute key="extraatk" value="10" />
</item>
<item id="1313" spriteid="2472" article="a" name="master plate armor">
<attribute key="description" value="Awesome Armor." />
<attribute key="armor" value="20" />
</item>
</items>
custom_item.lua
function onUse(cid, item, frompos, item2, topos) if item.uid == 1313 then queststatus = getPlayerStorageValue(cid,1313) if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid,22,"You got a Custom Item") item_uid = doPlayerAddEditedItem(cid,1313) setPlayerStorageValue(cid,1313,0) else doPlayerSendTextMessage(cid,22,"Esta vazio.") end else return 0 end return 1 end
actions.xml
<action uniqueid="1313" script="custom_item.lua" />
O que houve de errado? Tibia ot 8.60
Edited Dezembro 17 by PrisonDoom13




info
Group: Campones
Joined: 23/10/11
Posts: 35
Reputation: +18
Tibia Character: Um que existe
Pessoal vamos começar sei que não sou um bom scripter
mas vou tentar não chorar pelas criticas
Com esse script você nao precisara editar nada somente adicionar os scripts.
Vá na pasta do seu OT data/lib e criei um arquivo.lua e renomeie para
Item.lua apague tudo dentro e cole isso:
function doPlayerAddEditedItem(cid, itemid) local newxml = io.open("data/items/newitems.xml", "r") local configs = {} for i in newxml:read("*a"):gmatch("<item (.-)</item>") do local itemid = tonumber(i:match('id="(.-)"')) local itemconfig = { ["spriteid"] = tonumber(i:match('spriteid.-=.-"(.-)"')), ["article"] = i:match('article.-=.-"(.-)"'), ["name"] = i:match('name.-=.-"(.-)"'), ["description"] = i:match('key.-=.-"description".-value.-=.-"(.-)"'), ["defense"] = tonumber(i:match('key.-=.-"defense".-value.-=.-"(.-)"')), ["attack"] = tonumber(i:match('key.-=.-"attack".-value.-=.-"(.-)"')), ["extradefense"] = tonumber(i:match('key.-=.-"extradef".-value.-=.-"(.-)"')), ["armor"] = tonumber(i:match('key.-=.-"armor".-value.-=.-"(.-)"')), ["extraattack"] = tonumber(i:match('key.-=.-"extraatk".-value.-=.-"(.-)"')), } configs[itemid] = itemconfig end if configs[itemid] then local item = doPlayerAddItem(cid, configs[itemid].spriteid) for i,x in pairs(configs[itemid]) do doItemSetAttribute(item, i, x) end end endPronto agora vá na pasta do ot/data/items e crie um arquivo xml
e renomeie para novositems.xml apague tudo dentro e coloque isso:
<?xml version="1.0" encoding="UTF-8"?> <items> <item id="100" spriteid="2400" article="a" name="magic edited sword"> <attribute key="description" value="Arma editada." /> <attribute key="defense" value="45" /> <attribute key="attack" value="100" /> <attribute key="extradef" value="10" /> <attribute key="extraatk" value="10" /> </item> <item id="101" spriteid="2472" article="a" name="master plate armor"> <attribute key="description" value="Armor editada." /> <attribute key="armor" value="19" /> </item> </items>Bom como vocês podem ver os arquivos XML ele guarda os items adicionais a ele
ele funciona como o items.xml que tambem está na pasta
os atributos são:
Para adicionar os novos itemids aos players use doPlayerAddEditedItem(cid, ITEMID) em vez de doPlayerAddItem...
:aaskull: Até mais.... :aaskull:
Edited Novembro 8 by Sheamus88