组队奖励平均分:混子挂机与主力输出拿一样多,主力寒心。祖玛教主战的伤害占比分配器封装:战斗结束按每人对教主造成的伤害占比分配奖励池,保底条款保证低贡献者也有参与奖——多劳多得,参与有底。
伤害记账。示例代码如下:
local dmgTable = {}
local function recordDamage(actor, dmg)
local key = tostring(actor)
dmgTable[key] = (dmgTable[key] or 0) + dmg
end
按占比分配。示例代码如下:
local POOL = 10000
local FLOOR = 500
local function splitReward()
local total = 0
for _, d in pairs(dmgTable) do
total = total + d
end
for key, d in pairs(dmgTable) do
local share = math.floor(POOL * d / total)
share = math.max(share, FLOOR)
print(key, share)
end
end
recordDamage 以 actor 转字符串为键累计伤害(表键即参战名单);splitReward 先求总伤害,再按 d/total 的占比从奖池切分,math.floor 取整防小数奖励,math.max 保底 FLOOR——占比高得多分、占比低也有底,两条款互不吞并。
伤害分配器踩过三个坑:一是 total 为零时除零报错(全员挂机未输出),先判 total <= 0 直接平分保底;二是占比取整后各人份额之和超出奖池,末位按奖池减去已发兜底结算;三是伤害表跨场残留,开战触发器统一清表并记录场次号。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏】 一、业务场景 帮会成员各自散在地图挂机,聊天频道冷冷清清,帮会没了人气。聚义厅上线:帮会驻地开放聚义同堂玩法,同厅…
【语法】 一、隐蔽陷阱 三类资源要在五个进程间分配:随手分出去,可能出现每个进程都差一点资源、互相等待的死局——逐种分配方案…
【游戏】 一、业务场景 帮会之间的摩擦全靠野外乱斗,多次引发大规模群架被官方警告。龙头棍玩法上线:每晚八点龙头棍刷新在公共据…
【游戏】 一、业务场景 敌对帮会夜间偷袭资源点,从东门到主坛传话靠人跑,信息到时资源已被搬空。烽火台上线:沿城墙三座烽火台逐…
【语法】 一、隐蔽陷阱 判断滑块开局能否还原,直接搜索穷举所有走法:状态数上万,一个局能跑几十秒——其实奇偶性一条规则即可判…
【语法】 一、隐蔽陷阱 变长编码压缩文本时按出现顺序随意编号:解码端无法切分,因为某个编码恰是另一个编码的前缀——哈夫曼树的…