单人打坐的挂机感太重,修炼大厅把它变成社交场:同屏共同打坐的玩家每多一人,全员收益加百分之十,五人成阵再送经验加成Buff。协同规则让人气本身变成收益,大厅从挂机房变成社交角。
打坐收益按同屏共同打坐人数阶梯加速,人数统计每三十秒刷新一次。actor是字符串,转对象后按人数发收益。
local function coBonus(cnt)
return 1 + math.min(5, cnt) * 0.1
end
local function settleMeditation(actor, coCnt)
local player = class(actor)
local base = 4000
local gain = math.floor(base * coBonus(coCnt))
giveitem(actor, "经验丹", math.ceil(gain / 2000))
sendmsg(actor, 0, "打坐结算:同修" .. coCnt .. "人,收益倍率" .. coBonus(coCnt) .. "倍")
end
同屏五人以上触发聚灵阵,全阵成员追加一小时经验Buff,成阵瞬间全服可见播报。
local function checkFormation(cnt, members)
if cnt >= 5 then
for _, name in ipairs(members) do
local a = getplayerbyname(name)
if a ~= nil and isplayer(a) then
addbuff(a, "MEDIT_FORMATION", 3600)
end
end
sendcentermsg("修炼大厅聚灵阵成!五位修士共悟大道")
end
end
人数一至五的收益阶梯逐档核对;Buff只发一次不随结算重复。上线后看大厅同屏人数的分布变化,五人成阵的出现频率是协同设计成功的直接信号。
同屏人数的统计口径是“正在打坐”而非“在同地图”,挂机路过的人计入会虚增收益。coBonus封顶五人,人数继续涨不再加成,防大公会包场碾压散人。addbuff的聚灵Buff时长一小时与打坐时长解耦,玩家打坐半小时下线,Buff按已发放执行。sendcentermsg的成阵播报做每小时三条限频,热门时段的连成阵会刷屏。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 装备回收商 NPC 每天按评分收购玩家的装备,裁决之杖、骨玉权杖按攻击、持久加权打分,榜上只要前五名。数…
实战应用:用在哪里 沙巴克攻城是全服行会战的最高舞台:攻方砸开城门、抢占皇宫,守方依托城墙与复活点反打。规则设计的关键是节奏…
实战应用:用在哪里 影分身玩法给法师职业补上生存短板:危急时刻召唤四个影分身分担仇恨,敌人需要在六格范围内分辨真身,猜错就浪…
实战应用:用在哪里 组队邀请、行会宣战这类关键信令丢了没有兜底,玩家只能反复手点,高峰期体验很差。重试机制给信令加确认回执:…
实战应用:用在哪里 新资料片上线首日预约量常是日常十倍,一口气全开会让数据库与登录网关同时过载。滚动开区把开区动作排成队列:…
实战应用:用在哪里 百人同屏的沙巴克外围战场,每个玩家每秒跑动会触发数次位置更新,全部即时下发时广播量随人数平方增长,网关先…