CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
进阶实战游戏功能996引擎

毒云:一团毒雾挂头顶,站下面慢慢掉血

2026-09-30 23:26 作者:996 技术组 996引擎Lua教程传奇脚本进阶实战游戏功能996引擎

【游戏功能】

cloud.t = cloud.t - dt——一行倒计时代码,管着一团毒雾的生死:毒云挂在头顶漂,十秒后自动散——站在下面的每秒掉六,躲开的就是安全区。今天拆毒云,看"漂移系"怎么把一团不动的雾,变成一场全场地追着跑的恶梦。

一、聚雾、漂移、掉血三段

毒云的循环三段。聚雾段:符纸一挥,一团绿色的毒雾从半空凝出来,雾团不大但浓——聚雾段是全技能的宣告:毒云不是一次性的弹道,它是一个会持续存在的区域——从这一刻起,头顶多了一团阴魂不散的绿。漂移段:毒雾开始慢慢漂,漂的速度不快但方向不停——漂移段是全技能的追猎:它不追人但它在动,你跑它跟着漂,你站它就罩你——慢漂比快追更让人心烦。掉血段:站在毒雾正下方的人每秒掉六——掉血段是全技能的结账:六点不多,但一秒一秒地掉,不掉到安全区就一直掉。三段的核心是"雾即区域":毒云不是技能弹道,它是一块漂浮的有毒区域——区域会漂、会过期,但存在期间它就是法律。

完整演示在这,默认自动循环:

demo
 fx-poisoncloud

二、幂尔框架实现:毒云是一块带漂移的区域

毒云的账本就一个漂移坐标加一个倒计时——

lua
local PoisonCloud = {}
local CLOUD_LIFE = 10.0    -- 毒云十秒
local DRIFT_SPD  = 12      -- 漂移速度
local DPS        = 6       -- 每秒六点
local CLOUD_R    = 55      -- 毒雾半径

local cloud = { x = 0, drift = 0, t = 0 }

function SL:CastCloud(x)
    if cloud.t > 0 then return end
    cloud.x = x
    cloud.drift = math.random() < 0.5 and -DRIFT_SPD or DRIFT_SPD
    cloud.t = CLOUD_LIFE
    SL:ShowTipAbove(x, "毒云")
end

function SL:OnTick(dt)
    if cloud.t <= 0 then return end
    cloud.t = cloud.t - dt
    cloud.x = cloud.x + cloud.drift * dt
    if cloud.x < 120 then cloud.drift = math.abs(cloud.drift) end
    if cloud.x > 540 then cloud.drift = -math.abs(cloud.drift) end
    if SL:ActorInCloud("self") then
        SL:TickDamage("self", DPS)          -- 每秒跳一次
    end
end

return PoisonCloud

漂移加反弹是全技能的场地感:drift 碰到边界就反向——毒云不是静止的靶子也不是追踪弹,它是一个在来回漂的活区域。

三、漂移的演出规格

毒雾是全技能的脸面:五层叠加的绿雾悬浮在半空,每层微微错位,雾团的边缘在呼吸——毒雾要有"层",五层叠加的浓淡才是毒,一层单色的绿只是染色。掉血的绿字要"密":每秒一跳六点的绿字从雾底冒出——密而小的绿字是毒的口感,大字一跳反而是火。漂移的速度要"匀":不快不慢、不追不逃——毒云的漂是不带感情的,它不急着追你,但你跑到哪它都迟早漂到。毒雾下面的地面要"洇":一圈淡绿的水渍印在地面——地面上的绿渍是"你在下面"的标记,头顶的雾和脚下的渍一上一下同时提醒你。

四、定价与三条云规

漂移系的定价一句话:十秒一云、每秒六点、漂速十二——伤害不重但时间长,毒云的威胁全在"它不走"三个字上。三条云规:其一,云不追人——漂移方向固定、碰壁反弹,它不是追踪弹,你不主动撞它它也漂不到你面前;其二,云可叠加可覆盖——两张毒云落在同一位置,取浓不取叠加,毒的浓度有上限;其三,出圈即断毒——走出雾底六点的掉血当场停,毒是按秒结的,出圈就结清。与留焰对照着看:同是"地上有毒的区域",留焰是贴地的火径——从地上烧,封的是地面路线;毒云是半空的雾——从头顶罩,封的是你站的位置,区域系的两个门派在"封地面"还是"封头顶"上分了家。

五、漂移系的追猎学:它不追你,但你跑不出它的射程

毒云真正恶心的地方是"漂移"两个字的含义:它的速度只有十二——比你走路慢——但它永不停止——你停下来吃一顿饭的工夫它就漂到你脚下了。这门功夫逼着玩家做一道持续的选择题:现在站的位置安不安全?三秒后毒云漂过来安不安全?每一秒都在算距离,每一步都在避开雾心。老玩家的解法是把毒云当"活的地形"用——毒云在左边就往右打,毒云漂右边就往左撤——不跟雾斗,跟雾共舞。对观战者,毒雾慢慢漂向狼怪、狼怪毫无察觉地走进去的那一幕,是全场最有"宿命感"的画面。工程收尾记一笔:毒雾的漂移要在碰壁时加一个半秒的缓冲——碰壁立刻反弹像弹球,碰壁停半秒再反向才像雾在"犹豫要不要继续漂"。最后留给数值组的一句话:六点一秒对十秒的漂移,总伤六十——单看不高,但加上"逼它走位"的隐性价值,这团雾的账面就不止六十了。\r\n\r\n毒云的漂移还有一手配风的进阶用法:如果场上有风场把毒雾往狼怪的方向吹,漂速加快一倍——风推雾走,雾追着怪跑。两个技能叠在一起,等于活的地形活了第二次——毒云自己不追人,但风可以替它追。

写完再留一句给做漂移系的同学:移动区域最容易做成"一个匀速移动的圆",而它本该是一团会呼吸会犹豫的活毒雾——雾要有层次、漂要有惯性、碰壁要犹豫半秒,毒雾活了,玩家才肯追着它的漂移轨迹跑全图。

补一个演示彩蛋位:毒云碰到墙壁反弹的一瞬,雾团的边缘会先卷一下再展开——卷的那一下是雾在犹豫"要不要走回头路",看得懂卷边的人,已经提前站到了下一轮漂移的落点上。

作者履历与出处

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

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

幂尔框架 · 实战干货 · 接口调用

LATEST ARTICLES

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

进阶实战游戏功能

Lua自动炮台:架一个自动索敌开火

【语法算法】 上一版的炮台索敌逻辑有个隐蔽报错:炮台永远打同一个怪——即使那只怪已经死了,索敌的游标也不挪窝。追到底索敌的游…

2026-10-02 04:50 996 技术组
进阶实战游戏功能

Lua元素转换:火伤转冰伤附带减速

【语法算法】 先抛一个坑:打不完的火系怪怎么办?火抗怪火打不动,换冰系技能要切装备要换面板——切完黄花菜都凉了。元素转换的答…

2026-10-02 04:50 996 技术组
进阶实战游戏功能

Lua连锁引燃:一个着火引燃下一个

【语法算法】 上个月的事故复盘会上有个数字被念了三遍:四成——策划写的是"同伴陪疼四成",代码落下去成了"陪疼四十点",两只…

2026-10-02 04:50 996 技术组
进阶实战游戏功能

Lua弹射地垫:踩上去弹飞到空中

【语法算法】 单行代码拆解:弹射初速=-420——弹射的全部动力就这一行的负初速。负号朝上、四百二十是弹射的初速大小——踩上…

2026-10-02 04:50 996 技术组
进阶实战游戏功能

Lua时间减缓:流速减半的局部时差

【语法算法】 上一版的减速类模块全按"乘以零点五"来写,帧率无关的版本照搬了这套写法——结果高帧率机上减速效果好,低帧率机上…

2026-10-02 04:50 996 技术组
进阶实战游戏功能

Lua引力球:丢出去把怪吸过来

【语法算法】 先抛一个坑:怎么把散在四处的怪聚到一起打?逐个拉是笨办法,一个范围技又只能打一片——引力球的答案是一个会动的吸…

2026-10-02 04:50 996 技术组