Ir para conteúdo
  • 0

2 Itens Iguais Mais Arms Diferentes


henrique990

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

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

Editado por Tchubaka
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...