MA

Sistema De Novos Items

Por MatheusGlad, 08 de jun. de 2011 em Mods, funções e outros

script
5.0 (1)
49
15.2k
MatheusGladM
08 de junho de 2011 às 17:49

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

 

Eu sei que ainda faltam atributos, com o tempo e com os pedidos eu vou adicionando. (É importante que voces peçam por novos atributos, porque os outros são mais complicados e eu nao vou faze-los para ninguem usar)

 

Atributos:

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

 

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

Editado Julho 25 por MatheusMkalo

08 de junho de 2011 às 17:56

Como sempre Mkalo na frente de todos (:

REP+

KydraiK
08 de junho de 2011 às 18:46

Legal cara, parece muito bom.

Parabéns pelo trabalho ;)

08 de junho de 2011 às 18:58

Haha que interessante.

 

Deixa eu ver se eu entendi, na verdade foi adiciona o item com aquela sprite, mas muda os atributos para ficar igual ao item que ele quer?

 

Abraço.

MatheusGladM
08 de junho de 2011 às 19:08

Sim é exatamente isso.

DiexoliveiraD
09 de junho de 2011 às 17:57

Mkalo o mais gato de todos!

 

Eu sempre pensei que tinha que fazer aquela palhaçada de Adicionar sprites e o cacete, mas você mudou meu modo de pensar... (parei)

Enfim REP+ brother, até a próxima!

 

É noix!

drakylucasD
09 de junho de 2011 às 18:14

parabens oO.. achu que ninguem sabia que era possivel isso xD

chega de item editor kaospkaos

ow, vc sabe fazer po item ficar blocking tals tb? ^^

MatheusGladM
10 de junho de 2011 às 19:36

Blocking? Como assim?

joao33J
12 de junho de 2011 às 00:08

Mano me explica 1 coisa como eu mudo a aparencia dos itens tipow a cor e talz se prescisar de algum programa me diz o nome dele plx :D Vlw Rep+ AMANHA :D

bielloksB
12 de junho de 2011 às 00:16

Perfect, mas esses novos itens podem ser usado em uma action ?

Editado Junho 12 por BielLokS

12 de junho de 2011 às 01:56

@TrojanBr, conhece o Paint? É um programa bem interessante pra trocar a cor dos items :tongue2:

MatheusGladM
14 de junho de 2011 às 14:00

@Biel

 

Infelizmente não, até tem um jeito, mas nao eh configuravel esse jeito, ou seja voce tem que saber lua pra instalar.

otherealityO
14 de junho de 2011 às 14:28

MTOOO foda...

quando trabalho eu não passei multiplicando as merda das "key" pra fazer quests...

mto bem pensado parabéns..

 

REP++

SakegariS
15 de junho de 2011 às 01:06

Muito bom esse Sistema, Parabéns. REP+

Editado Julho 14 por Behmen

2 semanas depois...
beto06B
23 de junho de 2011 às 11:41

É possível deixá-lo "stackable", por exemplo?

REP+