1. Enabling the System
2. Server-Side: Configuring collections.xml
File collections.xml in data/ defines collections, parameters, and items. Example:
Parameters:
File collection_Classic-eu.dat in GameClient/system/ handles client-side collection display. Format:
Parameters:
4. Editing and Adding Collections
- Open gameserver/config/event.properties.
- Locate CollectionSystem = False.
- Set to CollectionSystem = True.
2. Server-Side: Configuring collections.xml
File collections.xml in data/ defines collections, parameters, and items. Example:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE list SYSTEM "collections.dtd">
<list>
<collection id="1" tab_id="2" option_id="39031">
<item id="25" count="1" slot_id="0"/>
<item id="32" count="1" slot_id="1"/>
<item id="625" count="1" slot_id="2"/>
</collection>
<collection id="2" tab_id="2" option_id="39032">
<item id="24" count="1" slot_id="0"/>
<item id="310" count="1" slot_id="1"/>
</collection>
</list>
- id — unique collection identifier.
- tab_id — client interface tab (e.g., 2 for general).
- option_id — bonus ID activated upon collection completion.
- item id — item ID from database.
- count — item quantity.
- slot_id — item position in collection (0, 1, 2, etc.).
- enchant (optional) — item enchant level (default 0).
- alternative_id (optional) — alternative item ID (default 0).
File collection_Classic-eu.dat in GameClient/system/ handles client-side collection display. Format:
Code:
collection_begin collection_ID=1 collection_name=[Bone Collector I] main_category=2 period=0 option_id=39031 description={{[P. Def.];1;8.0}} items={{25;25;1;0;0;1;0};{32;32;1;0;1;1;0};{625;625;1;0;2;1;0}} unk3=0 complete_item_type={} complete_skill_type={} collection_end
collection_begin collection_ID=2 collection_name=[Bone Collector II] main_category=2 period=0 option_id=39032 description={{[P. Def.];1;8.0}} items={{24;24;1;0;0;1;0};{310;310;1;0;1;1;0}} unk3=0 complete_item_type={} complete_skill_type={} collection_end
collection_begin collection_ID=3 collection_name=[Folk Religion] main_category=2 period=0 option_id=39033 description={{[M. Def.];1;9.0}} items={{1102;1102;1;0;0;1;0};{1105;1105;1;0;1;1;0};{100;100;1;0;2;1;0}} unk3=0 complete_item_type={} complete_skill_type={} collection_end
Parameters:
- collection_ID — matches id in collections.xml.
- collection_name — collection name in client.
- main_category — interface tab (matches tab_id).
- period — collection duration (0 for unlimited).
- option_id — bonus ID, matches server-side.
- description — bonus description (e.g., {{[P. Def.];1;8.0}} for +8 P. Def.).
- items — item list in format {item_id;item_id;count;0;slot_id;1;0}.
- unk3, complete_item_type, complete_skill_type — typically 0 or empty.
4. Editing and Adding Collections
- Adding a new collection:
- In collections.xml, add a new <collection> with unique id, tab_id, option_id, and <item> list.
- In collection_Classic-eu.dat, add a matching collection_begin block with identical parameters.
- Verification:
- Ensure id and option_id are unique and match in both files.
- Confirm item IDs (item id) exist in the data/items/.
- Server restart:
- Restart the server to apply changes.