1.General information about the OneDayReward system
Enable system (by default off): gameserver/config/events.properties
The OneDayReward system allows you to create rewards that players receive for fulfilling specific conditions. Rewards are configured via the XML file data/OneDayReward.xml on the server and corresponding files in the game client (for example, OneDayReward_Classic-eu.dat for the English localization). Each task has:
2. Reward settings in OneDayReward.xml
The file data/OneDayReward.xml defines the reward structure. Here is an example of reward settings for level achievements and new requirements (PVP Points, Noblesse Conquest, Hero Conquest).
XML example for level rewards
XML example for new requirements:
Описание полей XML:
To display rewards in the client interface, you need to update the GameClient\system\OneDayReward_Classic-eu.dat file (or a similar one for your localization).
Example entries for the client:
Client field descriptions:
Enable system (by default off): gameserver/config/events.properties
OneDayRewardSystem = True
The OneDayReward system allows you to create rewards that players receive for fulfilling specific conditions. Rewards are configured via the XML file data/OneDayReward.xml on the server and corresponding files in the game client (for example, OneDayReward_Classic-eu.dat for the English localization). Each task has:
- ID: Unique reward identifier.
- Name and description: Displayed in the player interface.
- Requirement: Condition for receiving the reward (e.g., reaching a level, accumulating PVP points).
- Reset period: How often the reward is available (one-time, daily, etc.).
- Rewards: Items the player will receive for completion.
2. Reward settings in OneDayReward.xml
The file data/OneDayReward.xml defines the reward structure. Here is an example of reward settings for level achievements and new requirements (PVP Points, Noblesse Conquest, Hero Conquest).
XML example for level rewards
Code:
<one_day_reward>
<id>24</id>
<name>Reach Level (Lv. 2)</name>
<description>After creating a character, if you reach Lv. 2 you can get a reward for that level once.</description>
<reset_time>SINGLE</reset_time>
<distribution_type>SOLO</distribution_type>
<requirement>
<obtain_level>2</obtain_level>
</requirement>
<reward_items>
<reward_item id="29651" count="5"/>
</reward_items>
</one_day_reward>
<one_day_reward>
<id>25</id>
<name>Reach Level (Lv. 3)</name>
<description>After creating a character, if you reach Lv. 3 you can get a reward for that level once.</description>
<reset_time>SINGLE</reset_time>
<distribution_type>SOLO</distribution_type>
<requirement>
<obtain_level>3</obtain_level>
</requirement>
<reward_items>
<reward_item id="29651" count="10"/>
</reward_items>
</one_day_reward>
<one_day_reward>
<id>26</id>
<name>Reach Level (Lv. 4)</name>
<description>After creating a character, if you reach Lv. 4 you can get a reward for that level once.</description>
<reset_time>SINGLE</reset_time>
<distribution_type>SOLO</distribution_type>
<requirement>
<obtain_level>4</obtain_level>
</requirement>
<reward_items>
<reward_item id="10650" count="5"/>
</reward_items>
</one_day_reward>
<one_day_reward>
<id>27</id>
<name>Reach Level (Lv. 5)</name>
<description>After creating a character, if you reach Lv. 5 you can get a reward for that level once.</description>
<reset_time>SINGLE</reset_time>
<distribution_type>SOLO</distribution_type>
<requirement>
<obtain_level>5</obtain_level>
</requirement>
<reward_items>
<reward_item id="70094" count="1"/>
</reward_items>
</one_day_reward>
XML example for new requirements:
Code:
<one_day_reward>
<id>101</id>
<name>Earn PVP Points</name>
<description>Earn 50 PVP points by defeating other players.</description>
<reset_time>DAILY</reset_time>
<distribution_type>SOLO</distribution_type>
<requirement>
<pvp_points>50</pvp_points>
</requirement>
<reward_items>
<reward_item id="57" count="100000"/>
</reward_items>
</one_day_reward>
<one_day_reward>
<id>102</id>
<name>Become Noblesse</name>
<description>Become a Noblesse to receive this reward.</description>
<reset_time>SINGLE</reset_time>
<distribution_type>SOLO</distribution_type>
<requirement>
<noblesse_conquest/>
</requirement>
<reward_items>
<reward_item id="57" count="200000"/>
</reward_items>
</one_day_reward>
<one_day_reward>
<id>103</id>
<name>Become Hero</name>
<description>Become a Hero to receive this reward.</description>
<reset_time>SINGLE</reset_time>
<distribution_type>SOLO</distribution_type>
<requirement>
<hero_conquest/>
</requirement>
<reward_items>
<reward_item id="57" count="500000"/>
</reward_items>
</one_day_reward>
Описание полей XML:
- id: Unique award number. Do not repeat the ID in the file.
- name: The name of the award, as displayed in the interface.
- description: Reward description, displayed in the interface.
- reset_time: Reward reset period:
- SINGLE: One-time reward.
- DAILY: It resets daily.
- WEEKLY: It is reset weekly.
- MONTHLY: It is reset monthly.
- distribution_type: How is the reward distributed within the group?:
- SOLO: For player use only.
- PARTY_RANDOM: To a random party member.
- PARTY_ALL: To all party members in the radius.
- requirement: Reward conditions. Supported tags:
- <obtain_level>X</obtain_level>: Reaching level X.
- <kill_mob>X</kill_mob>: Kill X mobs.
- <pvp_points>X</pvp_points>: Collect X PVP points.
- <noblesse_conquest/>: Become Noblesse.
- <hero_conquest/>: BecomeHero.
- <kill_raid>: killing raid boss
- <enchant_item>: enchant item
- <battle_in_castle_siege>: player participation in clan siege
- <fishing>: fishing
- <login>: first login
- <join_clan>: join a clan
- <battle_in_olympiad>: to participate in the Olympiad
- <win_in_olympiad>: Olympic victory
- <complete_quest>: Complete the quest! One-time, non-repeatable.
- reward_items: List of items for the award.
- id: Item ID (e.g., 57 for Adena).
- count: Number of items.
To display rewards in the client interface, you need to update the GameClient\system\OneDayReward_Classic-eu.dat file (or a similar one for your localization).
Example entries for the client:
Code:
onedayreward_begin id=24 reward_id=1000 reward_name=[Reach Level (Lv. 2)] reward_desc=[After creating a character, if you reach Lv. 2 you can get a reward for that level once.] reward_period=[Obtain Level 2.] class_filter={-1} reset_period=4 condition_count=0 condition_level=2 can_condition_level={1;99;0} can_condition_day={} category=3 reward_item={{29651;5}} targetloc_scale={} onedayreward_end
onedayreward_begin id=25 reward_id=1001 reward_name=[Reach Level (Lv. 3)] reward_desc=[After creating a character, if you reach Lv. 3 you can get a reward for that level once.] reward_period=[Obtain Level 3.] class_filter={-1} reset_period=4 condition_count=0 condition_level=3 can_condition_level={2;99;0} can_condition_day={} category=3 reward_item={{29651;10}} targetloc_scale={} onedayreward_end
onedayreward_begin id=26 reward_id=1002 reward_name=[Reach Level (Lv. 4)] reward_desc=[After creating a character, if you reach Lv. 4 you can get a reward for that level once.] reward_period=[Obtain Level 4.] class_filter={-1} reset_period=4 condition_count=0 condition_level=4 can_condition_level={3;99;0} can_condition_day={} category=3 reward_item={{10650;5}} targetloc_scale={} onedayreward_end
onedayreward_begin id=27 reward_id=1003 reward_name=[Reach Level (Lv. 5)] reward_desc=[After creating a character, if you reach Lv. 5 you can get a reward for that level once.] reward_period=[Obtain Level 5.] class_filter={-1} reset_period=4 condition_count=0 condition_level=5 can_condition_level={4;99;0} can_condition_day={} category=3 reward_item={{70094;1}} targetloc_scale={} onedayreward_end
onedayreward_begin id=101 reward_id=2000 reward_name=[Earn PVP Points] reward_desc=[Earn 50 PVP points by defeating other players.] reward_period=[Earn 50 PVP Points.] class_filter={-1} reset_period=1 condition_count=50 condition_level=0 can_condition_level={1;99;0} can_condition_day={} category=2 reward_item={{57;100000}} targetloc_scale={} onedayreward_end
onedayreward_begin id=102 reward_id=2001 reward_name=[Become Noblesse] reward_desc=[Become a Noblesse to receive this reward.] reward_period=[Achieve Noblesse Status.] class_filter={-1} reset_period=4 condition_count=1 condition_level=0 can_condition_level={1;99;0} can_condition_day={} category=1 reward_item={{57;200000}} targetloc_scale={} onedayreward_end
onedayreward_begin id=103 reward_id=2002 reward_name=[Become Hero] reward_desc=[Become a Hero to receive this reward.] reward_period=[Achieve Hero Status.] class_filter={-1} reset_period=4 condition_count=1 condition_level=0 can_condition_level={1;99;0} can_condition_day={} category=1 reward_item={{57;500000}} targetloc_scale={} onedayreward_end
Client field descriptions:
- id: Must match the id in OneDayReward.xml.
- reward_id: Unique identifier for the client (usually id + offset, for example, 1000).
- reward_name: Reward name, displayed in the interface.
- reward_desc: Reward description.
- reward_period: Short description of the condition (for the interface).
- class_filter: Class filter (-1 = available to all).
- reset_period: Reset period:
- 1: Daily.
- 4: Once.
- 2: Weekly.
- 3: Monthly.
- condition_count: The quantity required to fulfill the condition (e.g., 50 for PVP points, 1 for Noblesse/Hero).
- condition_level: Required level (0 for unlevelled conditions).
- can_condition_level: The range of levels where the reward is available {min;max;0}.
- can_condition_day: Days when the reward is available (empty = always).
- category: Award category (1 = achievements, 2 = combat, 3 = progress, etc.).
- reward_item: List of items {{item_id;count}}.
- targetloc_scale: Coordinates for events with a location (empty for most awards)
Last edited: