From f4785b28e6a35344f12688560baf63069ddfd564 Mon Sep 17 00:00:00 2001 From: lonelywolf <13281126@qq.com> Date: Sat, 31 Oct 2026 21:47:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=8C=89=E9=92=AE=E6=96=87?= =?UTF-8?q?=E5=AD=97=E7=BB=9F=E4=B8=80=20ETH=20=E5=86=99=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=20build.ps1=20=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 汉字) --- BadWolf-LootFilter.txt | 22 +++++++++++----------- build/00-版本及过滤等级设置.txt | 22 +++++++++++----------- build/build.ps1 | 33 ++++++++++++++++++++++++++++++++- 3 files changed, 54 insertions(+), 23 deletions(-) diff --git a/BadWolf-LootFilter.txt b/BadWolf-LootFilter.txt index 748feab..e55e0d2 100644 --- a/BadWolf-LootFilter.txt +++ b/BadWolf-LootFilter.txt @@ -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 //@显示无孔普通头环@注入底材自定义过滤@ diff --git a/build/00-版本及过滤等级设置.txt b/build/00-版本及过滤等级设置.txt index bc88d17..315f987 100644 --- a/build/00-版本及过滤等级设置.txt +++ b/build/00-版本及过滤等级设置.txt @@ -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 //@显示无孔普通头环@注入底材自定义过滤@ diff --git a/build/build.ps1 b/build/build.ps1 index f425163..14e0c5d 100644 --- a/build/build.ps1 +++ b/build/build.ps1 @@ -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