The ToolKit (Premium) users may start by adding items to Game Client first and then export to server format using server exporter. Please also point attention to ItemAdder tool available from item.bmd editor window - it will do necessary calculations automatically for items of index greater than 255.
1. General information and files editing
All BMD files mentioned in this tutorial are located in \Data\Local\ of Game Client and can be edited using IGC.ToolKit (Free) or IGC.ToolKit (Premium).
Item.bmd
The file contains list of all items. Its configuration must match server-side settings of ItemList.xml file. The only attention is required to Sub-group column in the file. The valid value is calculated using following formula: (Item Category * 512 + Item Index) / 256, e.g. (4 * 512 + 10) / 256 = 8
ItemToolTip.bmd
The file is responsible for text that is being displayed on tooltip while placing mouse over the item in character inventory. It is based on Item category and index, contains item name, display color and references to text id shown on tooltip. The text is stored in ItemToolTipText.bmd
ItemToolTipText.bmd
The file contains texts used to display on item tooltip. The ID of the texts is used within InfoLine_X column in ItemToolTip.bmd.
1.1 Placing item model and textures in valid location
For Season 8 and later the path and file name of the model can be defined from configuration file. For Season 6 it is necessary to place all item models and textures in \Data\Item\ folder of Game Client. Model files (BMD) must be named properly according to item type that is being added, e.g., if adding new sword of number 100 (server side) the file name of the model (BMD) will be Sword101.bmd
Texture file name (OZJ) must stay unchanged, keep it originally as received. Client-side file name are of item model is +1 in relation to server number, e.g., if item index on server side is 100 then client-side file name will be 101. Other item types than listed below cannot be added.
File names schema of specified item type
- SwordXX.bmd
- AxeXX.bmd
- MaceXX.bmd
- SpearXX.bmd
- StaffXX.bmd
- ShieldXX.bmd
- HelmMaleXX.bmd
- ArmorMaleXX.bmd
- PantMaleXX.bmd
- GloveMaleXX.bmd
- BootMaleXX.bmd
1.2 Texture display and item scaling
The file responsible for scaling and proper display of texture in inventory is located inside Lang.mpr. Navigate to \Data\ folder of Game Client location and decode it using ToolKit (Lite) or ToolKit (Premium) → XML Encode/Decode Tool.
itemTRSData.txt
Unlike many other files the ItemTRSData.txt is based on ItemID instead category and index.
Formula to calculate ItemID is as follows: (ItemCategory * 512) + ItemIndex → Example Item Category is 1 and ItemIndex is 15, so ItemID = 1 * 512 + 15 = 527
- ItemID - Is an ItemID calculated as shown on above example
- X Axis - Model X Axis (from center point)
- Y Axis - Model Y Axis (from center point)
- X Rotate - Model X Rotation
- Y Rotate - Model Y Rotation
- Z Rotate - Model Z Rotation
- Scale - Item scale from original SMD size
Do not know what values to use for axis, rotation and scale? It is dependent from actual size of model in SMD file. Take existing item and copy the values from it and adjust to get best result - item should be similar to the custom one you add, e.g., armor for custom armor, sword for custom sword etc.
2. Adding an Item to Server Side
Follow to \Data\Items\ and open ItemList.xml file.
Adding new items is available for sections of index 0-21, however adding specified type of items, e.g., wings/effects within section 12-21 would require programming support, therefore it is not possible from level of simple configuration.
Adding item on Server Side is very simple. It can be done by taking an example value from other, existing item, and placing it under new unique (free) Index value.
ItemList.xml
<Item Index="0" Name="Kris" Slot="0" SkillIndex="0" TwoHand="0" Width="1" Height="2" Serial="1" Option="1" Drop="1" DropLevel="6" ReqLevel="0" DamageMin="6" DamageMax="11" AttackSpeed="50" Durability="20" MagicDurability="0" MagicPower="0" ReqStrength="40" ReqDexterity="40" ReqEnergy="0" ReqVitality="0" ReqCommand="0" SetAttrib="1" DarkWizard="1" DarkKnight="1" FairyElf="1" MagicGladiator="1" DarkLord="1" Summoner="1" RageFighter="1" GrowLancer="1" RuneWizard="1" Slayer="1" GunCrusher="0" LightWizard="1" LemuriaMage="1" Type="1" Dump="1" Transaction="1" PersonalStore="1" StoreWarehouse="1" SellToNPC="1" ExpensiveItem="0" Repair="1" KindA="1" KindB="1" Overlap="0" NonValue="0" MasteryGrade="0" ModelPath="Data\Item\" ModelFile="sword01.bmd" />
The above is only example of item entry in section index 0. Attributes in particular sections differ so it is best to use copy/paste of existing item entry from actual section you add item to.