把自走棋的三合一升星搬进召唤体系:三只同名同级召唤兽可合成一只高一星的强化召唤兽,星级越高外形与技能越华丽。合成让冗余召唤兽有了归宿,收集与升星两条养成线同时启动。
合成入口校验三只同名同级召唤兽,扣三合一发高一星。actor是字符串,转对象后读召唤兽背包。
local function mergeSummon(actor, name, star)
local player = class(actor)
if star >= 3 then
sendmsg(actor, 0, "已达到3星上限")
return
end
local mat = name .. "·" .. star .. "星"
if player:checkitemw(mat, 3) == false then
sendmsg(actor, 0, "需要3只" .. mat)
return
end
player:takeitem(mat, 3)
giveitem(actor, name .. "·" .. (star + 1) .. "星", 1)
sendcentermsg(class(actor):GetName() .. " 合成了" .. star + 1 .. "星" .. name .. "!")
end
升星后的召唤兽挂对应星级的Buff与外形标识,三星解锁专属技能,星级在名字后缀直观可见。
local function applyStarBuff(actor, star)
local player = class(actor)
addbuff(actor, "SUMMON_STAR_" .. star, 86400)
if star == 3 then
sendmsg(actor, 0, "3星召唤兽解锁专属技能:裂地击")
end
end
合成路径的星级上限拦截、材料不足、成功升星三路径验证;升星Buff与星级一致。上线后统计各星级召唤兽的分布,三星占比超过一成说明材料投放过快,回收合成券控速。
召唤兽入包为物品形态,checkitemw按名字计数时含星级的全名必须与物品库逐字一致,中间点号别用中文句号。SUMMON_STAR_Buff按星级分档预建三条,档位收敛防Buff表膨胀。合成后旧召唤兽消失的确认弹窗不能省,误合成三星的申诉无法回滚。sendcentermsg的合成播报只在二星升三星时触发,低星合成刷屏会淹没世界频道。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 装备回收商 NPC 每天按评分收购玩家的装备,裁决之杖、骨玉权杖按攻击、持久加权打分,榜上只要前五名。数…
实战应用:用在哪里 沙巴克攻城是全服行会战的最高舞台:攻方砸开城门、抢占皇宫,守方依托城墙与复活点反打。规则设计的关键是节奏…
实战应用:用在哪里 影分身玩法给法师职业补上生存短板:危急时刻召唤四个影分身分担仇恨,敌人需要在六格范围内分辨真身,猜错就浪…
实战应用:用在哪里 组队邀请、行会宣战这类关键信令丢了没有兜底,玩家只能反复手点,高峰期体验很差。重试机制给信令加确认回执:…
实战应用:用在哪里 新资料片上线首日预约量常是日常十倍,一口气全开会让数据库与登录网关同时过载。滚动开区把开区动作排成队列:…
实战应用:用在哪里 百人同屏的沙巴克外围战场,每个玩家每秒跑动会触发数次位置更新,全部即时下发时广播量随人数平方增长,网关先…