Cards 38001 (7 days) and 38002 (30 days) extend all seven original premium services of the account; the server side is metin2-server port_premium.h (docs/FEATURE-VIP.md). - mt_vip: /mt_vip 1 status, VIP button by the minimap, remaining time per service, chat line on card use. - tools/server/vip-card: 40250 ships both cards with size 0 (two share a cell, neither moves); give them one cell, stacking, a log and no NPC sale, and name them on the server. - locale_proto_patch: optional item shape table (size, flags, anti flags) so the client proto matches; data/zh_40250/item_shapes_server.tsv. - Item mall (9010): 7 days 5,000,000, 30 days 18,000,000 gold. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
VIP 会员卡(203 服务端)
服务端原有 7 种会员特权(account.account 的 *_expire 列,登录时读入,左上角图标 affect 500~506):
| 序号 | 特权 | 列 |
|---|---|---|
| 0 | 经验加成 | silver_expire |
| 1 | 物品掉落翻倍 | gold_expire |
| 2 | 仓库扩展到 3 页 | safebox_expire |
| 3 | 金币直接进背包 | autoloot_expire |
| 4 | 钓鱼成功率提升 | fish_mind_expire |
| 5 | 结婚亲密度加快 | marriage_fast_expire |
| 6 | 金币掉落翻倍 | money_drop_rate_expire |
40250 里没有游戏内开通的途径。VIP 卡用 40250 没用到的两个物品:
| 物品 | 名称 | 时长 | 百店老板娘「道具」页价格 |
|---|---|---|---|
| 38001 | VIP会员卡(7天) | 7 天 | 500 万金币 |
| 38002 | VIP会员卡(30天) | 30 天 | 1800 万金币 |
价格在 ../npc-shops/item-mall/items.tsv,改完重跑 npc-shops 的 install.sh 即可。
右键使用:7 项特权同时从「现在」和「当前到期时间」中较晚的那个往后延长,立即生效(图标、自动拾取、仓库页数)。
剩余时间加上卡的时长超过 400 天时拒绝,卡不扣。两次使用至少间隔 1 秒。客户端小地图旁的「VIP」按钮打开面板,
显示每项剩余时间。协议见 metin2-server docs/FEATURE-VIP.md。
经验加成 +100%
newcibn 的会员经验在 char_battle.cpp 里固定 ×1.2,之后再乘 GetMobExpRate 返回的事件标记
mob_exp_buyer(默认 100)。/e mob_exp_buyer 167 后 1.2 × 1.67 ≈ 2.0,即 +100%。事件标记存在
player.quest(pid 0),所有核心共享,部署时用 GM 角色设一次即可,重启后仍在。
文件
install.sh:item_proto.txt里 38001/38002 改为占 1 格、可堆叠、记日志、不能卖给 NPC(40250 原来是 size 0,两张卡会叠在同一格、无法移动),服务端改名(item_names.txt+item_proto.locale_name,GB2312)。 需要重启 db 和 game。备份在/root/backup-vip-card/<时间>/。- 游戏端代码在 metin2-server(
port_premium.h,分支 feature/vip-card)。
客户端:名称 data/zh_40250/item_names_zh_overlay.txt;占格和堆叠 item_shapes_server.tsv(由
locale_proto_patch 写进客户端 item_proto,与服务端一致),由 scripts/build_zh_locale.py 打进 locale_zh。