Ir para conteúdo

Sistema De Novos Items


ibne

Posts Recomendados

Bem, como todos sabem, não da pra criar 2 items com o mesmo sprite, somente editando a source e o dat etc...

 

Usando esse sistema que eu fiz voce nao precisara editar nada somente adicionar os scripts.

 

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 = 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[tonumber(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="elementIce" value="34"/>

<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.

 

Eu sei que ainda faltam atributos, com o tempo e com os pedidos eu vou adicionando.

 

Atributos:

  • "description"
  • "defense"
  • "attack"
  • "extradefense"
  • "armor"
  • "extraattack"

Para adicionar os novos itemids aos players use doPlayerAddEditedItem(cid, ITEMID) em vez de doPlayerAddItem...

 

Não tinha onde postar entao foi aki mesmo.

Link para o comentário
Compartilhar em outros sites

que coisa feia

100% raiper esse topico

se so copio e mudo a fonte to topico do mkalo,copio ate o nome do topico

coloque os devidos creditos(como ja foi dito)

 

a unica coisa que tem de diferente(tirando a cor e a fonte) é isso que se coloco no fim

'Não tinha onde postar entao foi aki mesmo. '

pra n nega aki o link do topico do mkalo

http://www.xtibia.com/forum/topic/158192-sistema-de-novos-items/

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...