- Fórum
- OTServ
- Recursos
- Scripting
- Mods, funções e outros
- Criando Novos Items
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

amigo reviver topicos com esse tpw de conteudo eh considerado flood, leia as regras
Editado Janeiro 5 por Slicer
info
Grupo: Campones
Registrado: 18/05/13
Posts: 70
Reputação: +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
Editado Maio 19 por guhunter
info
Grupo: Campones
Registrado: 24/11/13
Posts: 7
Reputação: 0
Char no Tibia: 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
Editado Dezembro 17 por PrisonDoom13




info
Grupo: Campones
Registrado: 23/10/11
Posts: 35
Reputação: +18
Char no Tibia: 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:
Editado Novembro 8 por Sheamus88