CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
框架设计结婚纪念日

【框架设计】结婚纪念日:纪念日活动与双向奖励的框架设计

2026-09-23 04:33 作者:996 技术组 0 阅读 996引擎Lua教程传奇脚本框架设计结婚纪念日

实战应用:用在哪里

结婚系统办完婚礼就没了后续,夫妻互动停在每天送花。结婚纪念日框架给婚姻加一条时间线:每月同日为纪念日,双方在线即可领取纪念日礼盒,连续纪念十二个月额外授予永久称号,让婚姻系统有了长期经营的目标。框架分日期检测与双向奖励两层,策划只需调整礼盒内容与称号门槛。

纪念日检测与月数累计

纪念日检测挂在每日登录触发里:对比当天日期与结婚登记日,同日即累计纪念月数,月数写入玩家变量作为奖励档位依据。

lua
function onSetDay(actor)
    local day = getplayvar(actor, "HUMAN", "WED_DAY") or ""
    if day ~= "" and os.date("%d") == day then
        local months = tonumber(getplayvar(actor, "HUMAN", "ANNIV_MONTHS") or "0") + 1
        setplayvar(actor, "HUMAN", "ANNIV_MONTHS", months, 1)
        sendmsg(actor, 0, "今天是二位结缘 " .. months .. " 周月的纪念日")
    end
end

双向奖励的领取校验

领奖要求双方当日都在线,各领一份与纪念月数等量的礼盒;离线一方由邮件补发,避免错过纪念日领不到。

lua
function claimAnniv(actor)
    local mate = getplayvar(actor, "HUMAN", "MATE_NAME") or ""
    local months = tonumber(getplayvar(actor, "HUMAN", "ANNIV_MONTHS") or "0")
    if mate == "" or months <= 0 then
        sendmsg(actor, 0, "暂时没有可领取的纪念日奖励")
        return
    end
    giveitem(actor, "纪念日礼盒", months)
    local mp = getplayerbyname(mate)
    if mp and isplayer(mp) then
        giveitem(mp, "纪念日礼盒", months)
    else
        sendmail("#" .. mate, 938, "纪念日礼盒", "二位的纪念日奖励已补发", "纪念日礼盒x" .. months)
    end
    sendmsg(actor, 0, "纪念日奖励已发放给双方")
end

验证与监控

纪念日链路验证同日触发、跨日不触发、月数累计递增三条边界;双方在线与离线的两种发放路径各验一轮;连续十二个月授予的永久称号核对唯一性。监控每月纪念日领取对数与连续纪念分布,领取断档集中在某些日期就是时区或触发配置出了问题。

踩坑记录

WED_DAY 只登记了日号没有登记月份,每逢每月同日都触发一次的设计是符合预期的,但合服后双方时区感知不一致出现了提醒错日,触发基准统一以服务器时间为准。离线补发走邮件时收件人名要加井号前缀,漏了前缀邮件发进了不存在的账号,补发对账时才发现。月数累计在离婚再复婚的场景没有清零,复婚当月就领了高月数奖励,规则补充为解除婚姻后月数清零重新累计。纪念日礼盒可以交易,被当成月度工资回收倒卖,礼盒改为绑定拾取。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

玩法策划答题行会

【玩法策划】行会篝火答题:行会社交活动的答题玩法设计

实战应用:用在哪里 行会活动集中在攻城战,日常缺乏轻量社交场景。行会篝火答题做行会固定社交活动:每周三、周日晚在行会驻地点燃…

2026-09-23 05:48 996 技术组 · 0 阅读
玩法策划答题科举

【玩法策划】科举答题:全服答题与殿试排名的玩法设计

实战应用:用在哪里 全服答题活动办过几期,参与的人不少但黏性不足,答完就散。科举答题把答题做成两段式:每天晚八点的乡试答题筛…

2026-09-23 05:48 996 技术组 · 0 阅读
界面UI短语栏聊天

【界面UI】快捷短语栏:战斗场景的快捷消息发送栏实现

n n n 实战应用:用在哪里 n战斗中打字沟通慢且危险,队伍协作靠喊话效率太低。快捷短语栏在屏幕底部提供八条可自定义的战斗…

2026-09-23 05:48 996 技术组 · 0 阅读
引擎触发宝箱龙脉

【引擎触发】龙脉宝箱:整点宝箱刷新与开启奖励的触发设计

n n n 实战应用:用在哪里 n龙脉区域的野外宝箱是散人玩家的每日福利:每逢整点在龙脉区域随机刷新十五个宝箱,分三档给不同…

2026-09-23 05:48 996 技术组 · 0 阅读
网络通信有序性包序

【网络通信】消息有序性:同一玩家的包序保证

实战应用:用在哪里 同一玩家的两条消息走了不同的处理路径,先发的后到,装备穿上的消息比脱下的消息晚处理,面板状态错乱。消息有…

2026-09-23 05:48 996 技术组 · 0 阅读
运维发布日志采样

【运维发布】日志采样:高流量日志的采样降耗设计

实战应用:用在哪里 战斗日志全量打印,一天写满一块硬盘,翻日志像大海捞针。日志采样按类别分策略:错误日志全量保留、行为日志按…

2026-09-23 05:48 996 技术组 · 0 阅读