Primeiramente vá na pasta lib e crie um arquivo ItemsEditedLib.lua e adicione isso dentro:
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
end
Depois vá na pasta items e adicione um arquivo newitems.XML (XML NAO LUA!!!) e adicione isso dentro:
<?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>
Bem como voces podem ver, o xml guarda os novos items, o xml funciona praticamente como o items.xml so que tem um novo campo o "spriteid", nele fica o itemid original.
Atributos:
"description"
"defense"
"attack"
"extradefense"
"armor"
"extraattack"
Para adicionar os novos itemids aos players use doPlayerAddEditedItem(cid, ITEMID) em vez de doPlayerAddItem...