Localização: Gameserver/data/items/
Formato: XML
Vamos usar de exemplo o Infinity Bow é um item do tipo Weapon e tem o seu ID 6619.
<weapon id="6619" name="Infinity Bow">
<!-- [the_infinity_bow] -->
<set name="price" value="48800000"/>
<set name="crystal_count" value="2850"/>
<set name="enchantable" value="false"/>
<set name="atk_reuse" value="1398"/>
<set name="crystal_type" value="S"/>
<set name="destroyable" value="false"/>
<set name="dropable" value="false"/>
<set name="icon" value="icon.weapon_the_bow_of_hero_i00"/>
<set name="mp_consume" value="21"/>
<set name="rnd_dam" value="5"/>
<set name="sellable" value="false"/>
<set name="soulshots" value="1"/>
<set name="spiritshots" value="1"/>
<set name="tradeable" value="false"/>
<set name="storeable" value="false"/>
<set name="type" value="BOW"/>
<set name="weight" value="1300"/>
<equip>
<slot id="LEFT_RIGHT_HAND"/>
</equip>
<triggers>
<trigger id="3594" level="1" type="CRIT" chance="7"/>
</triggers>
<skills>
<skill id="3593" level="1"/>
</skills>
<cond msgId="1518">
<player is_hero="true"/>
</cond>
<cond msgId="1507">
<not>
<player olympiad="true"/>
</not>
</cond>
<for>
<add stat="pAtk" order="0x10" value="614"/>
<add stat="mAtk" order="0x10" value="137"/>
<set stat="baseCrit" order="0x08" value="120"/>
<set stat="atkBaseSpeed" order="0x08" value="293"/>
<add stat="accCombat" order="0x10" value="-4.0000"/>
<enchant stat="pAtk" order="0x0C" value="0"/>
<enchant stat="mAtk" order="0x0C" value="0"/>
</for>
</weapon>
1. Todos os campos da XML.
Os itens possuem 3 categorias de itens que são divididas em:
Weapons - Arma, tudo que é usado na mão.
Armor - Armaduras, tudo que é usado no corpo do personasgens como recipes,
Etcitem - São os itens que ficam na bag e não visualmente no personagens como: pieces, recipes, quest items, etc.
Então a XML já inicia com a tag <Weapon para que o sistema saiba que aquele item se trata de uma arma.
"id" - identificador de item.
"name" - é o identificador na XML, usado principalmente para serviços personalizados como sites, sistemas de gerenciamento.
"price" - o preço do item. No momento da entrega na loja, é dividido por 2 por padrão, o preço também é utilizado para validação nas lojas pessoais para que não seja inferior ao preço à venda na loja.
"crystal_count" - o número de cristais que você receberá ao quebrar um item,
"enchantable" - True / False você pode torna-lo enchantando ou não. (O padrão é True, mesmo se você não tiver adicionado este parâmetro) a xml.
"atk_reuse" - Usado apenas para Bow. Este é um atraso para um segundo tiro, essa faixa é necessária para esse tipo de arma.
"destroyable" - True/ False ativa e desativa se pode ser destruido, jogado na lixeira. (O padrão é true, mesmo se você não tiver adicionado este parâmetro).
"dropable" - True / False se pode ser deixado cair no chão. (O padrão é true, mesmo se você não tiver adicionado este parâmetro)
"sellable" - True/ False se o item pode ser vendido para a loja. (O padrão é true mesmo se você não tiver adicionado este parâmetro)
"tradeable" - True / Falso se o item pode ser vendido a outro jogador. (O padrão é true mesmo se você não tiver
"storeable" - True / False se um item pode ser colocado em WH / CWH (banco e banco de clan). (O padrão é true mesmo se você não tiver adicionado este parâmetro)
"icon" - a textura do ícone. Encontrado no cliente do jogo por padrão. Usado para exibir para serviços que mostram-nos.
"mp_consume" - usado para arcos, quanto MP será tirado ao atirar.
"rnd_dam" - Propagação de danos. Dano base +0 a + valor.
"weight" - Peso do item.
2. Tipos de itens para cada categoria de armor, weapon etcitem.
No nosso exemplo: <set name = "type" value = "BOW" />
Armor:
NONE - sem tipo
LIGHT - armadura light
HEAVY - armadura heavy
MAGIC - armadura robe
PET - armadura para pets
SIGIL - Escudos sigil (apenas classic)
Weapon:
NONE - no type. For example, fists
SWORD - sword
BLUNT - blunt
DAGGER - dagger
BOW - bow
POLE - lance (pole)
ETC - geralmente para armas de monstros
FIST - brass knuckles (for cursed weapons)
DUAL - 2 swords
DUALFIST - two-handed knuckles
BIGSWORD - two-handed sword
PET - pet weapon (muzzle for a wolf as an example)
ROD - fishing rod
BIGBLUNT - two-handed club
DUALDAGGER - two-handed dagger (Classic only)
Etcitem:
ARROW - (flechas) arrows for bow
MATERIAL - materials for crafting
PET_COLLAR - colar para pet
POTION - potions e buffs
RECIPE - recipes para crafting
SCROLL - scrolls (enchants, escapes, teleport, etc.)
QUEST - quest items
MONEY - Adena e qualquer outra moeda de liquidação do servidor
OTHER - Se você não tem certeza do tipo de item use esse.
SPELLBOOK - Livros de Skills
SEED - Manor Seeds
BAIT - Anzol para vara de pescar
SHOT - the type for Spiritshot
BOLT - bolt (Classic only)
RUNE - Para ruas que podem ser estocadas no inventário e podem dar skills. Elas não podem ser equipadas.
HERB - herbs
MERCENARY_TICKET - Tickets de Loteria
ARROW_QUIVER - Arrow Quiver (Apenas Classic)
3. Tipos de slots para equipamentos <equip> </equip> .
No bow o slot é assumido como LEFT_RIGHT_HAND porque é um equipamento que ocupa o espaço da mão direita e esquerda dos campos para armas (e escudo, flechas, etc).
<equip>
<slot id = "LEFT_RIGHT_HAND" />
</equip>
Todos os tipos de slots:
NONE - Sem tipo (geralmente usado para monstros).
HEAD - Parte da cabeça, onde fica o helmo.
CHEST - Parte de cima do Peito.
LEGS - Calças.
FULL_ARMOR - Armadura completa, peito e calças.
FEET - Botas.
GLOVES - Luvas.
HAIR - Slot para acessórios como mascaras, esquerdo.
FACE - Slot para acessórios como mascaras, direito.
HAIR_ALL - Slot para acessórios como mascaras, ocupa 2 slots.
UNDERWEAR - Slot para Tattoo.
NECKLACE - Colar.
RIGHT_HAND - Mão direita.
LEFT_HAND - Mão esquerda.
LEFT_RIGHT_HAND - Ambas as mãos.
RIGHT_EAR - Brinco esquerdo.
LEFT_EAR - Brinco direito.
RIGHT_FINGER - Anel direito.
LEFT_FINGER - Anel esquerdo.
FORMAL_WEAR - Ocupa todos os espaços de armaduras. Exemplo, roupas de casamento.
BELT - Belt (Classic)
RIGHT_BRACELET - Bracelete direito. (Classic)
LEFT_BRACELET - Bracelete esquerdo. (Classic)
BROOCH - Broche (Classic)
BACK - Capas (Classic)
TALISMAN - Talisman slot (Classic)
BROOCH_JEWEL - Brooch Jewelry Slot (Classic)
AGATHION_CHARMRM - Agathion slot (Classic)
4. Blocos de skills.
No exemplo abaixo quando é equipado o Infinity Bow uma skill passiva de ID 3593 no level 1 será entregue ao personagem. A skill pode ser passiva ou ativa.
A skill e level:
<skills>
<skill id = "3593" level = "1" />
</skills>
Chance de skills:
Aqui podemos criar um gatilho que a skill de ID 3594 no level 1 poderá desencadear um aumento de critical attack com 7% de chance.
<triggers>
<trigger id = "3594" level = "1" type = "CRIT" chance = "7" />
</triggers>
Valores que pode sem inclusos:
ADD - a habilidade é acionada quando adicionada à lista
ATTACK - a habilidade é desencadeada por um ataque normal
RECEIVE_DAMAGE - a habilidade é ativada ao receber dano
CRIT - a habilidade é acionada com um critico
OFFENSIVE_PHYSICAL_SKILL_USE - a habilidade é acionada quando você recebe dano de habilidades físicas
OFFENSIVE_MAGICAL_SKILL_USE - a habilidade é acionada quando você recebe dano de habilidades físicas
SUPPORT_MAGICAL_SKILL_USE - ta habilidade é acionada quando você usa dano de habilidades físicas
UNDER_MISSED_ATTACK - a habilidade é acionada ao evasão funcionar (dogge)
DIE - habilidade desencadeia na morte
5. Condições
Apenas para herois:
<cond msgId = "1518">
<player is_hero = "true" />
</cond>
Proibir o uso nas olimpiadas:
<cond msgId = "1507">
<not>
<player olympiad = "true" />
</not>
</cond>
Proibir o uso em eventos de PvP:
<cond>
<not>
<player on_pvp_event = "true" />
</not>
</cond>
Está é a lista de todas as condições disponíveis, você pode comparar com itens que já conhece para ter exemplos.
classId - ID da classe
forbiddenClassId - Proibir certas classes
olympiad - Olimpiadas
min_pledge_rank - Ranking em um clan
is_hero - Ser ou não heroi
on_pvp_event - Usar ou não em eventos de PVP
class_is_mage - Classes de Magos (True / False)
instance_zone - Zona que é instancia
minLevel - Level mínimo exigido
maxLevel - Level máximo exigido
race - Raça (Elf, Dwarf etc)
gender - Genero (Male ou Female)
maxPK - Quantidade de PKs
damage - Quantidade de dano.
5. Blocos sobre status
Você pode adicionar ou retirar status de determinados itens, veja como:
<for>
<add stat = "pAtk" order = "0x10" value = "614" /> - Adiciona valores de P. Atk.
<add stat = "mAtk" order = "0x10" value = "137" /> - Adiciona valores de M. Atk.
<set stat = "baseCrit" order = "0x08" value = "120" /> - Adiciona valores de crítico.
<set stat = "atkBaseSpeed" order = "0x08" value = "293" /> - Adiciona valores de Atk Speed.
<add stat = "accCombat" order = "0x10" value = "- 4.0000" /> - Adiciona valores de Accuracy.
<enchant stat = "pAtk" order = "0x0C" value = "0" /> - Bloco que adiciona uma determinada caracteristica quando enchantando. No caso o valor pAtk, mas pode ser usado mAtk, atkBaseSpeed etc.
</for>