
Virtual Atelier 附加模组 - 物品标签注册表
Virtual Atelier 插件,适用于用户/策展人以及模组制作者,终于可以按性别和颜色对物品进行分类。
查看大图[center]# Virtual Atelier 附加组件 - 物品标签注册表[/center]
概述
物品标签注册表是一个提升游戏体验的框架,解决了在 Virtual Atelier 中使用大型模组服装收藏时遇到的两个主要痛点:
1. 性别筛选 — 标记为男性或女性的物品会在浏览相反性别时自动隐藏。无需再滚动浏览数百个 V 无法穿戴的物品;更糟糕的是,误点错误物品导致游戏崩溃。零可见物品的商店在**(至少访问一次商店后)会完全隐藏**在商店界面中。
2. 变体整合 — 同一物品的颜色变体会自动折叠成一个条目。无需滚动浏览 21 个不同颜色的“边缘行者夹克”,你会看到一个条目。点击它即可打开一个显示所有可用颜色的子网格。
该模组安装后即可使用,无需配置。但由于现有数千种不同服装模组的命名规则不一致,用户将绝对需要手动标记/分组物品,直到该框架被更广泛地采用。
[(图片位置占位符)]
功能
性别筛选
- 物品可根据其设置标签自动检测为男性、女性或中性
- 与当前性别不符的物品会从 Virtual Atelier 商店网格中隐藏
- 对于 V 没有可见物品的商店会完全从商店界面隐藏
- 商店隐藏状态按 V 的性别分别追踪 —— 在你的女性 V 上隐藏的商店不会在你的男性 V 上隐藏
- 模组作者可通过三种方式提供明确的性别标签(见面向模组作者章节)
- 玩家可以通过热键在游戏中手动标记物品
- 标记一个已分组的物品会一次性标记组内所有变体
- 使用 “标记商店内所有物品” 热键可一次性批量标记当前商店中的所有物品
- 悬停在已标记物品上时,按钮提示会显示其性别标签 (F)、(M) 或 (M/F)
变体整合
- 颜色/风格变体根据匹配的显示名称自动分组
- 支持多种命名规则:连字符分隔符(
Jacket - Red)、括号(Jacket (Red))、尾部颜色词(Jacket Red)和尾部数字(Jacket 01) - 已分组的物品显示为单个条目,并在物品块上带有 变体数量徽章
- 点击已分组的物品可打开一个显示所有变体的子网格。正常浏览、预览和购买
- 按 ESC 或 Back 返回主商店网格
- 自动识别 43 种常见颜色名称(红色、蓝色、霓虹、铬金等)
- 模组作者可以使用
GroupTag_标签对跨不同名称和装备槽的物品进行分组(例如服装及其切换部件)
手动分组管理
- 使用分组构建器热键手动分组自动分组遗漏的物品
- 将单独的物品合并到现有的自动检测组中
- 移除错误分组的物品。排除记录会跨游戏会话持久保存,因此不会被重新分组
- 所有手动分组和排除记录都保存为 JSON 文件
面向用户/收藏管理者
安装后一切自动运行。以下功能可在需要时提供手动控制。
热键
所有热键必须在首次使用前在 CET 菜单 > 绑定 中进行设置。如果你没有设置按键,就无法使用以下功能。
性别标记
- 标记物品/组:女性 — 将悬停的物品(及其所有变体)标记为仅女性
- 标记物品/组:男性 — 将悬停的物品(及其所有变体)标记为仅男性
- 标记物品/组:男女/中性 — 将悬停的物品(及其所有变体)标记为中性
- 标记商店内所有物品 — 使用你最近标记的性别批量标记当前打开商店中的所有物品。请先至少标记一个物品以设置性别。
悬停在 Virtual Atelier 商店中的任何物品上并按下热键。会收到通知确认标记。标签保存到 userTags.json 文件中,并在游戏会话中持续存在。如果该物品是变体组的一部分,组内的所有变体将被一起标记。
手动变体分组
- 开始/完成变体分组 — 按一次进入分组构建器模式。再按一次完成并保存分组。
- 添加物品到变体分组 — 在分组构建器模式中,悬停一个物品并按此键将其添加到待处理分组中。
- 取消变体分组 — 取消当前的分组构建器会话。
- 从分组中移除物品 — 悬停任何已分组的物品并按此键将其从组中移除。该物品将作为独立的条目显示,并且不会被自动重新分组。
如何建立一个手动分组
- 按 开始/完成变体分组。你会在通知区域看到
“分组模式 开启” - 悬停第一个变体并按 添加物品到变体分组
- 悬停第二个变体并按 添加物品到变体分组
- 继续为你想要分组的变体执行此操作(最少 2 个物品)
- 再次按 开始/完成变体分组 以保存
如果你添加的任何物品已经在现有分组中,其他物品将自动合并到那个分组中。
如何从分组中移除物品
悬停该物品并按 从分组中移除物品。排除记录会被保存,因此自动分组不会在下一次访问商店时重新获取它。如果组中只剩下一个物品,该分组将解散。
商店隐藏
当你打开一个商店并且所有物品都因性别标记而被过滤掉时,该商店会自动标记为空。下次你查看商店列表时,它将隐藏。此状态按 V 的性别分别追踪 —— 对于女性 V 为空的商店可能仍会出现在男性 V 的列表中。该状态会跨游戏会话持续存在。如果你安装了新的服装模组,为商店添加了未标记的物品,则下次打开商店时它将重新出现。
若要重置所有隐藏的商店,请从 CET 模组文件夹中删除 emptyStores.json。
视觉指示器
- 变体数量徽章 — 已分组的物品会在物品块上显示一个数字,表示内部包含的变体数量。该徽章仅出现在主商店网格中,不出现在子网格内。
- 悬停时的标签指示器 — 当你悬停在已标记物品上时,按钮提示会显示该物品的性别标签为 (F)、(M) 或 (M/F)。这适用于所有标签来源(用户标签、作者 YAML 标签、JSON 清单等)。
持久化文件
以下文件创建在 CET 模组文件夹中,可以安全删除以进行重置:
userTags.json— 你手动应用的性别标签userGroups.json— 你手动创建的变体分组groupExclusions.json— 你已从分组中移除的物品emptyStores.json— 因性别筛选而隐藏的商店(按 V 的性别分别追踪)
面向模组作者
点击展开
性别标记 — 3 种方法
方法 1:TweakXL YAML 标签(推荐)
最简单的选项。在你现有的物品 YAML 中添加一个标签。如果用户没有安装物品标签注册表,该标签将被忽略。
Items.MyCustomDress:
tags:
- !append GenderTag_Female
Items.MyMensJacket:
tags:
- !append GenderTag_Male
Items.MyUnisexHat:
tags:
- !append GenderTag_Both
方法 2:JSON 清单
将一个 JSON 文件放入 r6/config/itemTags/ 目录,文件名以 .json 结尾:
{
"gender": {
"female": ["Items.MyDress", "Items.MySkirt"],
"male": ["Items.MyPants"],
"both": ["Items.MyHat"]
}
}
方法 3:RedScript API
用于程序化注册。使用 @if(ModuleExists(...)) 使你的模组无论是否安装物品标签注册表都能编译:
@if(ModuleExists("ItemTagRegistry"))
import ItemTagRegistry.*
// In any system's OnAttach or OnRestored:
let registry = ItemTagSystem.GetInstance(gi);
registry.SetGenderTag(t"Items.MyDress", GenderTag.Female);
registry.SetGenderTagBatch(myItemArray, GenderTag.Male);
变体分组 — 分组标签
对于应该组合在一起但名称不同或装备槽不同的物品(例如服装及其切换部件),添加一个 GroupTag_ 标签。共享相同 GroupTag 值的所有物品将被分组在一起,无论名称或槽位如何。
Items.StinkyMechanicPants:
tags:
- !append GroupTag_Stinky Mechanic Pants
Items.StinkyMechanicPants_ToggleDangle:
tags:
- !append GroupTag_Stinky Mechanic Pants
Items.StinkyMechanicPants_ToggleFrontKnife:
tags:
- !append GroupTag_Stinky Mechanic Pants
商店中显示的组名将是 GroupTag_ 之后的文本。GroupTag 分组优先于自动分组 —— 带有 GroupTag 的物品将不会被基于名称的自动分组捕获。
如果用户没有安装物品标签注册表,该标签将被忽略。
变体分组 — 命名规则
自动分组通过比较同一装备槽内物品的已解析显示名称来工作。为确保你的变体能正确分组,请使用以下命名模式之一:
模式 1:连字符分隔符(推荐)
My Cool Jacket - Red
My Cool Jacket - Blue
My Cool Jacket - Neon Green
最后一个 - (空格-连字符-空格)之后的所有内容都被视为变体名称。这是最可靠的模式,因为它支持多词颜色名称。
模式 2:括号后缀
My Cool Jacket (Red)
My Cool Jacket (Blue)
模式 3:尾部颜色词
My Cool Jacket Red
My Cool Jacket Blue
最后一个词必须是公认的颜色名称。这仅适用于单色词(例如,“Red”可匹配,但“Neon Green”使用此模式无法正确分组。请改用连字符)。
模式 4:尾部数字
My Cool Jacket 01
My Cool Jacket 02
My Cool Jacket #3
公认的颜色名称
红色, 蓝色, 绿色, 黑色, 白色, 粉色, 紫色, 黄色, 橙色, 棕色, 灰色, 银色, 金色, 青色, 品红, 青色, 海军蓝, 米色, 象牙白, 绯红, 猩红, 紫罗兰, 靛蓝, 栗色, 珊瑚色, 鲑鱼色, 绿松石色, 橄榄绿, 棕褐色, 卡其色, 炭灰色, 铂金色, 铬金色, 霓虹色, 锈色, 薰衣草色, 红宝石色, 祖母绿色, 蓝宝石色, 玛瑙色, 翡翠色, 乌木色
面向模组作者的重要提示
- 所有变体必须共享相同的装备槽才能分组在一起 —— 名称相同的夹克和裤子不会合并
- 分组基于玩家看到的本地化显示名称,而不是 TweakDB 记录 ID
- 连字符模式是最安全的选择,因为它处理多词后缀,如“Angel White”或“Baja Blast”
- 如果你使用的命名规则不符合任何模式,用户仍然可以在游戏中创建手动分组
前置需求
在报告问题之前,请确保你已更新到这些模组的最新版本。
安装
使用你偏好的模组管理器安装,或手动解压到你的 Cyberpunk 2077 游戏目录。
首次启动后,打开 CET 菜单 > 绑定 来设置你的热键。
兼容性
- 兼容所有 Virtual Atelier 商店和服装模组
- 性别筛选有安全后备方案:没有任何标签数据的物品默认为 “男女/中性”,并且永远不会被隐藏
- 如果移除物品标签注册表,所有服装模组将继续正常工作
- 模组作者可以添加标签,而无需将物品标签注册表作为依赖项
注意: 本模组包含 Virtual Atelier 脚本文件的修改副本。如果其他模组也覆盖相同的 VA 文件,你可能会遇到冲突。请在模组管理器的加载顺序中,将物品标签注册表置于 Virtual Atelier 之后加载。
鸣谢
- 感谢 Cyber Engine Tweaks, RED4ext, redscript 的作者
- 感谢 Virtual Atelier 团队 —— 本模组扩展了他们的商店框架
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。