Server Systems & Source Patches
Metin2 timed reward command: compile fix and failed-delivery cooldown guard
M2City Systems · Editorial · Published 2026-11-05 · Branch-specific details should be checked against your own source.
Despite the original Daily Reward filename, the command uses a 10800-second interval: three hours, not one day. The reward is item VNUM 19, quantity 1, and the cooldown is a per-character quest flag daily_rewards.daily_rewards. There is no calendar, streak or account-wide restriction.
M2City r1 fixes
The invalid #endi is corrected to #endif. The quest PC pointer is checked before reading flags. The cooldown is now written only if AutoGiveItem(19,1) reports success, so a failed delivery does not consume the interval. This requires the overload to return LPITEM in your branch; review its full-inventory/drop semantics. The Romanian feedback now describes timed rewards instead of suggesting a daily schedule.
Installation and configuration
Enable __DAILY_REWARDS__ consistently, merge cmd.cpp registration and cmd_general.cpp implementation. Choose your own reward VNUM/count and interval, and localize the messages. The client GAME.py fragment adds a button that invokes /daily_rewards and expects the supplied texture path d:/ymir work/daily_rewards/daily_rewards.tga. Merge into existing Open/OnUpdate lifecycle instead of replacing methods; add appropriate cleanup in your fork. Check the archive's media inventory before repacking the client.
Back up source, quest flags and the executable. Test restricted states, absent quest PC, first claim, immediate duplicate, 10799/10800-second boundary, item creation failure, reconnect and full inventory in staging. No SQL migration is supplied or required by these fragments.
Validation
All four text files were read. The revised command compiled with an isolated C++11 fake-engine harness and passed the state, cooldown boundary, missing-PC and failed-delivery tests. This does not validate your real item-delivery atomicity, persistence or client UI. Exact creator/version could not be established from the supplied copy and public search; no invented attribution is added.
Editorial resource — M2City
Version: Legacy integration fragments; exact fork unspecified; reviewed 2026-11-04; M2City r1
Rights: Public redistribution explicitly confirmed by supplying owner. Preserve creator notices; no blanket open-source licence granted.
Validation: Compiled exact reviewed function with existing dedicated clang++ C++11 and passed fake-engine assertions. Not a complete game/Lua build.
Source: Owner-supplied Daily Reward.zip; exact authoritative public release not established
SHA-256: f125d25b1ab199610dd8cfea63e26e6118d4d924e8e9a755073831678c8b412c
Download package
3 download options · Sign in to download
metin2-timed-reward-command-m2city-r1.zipM2City downloadmetin2-timed-reward-command-m2city-r1.zipGoogle Drive mirrormetin2-timed-reward-command-m2city-r1.zipMEGA mirrorMAKE THE NEXT ANSWER BETTER
What happened on your build?
Share a small example, the exact error and how you verified your fix. The discussion is open on the forum.
Need a scoped quest, UI or proto fix? · Explore more development guides · Check your proto files free