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

【后端接口】节日烟花:道具燃放与全服庆祝

2026-09-23 17:02 作者:996 技术组 0 阅读 996引擎Lua教程传奇脚本

实战应用:用在哪里

节日活动的气氛担当是烟花:土城放一支烟花筒,全屏绽放、全服播报、周边玩家共享增益——烟花的道具化让庆祝变成玩家的主动行为。烟花的实现要点是燃放的特效分发、庆祝的增益半径与道具的经济节奏。

燃放的结算

lua

---烟花筒的使用:燃放与庆祝增益
function Firework.lit(actor)
    local player = class(actor)
    if not player then return false end
    if not checkitemw(actor, "烟花筒", 1) then
        sendmsg(actor, 1, "需要 1 支烟花筒")
        return false
    end
    takeitem(actor, "烟花筒", 1, 0, "燃放烟花")
    -- 周围 10 格玩家获得 30 分钟的庆祝增益
    for _, watcher in pairs(View.of(actor)) do
        addbuff(watcher, 23001, 1800, 1, actor, { [1] = 30 })
        playsound(watcher, 2050)
    end
    sendmsg(nil, 1, actor .. " 在" ..
        Map.nameOf(actor.mapId) .. "燃放了节日烟花!")
    return true
end

燃放的结算三段:道具的扣除、增益的半径发放(10 格内的玩家获得 30 分钟的攻击加 30 点)、全服的播报宣告。playsound 对视野内的玩家同步音效,庆祝的声光由视野内的每一个人共享——烟花的社交属性在于分享,增益给的是半径内的路人而不是独自的施放者。

节日的节奏

lua

---节日期间的掉落加成:与烟花联动
setontimerex(108, 60)
function Firework.festival()
    local count = Firework.litToday()
    -- 全服燃放满 100 支触发 2 倍掉落 1 小时
    if count >= 100 and not Firework.boostOn then
        Firework.boostOn = true
        setsysvar("FestivalDrop", 2)
        sendmsg(nil, 1, "全服燃放满 100 支,掉落翻倍 1 小时!")
        Firework.expireAt = os.time() + 3600
    end
end

节日的节奏靠全服的目标聚合:燃放满 100 支触发全服的掉落翻倍 1 小时——个人的庆祝汇聚成全服的福利,烟花的消耗与收益在节日的框架里互相成全。setsysvar 的全局变量承载掉落的倍率,掉落结算读全局的倍率值,活动结束的变量复位由 expires 时刻的检查兜底。烟花筒的获取走节日任务与商城双渠道,节日的参与感与节日的消费并行。

验证与监控

烟花筒的消耗量按日统计与节日的在线峰值对照,燃放的增益发放数与道具数的一致性核对;全服目标的触发次数监控,同一时段重复触发的重置逻辑检验。

踩坑记录

增益的发放曾经给全服而不是半径,一次燃放全服 30 点攻击的通胀惊人,半径的过滤补上。翻倍的触发曾经可叠加,两波 100 支把掉率推到 4 倍,触发期的互斥标记修复。播报曾经带玩家的坐标,全服的公告泄露了打宝的位置,坐标从文案里移除。

上线要点

烟花筒的投放随节日日历排期,平日不投放保持稀缺。增益的数值与节日的档期匹配:春节的力度大于元宵。燃放的特效按地图的负载降级,千人同屏的特效减半保证帧率。

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

作者履历与出处

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

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

最新技术文章 · 实战干货

LATEST ARTICLES

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

策划架构996引擎数值设计动态难度魔龙教主

【策划架构】副本动态难度:队伍规模缩放系数设计

设计初衷 固定数值的魔龙教主陷入两头堵:血量照五人队设计,单人磨到天荒地老,组队机制名存实亡;照单人设计,五人队一进本三十秒…

2026-09-24 07:44 996 技术组 · 0 阅读
策划架构996引擎数值设计赛季内容节奏

【策划架构】赛季节奏:12周三幕的内容投放曲线

设计初衷 长线服务器的两大杀手是长草期与倦怠期:版本之间隔着几周无事可做,在线曲线一路阴跌。赛季制把无垠的时间切成一段段有头…

2026-09-24 07:44 996 技术组 · 0 阅读
高级技巧996引擎Lua小顶堆延迟队列

【高级技巧】延迟队列:到期任务的小顶堆调度

底层原理 寄售到期、悬赏超时、建筑完工,全服到处是"到点做某事"。逐任务挂引擎定时器,任务一多注册表膨胀、每秒回调分派成本线…

2026-09-24 07:44 996 技术组 · 0 阅读
高级技巧996引擎Lua引用计数资源管理

【高级技巧】引用计数:副本实例的借用与归还

底层原理 动态副本最贵的动作是创建:一张实例地图的加载成本远高于复用。实例共享的前提是生命周期清晰——末一个使用者离开才允许…

2026-09-24 07:44 996 技术组 · 0 阅读
策划架构996引擎数值设计交易税反搬运

【策划架构】交易税:差别税率与反搬运的数值设计

设计初衷 交易行是流通的心脏,也是搬运套利的动脉:工作室低价收金、高价出货,一笔笔"正常交易"把黑金洗白。无税的自由市场对普…

2026-09-24 07:44 996 技术组 · 0 阅读
进阶实战996引擎Lua答题防挂机

【进阶实战】答题防挂机:题库轮换与作答时限封装

业务场景 答题奖励日活动上线三天,脚本党的作答间隔稳定在 0.8 秒、准确率百分之百,奖励被批量搬走。工程化改造三件事:题库…

2026-09-24 07:44 996 技术组 · 0 阅读