本文档面向策划人员,说明如何配置服务端 configs/DropMultipleActivity.txt 多包裹掉落活动。
DropMultipleActivity.txt 只控制“掉落几次包裹 roll”。它不控制单个物品的概率倍率。单个包裹内部每个掉落格的概率倍率由 ConfigInfo.ini 的 DropParam 控制。
1. 一句话理解
掉落倍率现在拆成两层:
| 配置 |
控制内容 |
例子 |
DropMultipleActivity.txt |
控制包裹数量 |
包裹数量=3 表示最多 roll 3 次独立包裹 |
ConfigInfo.ini 的 DropParam |
控制每个包裹内部掉落格概率 |
DropParam=3.0 表示单个掉落格概率乘 3,最高按 300% 处理 |
常见组合:
| 目标 |
包裹数量 |
DropParam |
实际效果 |
| 双倍包裹 |
2 |
1.0 |
怪物死亡最多掉 2 个地面包裹 |
| 三倍包裹 |
3 |
1.0 |
怪物死亡最多掉 3 个地面包裹 |
| 单包裹三倍格子概率 |
1 |
3.0 |
只掉 1 个包裹,但包裹内部单个必掉格产出 3 次 |
| 三包裹 + 三倍格子概率 |
3 |
3.0 |
最多 3 个包裹,每个包裹内部格子概率再乘 3 |
2. 文件位置和编码
服务端配置文件:
服务端/ubuntu/tlbb/configs/DropMultipleActivity.txt
注意事项:
- 该文件是服务端配置表,建议使用
GBK/ANSI 编码保存,和现有服务端 .txt 配置保持一致。
- 字段之间必须使用
Tab 分隔,不建议用空格对齐。
- 第一行是字段类型,第二行是字段名,不要删除、不要改顺序、不要改字段名。
- 注释行必须以
# 开头,而且 # 必须是这一行第一个字符。
- 不要在数据行末尾写行内注释。
3. 表头格式
当前标准表头如下:
INT INT STRING STRING STRING INT INT INT INT STRING STRING STRING STRING INT
活动ID 是否开启 活动名称 开始时间 结束时间 包裹数量 是否生效击杀 是否生效扫荡 是否生效找回 副本类型列表 副本脚本列表 扫荡副本列表 怪物模型列表 优先级
配置数据从第三行开始。
4. 字段总览
| 字段 |
必填 |
推荐值 |
说明 |
活动ID |
是 |
正整数 |
活动唯一编号,不要重复 |
是否开启 |
是 |
0 或 1 |
1 开启,其他值按关闭 |
活动名称 |
是 |
文本 |
方便人工识别,不直接控制客户端公告 |
开始时间 |
是 |
2026-06-26 00:00:00 |
活动开始时间,空/0/-1 表示不限制 |
结束时间 |
是 |
2026-07-02 00:00:00 |
活动结束时间,空/0/-1 表示不限制 |
包裹数量 |
是 |
1 到 10 |
只接受 1-10,非法值按 1 |
是否生效击杀 |
是 |
0 或 1 |
是否对怪物死亡地面包裹生效 |
是否生效扫荡 |
是 |
0 或 1 |
是否对副本扫荡奖励生效 |
是否生效找回 |
是 |
通常填 0 |
找回扫荡是否享受多包裹,默认不享受 |
副本类型列表 |
否 |
-1 或 ID 列表 |
主要用于击杀掉落筛选;扫荡不建议使用 |
副本脚本列表 |
否 |
-1 或脚本 ID 列表 |
用脚本 ID 筛选副本 |
扫荡副本列表 |
否 |
-1 或扫荡 ID 列表 |
只用于扫荡筛选 |
怪物模型列表 |
否 |
-1 或怪物模型 ID 列表 |
用怪物模型 ID 精确筛选 |
优先级 |
是 |
整数 |
多条活动同时命中时,优先级最高的一条生效 |
5. 字段详解
5.1 活动ID
用途:唯一标识一条活动配置。
规则:
- 必须是正整数。
活动ID <= 0 的行会被忽略。
- 不要重复。重复 ID 会让排查变困难。
- 如果多条活动同时命中,优先级相同的情况下,
活动ID 小的行优先。
推荐:
1001 2026暑期双倍掉落
1002 2026暑期三倍扫荡
1003 2026周末副本加成
5.2 是否开启
用途:控制这一行活动是否启用。
规则:
建议:
- 新活动先填
0,检查无误后再改成 1。
- 活动结束后可以改回
0,不要直接删除历史配置,方便回查。
5.3 活动名称
用途:方便策划、运营、程序识别这一行配置。
注意:
- 这个字段不自动发客户端公告。
- 客户端公告、活动文案、字典文本仍需按原流程配置,例如
StrDictionary.txt 或对应活动公告配置。
5.4 开始时间、结束时间
用途:控制活动生效时间。
支持格式:
2026-06-26 00:00:00
2026/06/26 00:00:00
20260626
20260626000000
空、0、-1 表示不限制。
结束时间规则:
开始时间 <= 当前时间 < 结束时间 时生效。
- 结束时间是“开区间”,到达结束时间那一刻就不再生效。
例子:
如果活动文案写“6月26日更新后至7月1日24时”,推荐这样填:
开始时间 = 2026-06-26 00:00:00
结束时间 = 2026-07-02 00:00:00
不要写成:
结束时间 = 2026-07-01 24:00:00
虽然部分时间库可能会自动折算,但不利于人工检查。
5.5 包裹数量
用途:控制命中活动后做几次独立包裹 roll。
规则:
- 只接受
1-10。
- 小于 1、大于 10、空值、非法值,都会按
1 处理。
1 表示不增加包裹数量,但活动仍可以命中。
- 每次 roll 独立计算掉落。
- 单次 roll 没有任何物品时,不创建空地面包裹。
例子:
| 包裹数量 |
怪物死亡可能表现 |
| 1 |
原来最多 1 个地面包裹 |
| 2 |
最多 2 个地面包裹 |
| 3 |
最多 3 个地面包裹 |
| 10 |
最多 10 个地面包裹 |
重要:
包裹数量 不会复制脚本补发奖励、任务奖励、保底奖励。
- 怪物死亡时,脚本额外补发的掉落默认只发一次。
- 扫荡时,普通表驱动掉落会按包裹数量多次 roll 后合并到奖励列表。
5.6 是否生效击杀
用途:是否对怪物死亡后的地面掉落包裹生效。
规则:
击杀路径可用筛选字段:
击杀路径不使用:
5.7 是否生效扫荡
用途:是否对副本扫荡奖励生效。
规则:
扫荡路径可用筛选字段:
扫荡路径不建议使用:
说明:
扫荡不是实际副本场景击杀,没有可靠的副本类型上下文。扫荡配置请优先用 扫荡副本列表 精确控制。
5.8 是否生效找回
用途:控制副本找回扫荡是否享受多包裹。
规则:
- 普通扫荡:只要
是否生效扫荡=1 且其他条件命中,就能享受。
- 找回扫荡:必须同时满足
是否生效扫荡=1 和 是否生效找回=1。
是否生效找回=0 是推荐默认值。
常规活动建议:
是否生效找回 = 0
只有明确要让找回也吃活动时才填:
是否生效找回 = 1
5.9 列表字段通用规则
以下字段都是列表字段:
副本类型列表
副本脚本列表
扫荡副本列表
怪物模型列表
空值或 -1 表示“不限制”。
支持分隔符:
1;2;3
1,2,3
1|2|3
1 2 3
推荐统一使用分号:
1;2;3;4
非常重要:
- 不支持范围写法。
1-15 不是 1 到 15。
- 如果一整列只写了
1-15,程序会识别不到有效数字,结果会变成“不限制”,可能造成活动范围过大。
正确写法:
1;2;3;4;5;6;7;8;9;10;11;12;13;14;15
错误写法:
1-15
5.10 副本类型列表
用途:按副本类型筛选击杀掉落。
适用:
不推荐用于:
什么时候使用:
- 程序或已有配置明确告诉你某类副本的副本类型 ID。
- 你想按一类副本统一控制,而不是按脚本或怪物控制。
不确定时:
优先使用 副本脚本列表 或 怪物模型列表。
5.11 副本脚本列表
用途:按副本脚本 ID 筛选。
适用:
常见来源:
- 击杀掉落:副本 Lua 脚本里的
script_id,并且创建副本时通常会写入 config.params[1] = self.script_id。
- 扫荡掉落:扫荡配置
SecKillBase.txt 中的 服务端脚本ID。
- 程序提供的实际副本脚本 ID。
注意:
- 击杀和扫荡不是同一条运行路径,脚本 ID 来源可能不同。
- 配扫荡时优先用
扫荡副本列表,比 副本脚本列表 更直观。
- 配击杀时如果不确定脚本 ID,优先用
副本类型列表 或 怪物模型列表。
例子:
401040;402048;402276
表示只对这些脚本 ID 对应的副本生效。
5.12 扫荡副本列表
用途:按扫荡副本 ID 筛选。
适用:
不适用:
常见来源:
SecKillBase.txt 第一列 副本ID。
例子:
1;2;3;4;5;6;7;8;9;10;11;12;13;14;15
表示对这些扫荡副本生效。
5.13 怪物模型列表
用途:按怪物模型 ID 精确筛选。
适用:
常见来源:
- 怪物配置里的
type。
MonsterDropBoxs.txt 的怪物编号。
- 副本怪物 ini 文件中的怪物模型 ID。
什么时候使用:
- 只想让某几个 BOSS 享受多包裹。
- 同一个副本里只有指定怪物要加成。
- 想避开普通小怪。
5.14 配置 ID 去哪里查
这几个列表字段都要填数字 ID,策划配置前建议先确认 ID 来源。
| 要填的字段 |
推荐查询位置 |
主要用途 |
副本类型列表 |
services/scripts/ScriptGlobal.lua |
击杀掉落按副本类型筛选 |
副本脚本列表 |
副本 Lua 脚本里的 script_id |
击杀掉落按具体副本脚本筛选 |
扫荡副本列表 |
configs/SecKillBase.txt 第一列 副本ID |
扫荡掉落筛选 |
怪物模型列表 |
副本脚本 DataID、LuaFnCreateMonster、MonsterDropBoxs.txt |
指定 BOSS 或指定怪物筛选 |
5.14.1 查副本类型 ID
副本类型 ID 在服务端:
服务端/ubuntu/tlbb/services/scripts/ScriptGlobal.lua
查找方式:
rg -n "FUBEN_.*=" H:\WuQiong\WuQiong_Ai\服务端\ubuntu\tlbb\services\scripts\ScriptGlobal.lua
看到类似内容:
ScriptGlobal.FUBEN_PIAOMIAOFENG = 937
ScriptGlobal.FUBEN_SHUIYUESHANZHUANG = 927
ScriptGlobal.FUBEN_WANGRIMENGJING = 924
那么:
- 缥缈峰副本类型 ID 是
937。
- 水月山庄副本类型 ID 是
927。
- 往日梦境副本类型 ID 是
924。
如果已经知道某个副本脚本文件,也可以在脚本里找:
rg -n "g_CopySceneType" H:\WuQiong\WuQiong_Ai\服务端\ubuntu\tlbb\services\scripts
脚本里一般会有:
xxx.g_CopySceneType = ScriptGlobal.FUBEN_PIAOMIAOFENG
创建副本时通常会写:
config.params[0] = self.g_CopySceneType
DropMultipleActivity.txt 的 副本类型列表 匹配的就是这个 params[0]。
5.14.2 查副本脚本 ID
副本脚本 ID 在 Lua 脚本开头,一般长这样:
epiaomiaofeng.script_id = 402263
查找方式:
rg -n "script_id\s*=" H:\WuQiong\WuQiong_Ai\服务端\ubuntu\tlbb\services\scripts
如果知道副本名,可以带关键词搜:
rg -n "挑战缥缈峰|初战缥缈峰|水月山庄|讨伐燕子坞" H:\WuQiong\WuQiong_Ai\服务端\ubuntu\tlbb\services\scripts
击杀掉落匹配 副本脚本列表 时,程序取的是副本场景参数:
config.params[1] = self.script_id
所以只有这个副本创建时写了 params[1],副本脚本列表 才能稳定命中击杀掉落。
不确定时,建议:
- 按整个副本控制:用
副本类型列表。
- 只按某些 BOSS 控制:用
怪物模型列表。
- 扫荡控制:用
扫荡副本列表。
5.14.3 查扫荡副本 ID
扫荡副本 ID 在:
服务端/ubuntu/tlbb/configs/SecKillBase.txt
第一列 副本ID 就是 扫荡副本列表 要填的 ID。
建议用支持 GBK/ANSI 的表格工具打开,重点看这几列:
| 列名 |
用途 |
副本ID |
填到 扫荡副本列表 |
副本名称 |
人工确认副本 |
服务端脚本ID |
扫荡内部脚本 ID,不等同于所有击杀副本脚本 ID |
可找回 |
判断这个扫荡是否支持找回 |
例子:
| 扫荡副本ID |
副本名称 |
| 7 |
讨伐燕子坞 |
| 9 |
初战缥缈峰 |
| 10 |
挑战缥缈峰 |
| 11 |
水月山庄 |
| 12 |
青丘试炼(普通) |
| 13 |
青丘试炼(困难) |
| 14 |
往日梦境(普通) |
| 15 |
往日梦境(困难) |
重要:
扫荡副本列表 不支持 1-15 这种范围写法。
- 要写成
1;2;3;4;5;6;7;8;9;10;11;12;13;14;15。
5.14.4 查怪物模型 ID
怪物模型 ID 常见来源有三类。
第一类:副本脚本里的 BOSS 表。
rg -n "DataID\s*=" H:\WuQiong\WuQiong_Ai\服务端\ubuntu\tlbb\services\scripts\event
例如缥缈峰脚本里:
["HaDaBa_BOSS"] = {
DataID = 9540,
}
这里 9540 就可以填到 怪物模型列表。
第二类:脚本动态创建怪物。
rg -n "LuaFnCreateMonster" H:\WuQiong\WuQiong_Ai\服务端\ubuntu\tlbb\services\scripts
如果看到:
self:LuaFnCreateMonster(9540, x, z, ...)
第一个参数通常就是怪物模型 ID。
第三类:掉落表。
服务端/ubuntu/tlbb/configs/MonsterDropBoxs.txt
第一列是怪物模型 ID,后面是这个怪物挂的掉落包。
可以这样反查某个怪物是否有表驱动掉落:
rg -n "^9540\t" H:\WuQiong\WuQiong_Ai\服务端\ubuntu\tlbb\configs\MonsterDropBoxs.txt
如果 MonsterDropBoxs.txt 找不到这个怪物模型,说明它可能没有表驱动掉落,DropMultipleActivity.txt 对它可能不会产生效果。
5.14.5 公告副本配置示例 ID 来源
公告文案:
老三环、新三环、讨伐燕子坞、杀星、初战缥缈峰、挑战缥缈峰、水月山庄、青丘试炼(普通)、青丘试炼(困难)、往日梦境(普通)、往日梦境(困难)
击杀侧可以用这些副本类型:
| 副本 |
副本类型 ID |
| 一个都不能跑 |
960 |
| 除害 |
959 |
| 剿匪 |
958 |
| 黄金之链 |
933 |
| 玄佛珠 |
932 |
| 熔岩之地 |
931 |
| 讨伐燕子坞 |
939 |
| 杀星 |
938 |
| 缥缈峰 |
937 |
| 水月山庄 |
927 |
| 青丘试炼 |
928 |
| 往日梦境 |
924 |
所以 副本类型列表 可以写:
960;959;958;933;932;931;939;938;937;927;928;924
扫荡侧对应 SecKillBase.txt 的 副本ID=1-15,要写成:
1;2;3;4;5;6;7;8;9;10;11;12;13;14;15
6. 命中规则
一条活动必须同时满足以下条件才会命中:
是否开启=1。
- 当前时间在
开始时间 和 结束时间 范围内。
- 当前来源符合开关:
- 怪物死亡:
是否生效击杀=1
- 扫荡:
是否生效扫荡=1
- 找回扫荡:
是否生效扫荡=1 且 是否生效找回=1
- 当前副本、脚本、扫荡 ID、怪物模型满足配置筛选。
多条活动同时命中时:
- 只取一条。
优先级 最大的生效。
- 优先级相同,则
活动ID 小的优先。
建议:
- 全服大活动用较低优先级,例如
100。
- 特殊补偿活动用较高优先级,例如
1000。
- 测试活动用更高优先级,例如
9999,测试结束后关闭。
7. DropParam 的关系
DropMultipleActivity.txt 只决定包裹 roll 次数。
ConfigInfo.ini 的 DropParam 决定每个包裹内部掉落格概率:
[Global]
DropParam=1.0
规则:
修正概率 = 原始概率 × DropParam
- 单个掉落格最终封顶
300%
300% 表示这个掉落格最多产出 3 次
DropParam=0 表示表掉落概率为 0
DropParam<0 或非法值按 1.0
例子:
| 原始概率 |
DropParam |
修正概率 |
结果 |
| 100% |
1.0 |
100% |
产出 1 次 |
| 100% |
3.0 |
300% |
产出 3 次 |
| 100% |
5.0 |
300% |
封顶,只产出 3 次 |
| 50% |
3.0 |
150% |
1 次必出,50% 再出 1 次 |
| 30% |
3.0 |
90% |
90% 概率出 1 次 |
物品合并规则:
- 可叠加物品:随机到同一个物品时合并为
count=数量。
- 不可叠加物品:生成多条独立物品记录。
- 扫荡领取会按完整
count 检查背包空间,不够时不会删除奖励。
8. 常用扫荡副本 ID 参考
以下 ID 来自 SecKillBase.txt。
| 扫荡副本ID |
副本名称 |
服务端脚本ID |
备注 |
| 1 |
一个都不能跑 |
50100 |
老三环相关 |
| 2 |
除害 |
50101 |
老三环相关 |
| 3 |
剿匪 |
50102 |
老三环相关 |
| 4 |
黄金之链 |
50220 |
新三环相关 |
| 5 |
玄佛珠 |
50221 |
新三环相关 |
| 6 |
熔岩之地 |
50222 |
新三环相关 |
| 7 |
讨伐燕子坞 |
401040 |
燕子坞 |
| 8 |
杀星 |
402048 |
杀星 |
| 9 |
初战缥缈峰 |
402276 |
初战缥缈峰 |
| 10 |
挑战缥缈峰 |
402263 |
挑战缥缈峰 |
| 11 |
水月山庄 |
891070 |
水月山庄 |
| 12 |
青丘试炼(普通) |
893020 |
青丘普通 |
| 13 |
青丘试炼(困难) |
893104 |
青丘困难 |
| 14 |
往日梦境(普通) |
998480 |
往日普通 |
| 15 |
往日梦境(困难) |
998487 |
往日困难 |
9. 快速配置模板
9.1 全部副本击杀和扫荡双包裹,不含找回
适合临时全服双倍掉落测试。
活动ID 是否开启 活动名称 开始时间 结束时间 包裹数量 是否生效击杀 是否生效扫荡 是否生效找回 副本类型列表 副本脚本列表 扫荡副本列表 怪物模型列表 优先级
1001 1 全服双包裹测试 2026-06-26 00:00:00 2026-07-02 00:00:00 2 1 1 0 -1 -1 -1 -1 100
效果:
- 所有命中的怪物死亡最多 2 个地面包裹。
- 所有扫荡最多按 2 次包裹 roll 合并奖励。
- 找回不享受。
风险:
9.2 只对指定扫荡副本双包裹,不影响怪物死亡
适合只开扫荡掉落活动。
1002 1 指定副本扫荡双包裹 2026-06-26 00:00:00 2026-07-02 00:00:00 2 0 1 0 -1 -1 1;2;3;4;5;6;7;8;9;10;11;12;13;14;15 -1 100
效果:
- 只影响扫荡副本 ID 1-15。
- 不影响实际进副本击杀。
- 找回不享受。
9.3 指定副本击杀双包裹,不影响扫荡
适合只对实际进本击杀生效。
1003 1 指定副本击杀双包裹 2026-06-26 00:00:00 2026-07-02 00:00:00 2 1 0 0 -1 50100;50101;50102;50220;50221;50222;401040;402048;402276;402263;891070;893020;893104;998480;998487 -1 -1 100
效果:
- 只影响这些副本脚本对应的怪物死亡掉落。
- 不影响扫荡。
注意:
- 实际击杀副本脚本 ID 是否和
SecKillBase.txt 一致,需要以服务端副本脚本配置为准。
- 如果不确定,请找程序确认对应副本实际
script_id。
9.4 同一个活动同时支持击杀和扫荡
推荐拆成两行,分别控制击杀和扫荡,便于排查。
1004 1 指定副本击杀双包裹 2026-06-26 00:00:00 2026-07-02 00:00:00 2 1 0 0 -1 50100;50101;50102;50220;50221;50222;401040;402048;402276;402263;891070;893020;893104;998480;998487 -1 -1 100
1005 1 指定副本扫荡双包裹 2026-06-26 00:00:00 2026-07-02 00:00:00 2 0 1 0 -1 -1 1;2;3;4;5;6;7;8;9;10;11;12;13;14;15 -1 100
为什么推荐拆两行:
- 击杀和扫荡能用的筛选字段不同。
- 扫荡推荐用
扫荡副本列表。
- 击杀推荐用
副本脚本列表 或 怪物模型列表。
- 拆开后排查更直观。
9.5 指定怪物三包裹
适合只让某几个 BOSS 增加包裹数量。
1006 1 指定BOSS三包裹 2026-06-26 00:00:00 2026-07-02 00:00:00 3 1 1 0 -1 -1 -1 123456;123457;123458 200
效果:
- 只有怪物模型 ID 为
123456、123457、123458 的表驱动掉落享受三包裹。
- 普通扫荡中如果 roll 到这些怪物模型,也会按三包裹合并奖励。
9.6 找回也享受活动
一般不推荐,除非运营明确要求。
1007 1 找回也享受扫荡双包裹 2026-06-26 00:00:00 2026-07-02 00:00:00 2 0 1 1 -1 -1 7;8;9;10 -1 300
效果:
9.7 高优先级覆盖低优先级
例子:全服双包裹,但某几个 BOSS 临时三包裹。
1101 1 全服双包裹 2026-06-26 00:00:00 2026-07-02 00:00:00 2 1 1 0 -1 -1 -1 -1 100
1102 1 指定BOSS三包裹 2026-06-26 00:00:00 2026-07-02 00:00:00 3 1 1 0 -1 -1 -1 123456;123457 500
效果:
- 普通怪物命中
1101,双包裹。
- 指定 BOSS 同时命中
1101 和 1102,因为 1102 优先级更高,所以三包裹。
10. 配置流程建议
正式配置建议按下面流程:
- 明确活动目标:
- 只影响击杀?
- 只影响扫荡?
- 击杀和扫荡都影响?
- 找回是否参与?
- 确认活动时间:
- 确认活动范围:
- 扫荡用
扫荡副本列表。
- 击杀用
副本脚本列表 或 怪物模型列表。
- 设置
包裹数量:
- 常规双倍填
2。
- 三倍填
3。
- 最大只能填
10。
- 设置
优先级:
- 普通活动
100。
- 特殊覆盖活动
500 或更高。
- 先在测试服开启。
- 测试击杀、扫荡、找回三条路径。
- 确认无误后同步正式服。
- 配置客户端公告或活动文本。
11. 热更方式
该配置已经加入服务端配置热更目标,目标名:
drop_multiple_activity
常用 GM 命令:
!!reloadconfig target=drop_multiple_activity
也可以使用文件名别名:
!!reloadconfig target=DropMultipleActivity.txt
说明:
- 默认热更范围是场景相关服务。
- 正式服是否允许热更、由谁执行、何时执行,按运维和 GM 权限流程处理。
- 如果热更失败,建议检查 GM 返回信息和服务端日志。
- 如果不确定热更是否覆盖当前副本实例,建议新开副本或重启相关测试场景后复测。
如果同时修改了 ConfigInfo.ini 的 DropParam,还需要热更:
!!reloadconfig target=config_info
12. 测试用例
12.1 包裹数量测试
配置:
包裹数量=3
DropParam=1.0
预期:
- 命中活动的怪物死亡后,最多生成 3 个独立地面包裹。
- 每个包裹独立 roll。
- 如果某次 roll 为空,不创建空包裹。
12.2 DropParam 测试
配置:
包裹数量=1
DropParam=3.0
预期:
- 只生成 1 个地面包裹。
- 原始 100% 的掉落格会产出 3 次。
- 可叠加物品可能显示为
count=3。
- 不可叠加物品生成 3 条独立物品。
12.3 封顶测试
配置:
包裹数量=1
DropParam=5.0
预期:
- 单个掉落格最高按 300%。
- 原始 100% 的掉落格只产出 3 次,不会产出 5 次。
12.4 找回测试
配置:
是否生效扫荡=1
是否生效找回=0
预期:
配置:
是否生效扫荡=1
是否生效找回=1
预期:
12.5 优先级测试
配置两条活动:
活动A:包裹数量=2,优先级=100
活动B:包裹数量=3,优先级=500
如果同一个怪物同时命中 A 和 B:
13. 常见错误和排查
13.1 写了 1-15 导致范围异常
错误:
扫荡副本列表=1-15
原因:
- 配置不支持范围写法。
1-15 不会被识别成 1 到 15。
- 如果整列没有其他有效数字,可能会变成“不限制”。
正确:
扫荡副本列表=1;2;3;4;5;6;7;8;9;10;11;12;13;14;15
13.2 活动没有生效
检查顺序:
是否开启 是否为 1。
- 当前时间是否在开始和结束时间范围内。
包裹数量 是否为 1-10。
- 击杀活动是否填了
是否生效击杀=1。
- 扫荡活动是否填了
是否生效扫荡=1。
- 找回扫荡是否需要
是否生效找回=1。
- 筛选 ID 是否填错。
- 是否热更了
drop_multiple_activity。
- 如果改了
DropParam,是否也热更了 config_info。
13.3 活动范围过大
常见原因:
- 列表字段填了非法内容,导致识别成“不限制”。
副本脚本列表=-1、扫荡副本列表=-1、怪物模型列表=-1 都是不限制。
- 全部筛选字段都不限制时,活动会变成大范围活动。
建议:
- 正式活动尽量不要全填
-1。
- 扫荡活动优先填明确的
扫荡副本列表。
- 击杀活动优先填明确的
副本脚本列表 或 怪物模型列表。
13.4 扫荡有加成,实际击杀没有加成
可能原因:
- 只填了
扫荡副本列表。
是否生效击杀=0。
- 击杀副本实际脚本 ID 和你填写的脚本 ID 不一致。
解决:
- 击杀路径请配置
是否生效击杀=1。
- 使用
副本脚本列表 或 怪物模型列表 限定击杀范围。
- 找程序确认实际副本脚本 ID。
13.5 实际击杀有加成,扫荡没有加成
可能原因:
是否生效扫荡=0。
- 没填
扫荡副本列表。
- 找回扫荡但
是否生效找回=0。
- 扫荡副本 ID 填错。
解决:
- 扫荡路径请配置
是否生效扫荡=1。
- 使用
扫荡副本列表 限定范围。
- 找回需要额外开启
是否生效找回=1。
13.6 地面包裹数量没有达到配置数量
这是正常情况。
原因:
包裹数量=3 表示最多 roll 3 次。
- 每次 roll 仍然可能没有任何掉落。
- 空 roll 不会创建地面包裹。
如果想提高每个包裹内出物概率,需要调整 ConfigInfo.ini 的 DropParam。
13.7 必掉物品没有变成多个地面包裹
检查:
- 如果只改了
DropParam=3.0,但 包裹数量=1,那么仍然只有一个地面包裹。
- 多出来的物品会在同一个包裹内部产出。
如果想多个地面包裹:
包裹数量=2 或 3
13.8 客户端公告显示了活动,但掉落没生效
原因:
- 客户端公告和服务端掉落配置是两套系统。
StrDictionary.txt 或公告文本只负责显示,不会自动开启掉落活动。
检查:
- 服务端
DropMultipleActivity.txt 是否开启。
- 活动时间是否正确。
- 是否热更服务端配置。
13.9 掉落生效了,但客户端公告没显示
原因:
DropMultipleActivity.txt 不负责客户端公告。
解决:
- 按客户端公告流程配置
StrDictionary.txt 或对应活动入口文本。
14. 推荐配置规范
14.1 ID 规划
建议按活动类型分段:
| ID 段 |
用途 |
| 1000-1999 |
常规节日活动 |
| 2000-2999 |
周末活动 |
| 3000-3999 |
补偿活动 |
| 9000-9999 |
测试活动 |
14.2 优先级规划
| 优先级 |
用途 |
| 100 |
常规活动 |
| 300 |
节日活动 |
| 500 |
特殊副本活动 |
| 1000 |
补偿或覆盖活动 |
| 9999 |
测试临时活动 |
14.3 活动拆分建议
推荐:
- 击杀一行。
- 扫荡一行。
- 特殊 BOSS 覆盖一行。
不推荐:
- 所有逻辑混在一行。
- 同时填很多筛选字段但没有记录目的。
拆分的好处:
15. 上线前检查清单
上线前逐项确认:
- [ ] 文件编码是
GBK/ANSI。
- [ ] 字段顺序没有改。
- [ ] 数据行使用
Tab 分隔。
- [ ]
活动ID 唯一。
- [ ]
是否开启 已确认。
- [ ]
开始时间 和 结束时间 正确。
- [ ]
结束时间 使用下一天 00:00:00 表达 24 点。
- [ ]
包裹数量 在 1-10。
- [ ] 没有使用
1-15 这种范围写法。
- [ ] 扫荡活动填了正确的
扫荡副本列表。
- [ ] 击杀活动填了正确的
副本脚本列表 或 怪物模型列表。
- [ ] 找回是否参与已确认。
- [ ]
优先级 已确认。
- [ ] 如果改了
DropParam,确认其影响是全局包内概率。
- [ ] 测试服已验证击杀。
- [ ] 测试服已验证普通扫荡。
- [ ] 测试服已验证找回扫荡。
- [ ] 客户端公告文本已同步配置。
- [ ] 已执行热更或重启。
16. 完整示例:2026 双倍掉落活动
活动目标:
- 2026 年 6 月 26 日 00:00:00 到 2026 年 7 月 2 日 00:00:00。
- 老三环、新三环、讨伐燕子坞、杀星、初战缥缈峰、挑战缥缈峰、水月山庄、青丘试炼、往日梦境。
- 击杀和普通扫荡都享受双包裹。
- 找回不享受。
推荐配置两行:
2001 1 2026双倍掉落-击杀 2026-06-26 00:00:00 2026-07-02 00:00:00 2 1 0 0 -1 50100;50101;50102;50220;50221;50222;401040;402048;402276;402263;891070;893020;893104;998480;998487 -1 -1 300
2002 1 2026双倍掉落-扫荡 2026-06-26 00:00:00 2026-07-02 00:00:00 2 0 1 0 -1 -1 1;2;3;4;5;6;7;8;9;10;11;12;13;14;15 -1 300
如果这次活动只想影响扫荡,不影响实际击杀,则只保留第二行。
如果这次活动只想影响实际击杀,不影响扫荡,则只保留第一行。
17. 和程序员雪舞沟通时需要提供的信息
如果活动没按预期生效,找程序排查时请提供:
DropMultipleActivity.txt 相关行。
ConfigInfo.ini 的 DropParam。
- 测试角色 ID 或角色名。
- 测试时间。
- 是击杀、普通扫荡,还是找回扫荡。
- 副本名称。
- 扫荡副本 ID。
- 怪物模型 ID,如果是击杀问题。
- 期望包裹数量。
- 实际看到的包裹数量或奖励列表。
提供这些信息可以明显减少排查时间。