行会战打到后期只剩头部两个会的较量,中小行会没得玩。门派战把八个中型门派拉进同一张对称地图,击杀、夺旗、守点三种计分方式让弱会也有得分路径,40 分钟一场,周日黄金档开打。规则设计的关键是报名门槛、对阵生成与积分平衡,本文逐一给出参数与触发写法。
报名期二十四小时,门派消耗一枚门派令锁定名额;开战前三分钟集体传送进场,人数不足十人自动弃权并退回令牌。示例代码如下:
-- 门派报名:令牌校验与名额锁定
local player = class(actor)
local guildName = getmyguild(player)
if guildName == nil or guildName == "" then
sendmsg(player, 1, 0, "先加入门派再来报名。")
return
end
if not checkitemw(player, "门派令", 1) then
sendmsg(player, 1, 0, "门派仓库缺少门派令一枚。")
return
end
local signed = tonumber(getplayvar(player, "GUILD", "WarSigned") or 0)
if signed == 1 then
sendmsg(player, 1, 0, "本门派已报名,等待对阵。")
return
end
takeitem(player, "门派令", 1)
setplayvar(player, "GUILD", "WarSigned", 1, true)
sendcentermsg(player, 255, 0, guildName .. " 报名门派战成功!", 0, 6)
击杀加一分、夺旗加五分、守点每三十秒加二分,大屏每五分钟播一次对阵榜;终局按积分定名次,前三名门派全体成员分别领取金银铜礼盒。示例代码如下:
-- QF触发: killmon 门派战计分
function onWarKill(actor)
local player = class(actor)
local guildName = getmyguild(player)
local score = tonumber(getplayvar(player, "GUILD", "WarScore") or 0) + 1
setplayvar(player, "GUILD", "WarScore", score, true)
if score % 20 == 0 then
sendcentermsg(player, 255, 0, guildName .. " 门派战积分已达 " .. score .. "!", 0, 6)
end
end
八门派沙盘打一轮:报名去重、令牌退回、对阵不重复、三类计分独立累计、终局礼盒按名次发放,逐项核对。计分触发在混战下压测,每秒五百次计分不丢单。赛后复盘看积分分布:单场最高分与最低分差距超过五倍,说明弱会得分路径失效,把守点分从二提到三;报名率低于六成检查门派令的产出渠道是否太窄。
对阵生成最初按报名顺序两两配对,强会全挤在前两场,弱会首轮即遇冠军,改成按上周积分蛇形分组。守点计分曾被站桩挂机利用,三号只守点不打架照样拿银盒,守点要求三十秒内有点内击杀才计分。集体传送漏掉迟到玩家,开战后进场的号卡在报名台,补了三分钟窗口内的补传送,这类边界现在都写进规则评审单。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 自由 PK 的世界里红名是杀戮的代价,但一杀了之太轻、装备全爆又太狠。红名监狱把惩罚做成一条可挣脱的链:…
实战应用:用在哪里 行会战打到后期只剩头部两个会的较量,中小行会没得玩。门派战把八个中型门派拉进同一张对称地图,击杀、夺旗、…
实战应用:用在哪里 为救周末在线低谷,运营把周六周日全服暴率翻倍,结果在线涨了三成,金条物价两天翻了两倍半,裁决之杖从有价无…
实战应用:用在哪里 新服前七天的留存曲线决定了这个服的寿命,庆典活动按天排档:首日冲级、第三日首领、第七日攻城预热,每天一个…
实战应用:用在哪里 结婚系统发糖容易、留人难:证一领就不再看一眼。纪念日玩法给婚姻加了长期钩子,每逢百日在比奇红娘处触发双人…
实战应用:用在哪里 好友列表大部分时间是死的,互动玩法给每个好友挂上每日动作:送花、拼酒、切磋,完成后好感加五点,好感档位解…