菜单按钮文字统一 ETH 写法,新增 build.ps1 同步

- 00:SHOW_RAREAMA_5/6、SHOW_MAGAMA_5/6 补回 亮金/蓝色 并改用 ETH(原 11 汉字超限)
- 00:其余 6 条「无形」按钮文字统一改为 ETH
- 00:头部说明「不超过 8 个汉字」更正为 10
- sync-to-repo.ps1 v1.2:同步清单加入 build.ps1
- build.ps1 v1.9:新增按钮文字长度自查(10 汉字 / 分组名 12 汉字)
This commit is contained in:
lonelywolf 2026-10-31 21:47:51 +08:00
parent 426d33bc53
commit f4785b28e6
3 changed files with 54 additions and 23 deletions

View File

@ -112,7 +112,7 @@ ItemDisplay[box]: %GOLD%%NAME%{%LIGHT_GRAY%V2.08 更新于 26/10/31%CL%%CORAL%
//说明:TRUE为开,FALSE为关,按需自行自定义配置。
//自定义说明
//1,Alias[XXXX]内的XXX为过滤器内部功能字段代码,名称不能和其它一样。
//2,//后面的@XXXX@YYYY@,其中XXXX为BH界面上的按键名称,YYYY为分组名称。XXXX和YYYY可以名称一样,XXXX最多不超过8个汉字,YYYY不超过12个汉字。
//2,//后面的@XXXX@YYYY@,其中XXXX为BH界面上的按键名称,YYYY为分组名称。XXXX和YYYY可以名称一样,XXXX最多不超过10个汉字,YYYY不超过12个汉字。
//3,每个分组的第一个按键按@XXXX@YYYY@来定义,后面功能键如果还是属于YYYY分组,则可以简写为@XXXX@,默认继承上一个分组。如果想新增分组,那就必须 //写成@XXXX@ZZZZ@,表示归属于新的分组。
// ++++++ 3.1,辅助功能开关 ++++++
@ -177,8 +177,8 @@ Alias[SHOW_RAREAMA_1]:FALSE //@显示亮金女族长弓@
Alias[SHOW_RAREAMA_2]:FALSE //@显示亮金大院长弓@
Alias[SHOW_RAREAMA_3]:FALSE //@显示亮金亚马逊长矛@
Alias[SHOW_RAREAMA_4]:FALSE //@显示亮金亚马逊标枪@
Alias[SHOW_RAREAMA_5]:FALSE //@显示无形亚马逊长矛@
Alias[SHOW_RAREAMA_6]:FALSE //@显示无形亚马逊标枪@
Alias[SHOW_RAREAMA_5]:FALSE //@显示亮金ETH亚马逊长矛@
Alias[SHOW_RAREAMA_6]:FALSE //@显示亮金ETH亚马逊标枪@
Alias[SHOW_RARESIN_1]:FALSE //@显示亮金刺客八爪@
Alias[SHOW_RARESIN_2]:FALSE //@显示亮金刺客战拳@
Alias[SHOW_RARESOR]:FALSE //@显示亮金次元碎片@
@ -187,9 +187,9 @@ Alias[SHOW_RARESTAFF]:FALSE //@显示亮金执政官杖@
Alias[SHOW_RARESCEP]:FALSE //@显示亮金权杖@
Alias[SHOW_RAREWAND]:FALSE //@显示亮金魔杖@
Alias[SHOW_RAREDAGGER]:FALSE //@显示亮金齿缘小刀@
Alias[SHOW_RARETHROW_1]:FALSE //@显示亮金无形鬼魂尖枪@
Alias[SHOW_RARETHROW_2]:FALSE //@显示亮金无形翼鱼叉@
Alias[SHOW_RAREWEAPON_1]:FALSE //@显示亮金无形巨神@
Alias[SHOW_RARETHROW_1]:FALSE //@显示亮金ETH鬼魂尖枪@
Alias[SHOW_RARETHROW_2]:FALSE //@显示亮金ETH翼鱼叉@
Alias[SHOW_RAREWEAPON_1]:FALSE //@显示亮金ETH巨神@
//魔法装备
Alias[SHOW_MAGDRU]:FALSE //@显示蓝色德鲁伊头@魔法手工底材自定义过滤@
@ -200,8 +200,8 @@ Alias[SHOW_MAGAMA_1]:FALSE //@显示蓝色女族长弓@
Alias[SHOW_MAGAMA_2]:FALSE //@显示蓝色大院长弓@
Alias[SHOW_MAGAMA_3]:FALSE //@显示蓝色亚马逊长矛@
Alias[SHOW_MAGAMA_4]:FALSE //@显示蓝色亚马逊标枪@
Alias[SHOW_MAGAMA_5]:FALSE //@显示蓝色无形亚马逊长矛@
Alias[SHOW_MAGAMA_6]:FALSE //@显示蓝色无形亚马逊标枪@
Alias[SHOW_MAGAMA_5]:FALSE //@显示蓝色ETH亚马逊长矛@
Alias[SHOW_MAGAMA_6]:FALSE //@显示蓝色ETH亚马逊标枪@
Alias[SHOW_MAGSIN_1]:FALSE //@显示蓝色刺客八爪@
Alias[SHOW_MAGSIN_2]:FALSE //@显示蓝色刺客战拳@
Alias[SHOW_MAGSOR]:FALSE //@显示蓝色次元碎片@
@ -210,9 +210,9 @@ Alias[SHOW_MAGSTAFF_1]:FALSE //@显示蓝色执政官法杖@
Alias[SHOW_MAGSCEP]:FALSE //@显示蓝色权杖@
Alias[SHOW_MAGWAND]:FALSE //@显示蓝色魔杖@
Alias[SHOW_MAGDAGGER]:FALSE //@显示蓝色齿缘小刀@
Alias[SHOW_MAGTHROW_1]:FALSE //@显示蓝色无形鬼魂尖枪@
Alias[SHOW_MAGTHROW_2]:FALSE //@显示蓝色无形翼鱼叉@
Alias[SHOW_MAGWEAPON_1]:FALSE //@显示蓝色无形巨神@
Alias[SHOW_MAGTHROW_1]:FALSE //@显示蓝色ETH鬼魂尖枪@
Alias[SHOW_MAGTHROW_2]:FALSE //@显示蓝色ETH翼鱼叉@
Alias[SHOW_MAGWEAPON_1]:FALSE //@显示蓝色ETH巨神@
//注入底材,无孔白板,普通~精英三个等级都包含在内
Alias[CIRC_INFUSION_1]:FALSE //@显示无孔普通头环@注入底材自定义过滤@

View File

@ -112,7 +112,7 @@ ItemDisplay[box]: %GOLD%%NAME%{%LIGHT_GRAY%V2.08 更新于 26/10/31%CL%%CORAL%
//说明:TRUE为开,FALSE为关,按需自行自定义配置。
//自定义说明
//1,Alias[XXXX]内的XXX为过滤器内部功能字段代码,名称不能和其它一样。
//2,//后面的@XXXX@YYYY@,其中XXXX为BH界面上的按键名称,YYYY为分组名称。XXXX和YYYY可以名称一样,XXXX最多不超过8个汉字,YYYY不超过12个汉字。
//2,//后面的@XXXX@YYYY@,其中XXXX为BH界面上的按键名称,YYYY为分组名称。XXXX和YYYY可以名称一样,XXXX最多不超过10个汉字,YYYY不超过12个汉字。
//3,每个分组的第一个按键按@XXXX@YYYY@来定义,后面功能键如果还是属于YYYY分组,则可以简写为@XXXX@,默认继承上一个分组。如果想新增分组,那就必须 //写成@XXXX@ZZZZ@,表示归属于新的分组。
// ++++++ 3.1,辅助功能开关 ++++++
@ -177,8 +177,8 @@ Alias[SHOW_RAREAMA_1]:FALSE //@显示亮金女族长弓@
Alias[SHOW_RAREAMA_2]:FALSE //@显示亮金大院长弓@
Alias[SHOW_RAREAMA_3]:FALSE //@显示亮金亚马逊长矛@
Alias[SHOW_RAREAMA_4]:FALSE //@显示亮金亚马逊标枪@
Alias[SHOW_RAREAMA_5]:FALSE //@显示无形亚马逊长矛@
Alias[SHOW_RAREAMA_6]:FALSE //@显示无形亚马逊标枪@
Alias[SHOW_RAREAMA_5]:FALSE //@显示亮金ETH亚马逊长矛@
Alias[SHOW_RAREAMA_6]:FALSE //@显示亮金ETH亚马逊标枪@
Alias[SHOW_RARESIN_1]:FALSE //@显示亮金刺客八爪@
Alias[SHOW_RARESIN_2]:FALSE //@显示亮金刺客战拳@
Alias[SHOW_RARESOR]:FALSE //@显示亮金次元碎片@
@ -187,9 +187,9 @@ Alias[SHOW_RARESTAFF]:FALSE //@显示亮金执政官杖@
Alias[SHOW_RARESCEP]:FALSE //@显示亮金权杖@
Alias[SHOW_RAREWAND]:FALSE //@显示亮金魔杖@
Alias[SHOW_RAREDAGGER]:FALSE //@显示亮金齿缘小刀@
Alias[SHOW_RARETHROW_1]:FALSE //@显示亮金无形鬼魂尖枪@
Alias[SHOW_RARETHROW_2]:FALSE //@显示亮金无形翼鱼叉@
Alias[SHOW_RAREWEAPON_1]:FALSE //@显示亮金无形巨神@
Alias[SHOW_RARETHROW_1]:FALSE //@显示亮金ETH鬼魂尖枪@
Alias[SHOW_RARETHROW_2]:FALSE //@显示亮金ETH翼鱼叉@
Alias[SHOW_RAREWEAPON_1]:FALSE //@显示亮金ETH巨神@
//魔法装备
Alias[SHOW_MAGDRU]:FALSE //@显示蓝色德鲁伊头@魔法手工底材自定义过滤@
@ -200,8 +200,8 @@ Alias[SHOW_MAGAMA_1]:FALSE //@显示蓝色女族长弓@
Alias[SHOW_MAGAMA_2]:FALSE //@显示蓝色大院长弓@
Alias[SHOW_MAGAMA_3]:FALSE //@显示蓝色亚马逊长矛@
Alias[SHOW_MAGAMA_4]:FALSE //@显示蓝色亚马逊标枪@
Alias[SHOW_MAGAMA_5]:FALSE //@显示蓝色无形亚马逊长矛@
Alias[SHOW_MAGAMA_6]:FALSE //@显示蓝色无形亚马逊标枪@
Alias[SHOW_MAGAMA_5]:FALSE //@显示蓝色ETH亚马逊长矛@
Alias[SHOW_MAGAMA_6]:FALSE //@显示蓝色ETH亚马逊标枪@
Alias[SHOW_MAGSIN_1]:FALSE //@显示蓝色刺客八爪@
Alias[SHOW_MAGSIN_2]:FALSE //@显示蓝色刺客战拳@
Alias[SHOW_MAGSOR]:FALSE //@显示蓝色次元碎片@
@ -210,9 +210,9 @@ Alias[SHOW_MAGSTAFF_1]:FALSE //@显示蓝色执政官法杖@
Alias[SHOW_MAGSCEP]:FALSE //@显示蓝色权杖@
Alias[SHOW_MAGWAND]:FALSE //@显示蓝色魔杖@
Alias[SHOW_MAGDAGGER]:FALSE //@显示蓝色齿缘小刀@
Alias[SHOW_MAGTHROW_1]:FALSE //@显示蓝色无形鬼魂尖枪@
Alias[SHOW_MAGTHROW_2]:FALSE //@显示蓝色无形翼鱼叉@
Alias[SHOW_MAGWEAPON_1]:FALSE //@显示蓝色无形巨神@
Alias[SHOW_MAGTHROW_1]:FALSE //@显示蓝色ETH鬼魂尖枪@
Alias[SHOW_MAGTHROW_2]:FALSE //@显示蓝色ETH翼鱼叉@
Alias[SHOW_MAGWEAPON_1]:FALSE //@显示蓝色ETH巨神@
//注入底材,无孔白板,普通~精英三个等级都包含在内
Alias[CIRC_INFUSION_1]:FALSE //@显示无孔普通头环@注入底材自定义过滤@

View File

@ -1,10 +1,21 @@
#requires -Version 5.1
<#
BadWolf 过滤器构建脚本 build.ps1 v1.8
BadWolf 过滤器构建脚本 build.ps1 v1.9
------------------------------------------------------------------
用途:把模块目录下的 txt 按文件名排序拼接成 BadWolf-LootFilter.txt,
并完成一致性校验与行号换算。纯 PowerShell,无需安装任何软件。
v1.9 相对 v1.8 的变化
------------------------------------------------------------------
· 自检新增「菜单按钮文字长度」校验 → 「提示」。
`00` 模块里 `//@X@` 的 X 是 BH 界面上的按钮文字,上限 10 个汉字;
分组写法 `//@X@Y@` 的 Y 上限 12 个汉字。超长会让菜单显示异常,而游戏
不报错、只在界面上变形,属「肉眼才能发现」的一类。
口径按**汉字数**统计,不是字符总数:`屏蔽ILVL<68亮金珠宝` 共 13 个字符
但只有 6 个汉字,合规;`显示无孔鬼魂尖枪(有形/无形均可)` 17 个汉字
才是真超标(2026-10-31 实际事故,用户手工改成 `@显示无孔鬼魂尖枪@(…)`)。
结论口径:补充说明一律写在第二个 `@` 之后,不进按钮文字。
v1.8 相对 v1.7 的变化
------------------------------------------------------------------
· 自检新增「别名互为子串」校验 → 「错误」。
@ -1034,6 +1045,26 @@ function Invoke-SelfCheck([string[]]$Lines, $Mods) {
[void]$warns.Add("行尾空白 $($trail.Count) 处(L$head…)")
}
# 菜单按钮文字长度(v1.9 新增)—— `00` 的 //@X@ 里 X 是 BH 界面按钮文字,
# 正则的分组名部分要求**以 @ 收尾**((?:([^@]*)@)?),否则会把关闭 @ 之后的
# 普通行尾注释当成分组名(实测踩过:`//@屏蔽ILVL<68亮金珠宝@ 说明:…`)。
# 上限 10 个汉字;分组写法 //@X@Y@ 的 Y 上限 12 个汉字。超长→菜单显示异常,
# 游戏不报错,只能靠这里拦。口径数**汉字**,不数字符总数(含 ASCII 的条目
# 如 `屏蔽ILVL<68亮金珠宝` 只有 6 个汉字,是合规的)。
$cjkRe = [regex]'[\u4e00-\u9fa5]'
$btnRe = [regex]'//@([^@\r\n]*)@(?:([^@\r\n]*)@)?'
for ($bi = 0; $bi -lt $Lines.Count; $bi++) {
$mb = $btnRe.Match($Lines[$bi])
if (-not $mb.Success) { continue }
$btn = $mb.Groups[1].Value
$grp = $mb.Groups[2].Value
$bc = $cjkRe.Matches($btn).Count
$gc = $cjkRe.Matches($grp).Count
$bl = $bi + 1
if ($bc -gt 10) { [void]$warns.Add("按钮文字超长 L$bl「$btn」$bc 个汉字(上限 10,超长会让菜单显示异常)") }
if ($gc -gt 12) { [void]$warns.Add("分组名超长 L$bl「$grp」$gc 个汉字(上限 12)") }
}
return [pscustomobject]@{
Errors = $errors
Warns = $warns