行会集结令是行会战前的动员工具:帮主发布集结令,全帮在线成员收到集结通知与一键传送选项,攻城战前的全员集结从口口相传变成一键动员。集结令的实现是行会级广播与批量传送确认的组合。
---发布集结令:行会频道广播 + 冷却
function Rally.publish(actor, text)
local last = tonumber(getplayvar(actor, 2, "RallyAt")) or 0
local left = 1800 - (os.time() - last)
if left > 0 then
sendmsg(actor, 1, "集结令冷却中,还差 " ..
math.ceil(left / 60) .. " 分钟")
return false
end
-- 类型 2:发往行会频道
sendmsg(actor, 2, "【集结令】" .. actor:GetName() ..
" 召集全帮!集结语:" .. text)
setplayvar(actor, "HUMAN", "RallyAt", os.time(), 1)
Rally.pushPacket(actor)
return true
end
sendmsg 的类型 2 即行会频道,集结令一句话送达全帮在线成员,发布的同时把集结包(发起人坐标、地图、时效)推给客户端做一键传送按钮。冷却 30 分钟写在持久变量里,动员的仪式感与防骚扰的节制并存。集结语的文本接入聊天同源的敏感词库,动员令里的违规内容在发布口就被拦下。
---响应集结:三重校验后传送
function Rally.accept(actor, packet)
if os.time() - packet.at > 60 then
sendmsg(actor, 1, "集结已过期")
return false
end
if Rally.inBattle(actor) then
sendmsg(actor, 1, "战斗中无法响应集结")
return false
end
if packet.guild ~= getplayvar(actor, 2, "GuildName") then
return false
end
-- 传送至集结点周围散开
mapmove(actor, packet.map,
packet.x + math.random(-3, 3),
packet.y + math.random(-3, 3), 0)
sendmsg(actor, 1, "已响应集结!")
Rally.count(actor, packet.from)
return true
end
响应的三重校验:60 秒时效、战斗态拦截、同行会比对,校验全过才传送到集结点周围散开——±3 格的随机散布防止全帮叠成一格的传送柱。集结的到达人数实时反馈给发布者:来了多少人、还差多少人,动员的进度可视。集结令与攻城战的集成:castlewarstart 触发前 10 分钟系统自动代发行会集结提醒,行会的组织效率在关键节点被制度加持。
集结令的响应率统计与行会等级的关联数据进帮主后台,动员力的数据化让行会治理有据可依;冷却的拦截次数监控防骚扰的阈值校准。
集结点曾经没有战斗态拦截,混战中被一键拉进包围圈全队团灭,战斗态的拦截保护了成员的战场自主权。传送的坐标曾经精确到发起人一格,全员叠格互相卡位,散布的随机化解决。行会频道曾经对离线成员积压消息,上线收一屏过期集结令,集结包只推在线成员。
冷却时长与响应时效进行会配置,大型行会可申请更短的冷却。集结横幅的客户端表现带一键寻路,确认即走。集结令的响应率排行榜每月公示,动员力强的行会获得攻城时段的优先选择权。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
学员常见误区 Lua函数可返回多个值,学员用固定变量数接收时如果变量少于返回值,多余返回值被静默丢弃;如果变量多于返回值,多…
设计初衷 行会建筑的死穴是一次全解锁:会员没有逐步建设的过程感。梯度设计让每栋建筑都有前置条件和资源门槛。 数值模型 建筑分…
设计初衷 婚姻系统的属性加成是社交玩法的经济锚点:加成太弱没人结婚,太强则"为了属性被迫结婚"扭曲了社交本质。婚姻边界的设计…
设计初衷 宝箱类玩法的信任危机都源于同一句话:"概率是不是骗人的。"期望公示把概率从事后争议变成事前契约:奖池概率表全量公示…
设计初衷 流拍物(拍卖未成交的退回物品)堆积在卖家背包里成为死资产:低价值物流拍后无人问津,高价值物流拍后卖家不愿降价重拍。…
业务场景 沙巴克战功榜每周结算,玩家提交战功前不知道"再打多少能进前 10、前 10 的奖励是什么"。名次预览:输入自己的战…