供应商筛选

创作者: CharredDusk
已更新:2026-01-27 17:16:02
127KB

关于此 MOD

供应商采购不同商品并提供不同价格。内置街头小贩功能。高度可配置。
版本

专为游戏版本v2.31打造。已在PL环境中测试。 可以 部分工作无法进行。

**太长不看版**

1. 请勿将商贩当作垃圾桶。

供应商不应购买你口袋里碰巧有的任何东西。

该模组为原版游戏中的每种商人类型(甚至包括一些全新的类型)添加了自定义过滤器。

默认配置合理:供应商主要销售自产商品,且无人购买易腐物品。

这可以根据每个供应商类型单独进行微调或完全关闭。

2. 不同供应商对您的商品报价各异。

枪匠仅可购买枪支(及与枪支相关的物品),但他们的出价会比废品回收站更高。

附带合理的默认设置。可为每种供应商类型单独自定义乘数。

3. 您与供应商皆是世界的一部分。

在游戏过程中,特定商贩可能会根据你的选择或他们自身的情况改变对你的看法。

当前模组包含约十八个针对特定商家的覆盖项,旨在提供更具沉浸感的游戏体验。其中多数覆盖效果会根据任务完成情况进行动态应用。

默认情况下全部启用;可单独禁用。

4. 为所有街头商贩NPC提供原版风格支持。

随着Vanilla街头小贩的实现仅覆盖了一小部分NPC(并且考虑到…… 街头小贩 (既然原版不再更新),本模组致力于提供一个可选的、内置的、符合原版风格的替代方案。

只需靠近街边摊贩,对话提示便会自动出现,方便您开启交易。

开 默认情况下;如果使用Vanilla或可禁用 街头小贩 建议采用实施方案。

此外,该模组还为几位街头商贩NPC恢复了缺失的供应商记录。

注意:为清晰起见,为区分街头小贩和香草商店,我将使用 真正的供应商 之所以提及后者,是因为这些非玩家角色拥有真实的对话内容。

供应商类型

该模组支持所有原版供应商类型(除自动售货机外,因为这些仅 从技术角度讲 供应商),但对其中的一些进行了重新定义,并增加了新的类型。无论是正规商家还是街头摊贩,都属于这些类别之一。

更改不影响 供应商的 可供销售的库存:其唯一目的是为了更精细地控制采购内容 来自玩家 以及以何种价格。

以下是包含的供应商类型及其开箱即用配置的完整列表。
剧透警告:  
显示

盔甲匠

一个看似未使用的供应商类型。

什么都没买。

衣服

曾被街头小贩使用,但现已全部被“破旧衣物”所取代。

这样做是为了匹配几个具有相似设置的真实供应商。

什么都没买。

服装

常规服装店。

不会购买劣质服装。

将购买体面的服装和首饰,

售价倍率为0.6。

衣衫褴褛

新类型!分配给所有专营服装的街头摊贩,以及几家经营基础摊位(比如歌舞伎区那个前虎爪帮成员)的真实商贩。

收购各类服装或珠宝首饰。

售价乘数为0.4。

高端服饰

新款!专供顶级精品店。

在城镇较富裕的区域共有3家。

什么都没买。

饮料

用于街头小贩。

什么都没买。

食物

适用于实体餐厅和酒吧,以及街头摊贩。

什么都没买。

烧烤食物

用于街头小贩。

什么都没买。

包装食品

用于街头摊贩。

什么也没买。

黑市医疗

新型号!狗镇的一些毒品贩子在使用它。

收购医疗废品(如纱布)及各类保健品。

售价乘数为0.8。

黑市武器

新型号!狗镇黑市贩子专用。

将购买武器、武器模组、弹药、制作组件及相关物品。

售价倍率为0.8。

垃圾

真正的废品回收商都在用。

收购废品(废话)、衣物、制作材料、义体及武器。

不会购买性玩具、安全套或其他不卫生的物品,例如使用过的绷带。

售价乘数为0.4。

科技迷

街头小贩使用。

收购废品(废话)、制作组件、义体、工具武器(扳手和撬棍)。

不会购买性玩具、安全套或其他不卫生的物品,例如使用过的绷带。

售价倍数为0.4。

医疗

被真实药店NPC使用。

什么都没买。

医疗条件差

新款!被真实药店NPC用于更破旧的场景中。

收购医疗废品(如纱布)及各类保健品。

售价乘数为0.4。

义体医生

被真正的义体医生NPC所使用。

什么都没买。

投放点

供取件点使用。

什么都没买。

自助服务亭

街头小贩使用。

什么都没买。

市场

曾被街头小贩和黑市商人使用。我不明白为何这两者会被合并,但原版游戏(Vanilla)中确实如此设定。现已废弃。

不购买任何东西。

音乐

新款!适用于时光机商店和街头摊贩。

将购买武士相关物品(主要是服装)和音乐类杂物(例如唱片)。

售价倍率为0.8。

成人用品店

新型!已被几位真实NPC使用。

收购脑舞(含色情内容)及部分性相关物品。不收购性玩具。电子战怎么会有人买用过的情趣玩具,太恶心了。

售价倍率为0.8。

技能训练师

曾被网络行者与近战武器商贩所使用。现已废弃。

什么都没买。

寺庙

新型!北橡市出云神社的僧侣所使用。

收购宗教相关废旧物品。

售价倍率为0.8。

网络行者

新款!真实网络行者供应商的选择。

收购快速破解程序、快速破解组件、黑客增强消耗品与服装、网络接入仓、智能武器,乃至非色情/非超梦体验的脑舞影像。

售价倍数为0.8。

科技供应商

看似未使用。

什么都没买。

枪械师

由真正的枪支供应商使用。

收购远程武器、远程武器模组、弹药、制作组件、远程武器增益消耗品与服装,以及军用装备、NCPD或军用科技公司装备。

售价倍率为0.8。

近战

新型号!由真正的近战武器供应商使用。

收购近战武器与投掷武器、近战与投掷武器模组、制作组件以及运动装备。

售价倍率为0.8。

沉浸式覆盖

该模组包含多个针对特定供应商的覆盖设置。默认情况下这些设置均已启用,但您可以在菜单中单独禁用它们。

这些覆盖项大多仅根据任务结果生效。有些甚至是互斥的 :D

以下是可用覆盖项及其要求的列表(详细信息使用额外的剧透标签隐藏)。
剧透警告:  
显示

来世

我指望你了。


克莱尔会根据"我心中的野兽"支线任务的结果,以优惠价格(出售价格倍率为1.2)收购大多数酒精饮料。

剧透警告:  
显示

要么帮她向桑普森复仇,要么说服她饶他一命。


生物技术公司烧烤聚会

在生物科技公寓楼群中,一座半废弃的小镇中央,有个家伙正在露天烧烤。他会从你那儿收购酒精、食物和各类饮品。

卡西乌斯·莱德

另一个。


卡西乌斯将根据"冰冷金属之火"支线任务的结果,决定是否从你处购买义体设备。

剧透警告:  
显示

去纹那个心形纹身吧,V肯定会喜欢的!


查尔斯·巴克斯

特别优惠给特别的顾客,比如您。


根据“最后登录”任务的结果,巴克会以不错的价格(出售价格倍率为1.2)从你这里购买赛博义体。

剧透警告:  
显示

收受贿赂。谁在乎道德不道德,对吧?


跛脚郊狼

祝好运连连,财源广进!


佩普将以优厚/非常优厚的价格(出售价格倍率为1.2/1.5)收购您手中的优质/全部酒类,具体价格将根据"英雄"和"雷蒙德·钱德勒之夜"支线任务的结果而定。

剧透警告:  
显示

参加杰基的葬礼,还是挽救这个傻瓜的婚姻?两件事都办成,奖励更丰厚。


该死的鸡

我好像在哪里见过你……


根据"第五纵队"任务的结果,酒保会从你这里购买品质不错的酒。

剧透警告:  
显示

你曾是杰基的朋友。如今却要利用他的记忆谋取私利。那个保镖说不定还能在酒保那儿替你说句话。只是别被抓到。


手指

随时为您服务。


手指会从你这里购买赛博义体和医疗用品,但"间隙空间"主线任务的特定结局物品除外。

剧透警告:  
显示

如果你愿意与这个混蛋和解……好吧,这取决于你。


哈奇·斯平德勒

在沙漠中,能到手的东西都得派上用场。

哈奇将从你这里购买义体和医疗用品。

神宫寺

我会为你精心挑选一份特别的礼物。


根据"子弹"支线任务的结果,赞恩会向你购买高品质服装和珠宝。

剧透警告:  
显示

幸好你在那儿,及时解了围。


丽兹酒吧

毫不犹豫,莉齐一枪轰掉了那家伙的命根子。


马特奥会以相当不错的价格(出售价格倍率为1.5)向你购买优质酒品,具体取决于主线任务"自动之爱"、"夹缝求生"以及支线任务"前任因素"的完成情况。

剧透警告:  
显示

莫克斯帮不会让像伍德曼和芬格斯这样的怪物轻易脱身。


奥克塔维奥·德尔加多

这并非北橡树区,如你所见。不过正如我的许多客户所言:'有总比没有强。'


奥克塔维奥将从你这里购买赛博义体和医疗用品。

红土

为至高无上的点赞,不惜毁灭一切。


在完成支线任务“至高无上”后,酒保会向你收购优质酒品。

剧透:  
显示

尽情摇滚,仿佛回到2007年。


沙门氏菌

它在意大利语中意为“鲑鱼”。


听着,这家伙已经尽力了好吗?他会从你这儿买酒、食物和饮料的。

渡边宗吾

在歌舞伎町的贫民窟,伦理道德无处容身。

Sogo将从您处购买网络设备和医疗用品。

日落汽车旅馆

在远离城市的地方能喝到好酒,总是令人心怀感激。

诺亚将从你这里购买优质酒精。

死亡之舞

若他日重逢,我定护你周全。


迪特琳德会根据“劫案”主线任务的结果,从你这里购买任意种类的酒水。

剧透警告:  
显示

拯救砖块,拯救……卖饮料的能力?


维克多·维克托

但让我猜猜——他还没付你钱吧。


维克会在完成"全额付款"支线任务后,以不错的价格(出售价格倍率为1.2)从你这里购买赛博义体。

剧透警告:  
显示

好医生信任你。现在,是时候回报他了。


街头小贩

首先,长期存在的模组 街头小贩 当直接看向街头小贩时,已新增"交易"互动选项。

后来,《原版赛博朋克》以对话形式(尽管没有配音)为部分街头小贩添加了支持。

既然 街头小贩 由于该功能已有一段时间未更新(且暂无更新计划),我决定重新实现街头小贩支持功能。

尽管它与……有某些相似之处, 街头小贩这是一个从头开始实现的版本,因此交互体验更接近原版风格。

您可以在菜单中找到相关选项。

除非你处于战斗或驾驶状态,否则该模组会持续(默认每0.25秒)在特定距离内寻找有效供应商。与《上古卷轴》原版中与NPC的互动类似,你无需直视他们,但他们必须清晰可见。

一旦目标被锁定,屏幕上将出现一个典型的对话提示。该提示包含一个单一选项,该选项配有与供应商类型相对应的图标和文字说明。

针对常见的街头摊贩类型(如食品、杂物、服装等)各有专属台词,同时为其他类型准备了更长的通用台词列表(即使有专属台词的摊贩也有30%概率会使用通用台词)。

尽管嘲笑我是个书呆子吧,我特意加了几句玩笑话在里面 :D

激活对话选项(如同操作其他对话一样),将会开启交易菜单。

此提示仅在您与真实商贩NPC互动时不会出现,但会覆盖街头商贩的默认提示。

该提示可以叠加在其他活跃对话下方。使用常规对话导航功能时,系统将正确滚动浏览真实对话及此自定义提示内容。

提示音对通话敏感,若通话进行中,系统将自动正确锁定。

提示出现后,就像原版游戏一样,你只需与商贩保持一定距离(无需眼神交流 :D)。一旦超出这个距离,提示就会消失。

售价乘数

售价的计算方式如下:

售价 = 基础价格 + 其他因素(如街头信誉)
* 供应商乘数
* 供应商类型乘数
* 售价倍数
* 质量系数


首先,每个商贩现在拥有两个影响其收购物品价格的乘数:特定商贩乘数与商贩类型乘数。除非针对该商贩或其所属类型另有设定,否则两者默认值均为1.0。

模组套装允许您单独修改每个受支持的供应商类型的倍率,旨在为夜之城的经济发展注入活力。

某些沉浸式覆盖(若在描述中指定)会应用供应商特定的乘数,以使该供应商在众多竞争者中脱颖而出。

此外,你可能已经注意到,《赛博朋克》中物品的出售价格远低于购入价。这主要受两大因素影响,且适用于游戏中几乎所有可出售物品:全局售价系数与品质相关系数。

虽然此举能防止玩家通过战利品一夜暴富,但我认为将物品售价打入谷底并非解决游戏经济体系的良策。

香草将全球售价倍率设为0.1,这简直荒谬(想想看,夜之城里随便一个食品摊的价格都……) 90% 这个模组默认将其设置为1.0,与购买价格保持一致。你可以根据个人喜好进行调整,但我建议你先利用针对每种商人类别的独立售价乘数,然后再使用全局数值进行整体调整。

此外,还有一个选项(默认为 开) 用于设置品质乘数,使其采用与购买价格相同的品质-价格曲线。简而言之,该设置指示游戏在将物品品质转换为销售价格乘数时,采用与购买价格相同的转换率,而非原本明显偏低的转换率。

自定义过滤器

赛博朋克已经拥有相当先进的过滤系统——只是它并未启用。真是让人费解。

该系统采用标签机制,即游戏中几乎所有物品都配有简短的描述性标签。部分标签含义较为直观(如武器、近战、华丽风格等),而另一些则相对隐晦(如变焦模组、持久效果、假阳具终结技等)。

有两种我们感兴趣的过滤器类型(即):过滤器(我将称之为) 直接过滤器 (为避免混淆,以下将统一使用)逆滤波器。

简而言之,你的供应商菜单库存中,**不会显示任何符合直接筛选条件**或**不符合任何反向筛选条件**的物品(除非该供应商未设置反向筛选条件,此时所有物品都能通过反向筛选阶段)。

就是这样。这是原版(Vanilla)的默认行为。大多数供应商都有一套相同的基础直接过滤规则,会阻止您销售特殊的技术类物品(比如您的…… 拳头 或 头部而且没有任何一个具有逆滤波器。

所以,这个模组的功能就是提供一个工具,让你能在任意类型的过滤器中插入任何标签。

在菜单中,它看起来像是一堆两种类型的切换开关:允许和禁止。

如果你**允许**某个标签,它将被添加到反向过滤器中,允许带有该标签的项目通过。

如果你**禁止**某个标签,该标签将被添加到直接过滤器中,一旦物品带有该标签即无法通过。

直接过滤器始终优先于反向过滤器。如果设置为允许武器但禁止近战武器,则只有远程武器会被允许通过。

还有一种特殊的切换类型:禁止所有。这可以防止任何物品通过反向过滤器。

您可能会注意到,某些“禁止”开关默认处于禁用状态。这意味着该标签已存在于原版直接过滤器中,因此模组需要主动移除该标签,以防止某些物品被屏蔽。

例如,你可能会注意到义体医生同时拥有“允许义体”和“禁止义体”选项。这是因为默认情况下,标记为“义体”的物品无法直接出售给商人(仅能通过义体医生的安装菜单进行交易)。此模组可让你启用“允许义体”功能。 在禁用时 “禁用赛博义体”功能,可在常规商人界面中让赛博义体显示在V的库存栏位。

如果您关闭所有ALLOW过滤器,供应商将默认采用Vanilla行为,即购买任何未被明确禁止的物品。

如果您想要更多选择

若你希望菜单中可配置的标签更多,既可以告知我进行添加,也可自行操作。

导航至 `bin/x64/plugins/cyber_engine_tweaks/mods/VendorFilters/Data/Categories`。

在此处,您将看到按菜单中相同类别划分的供应商类型。

让我们在义体医生处添加“武器”和“服装”标签的切换功能。

1. 前往 `医疗/义体医生`。
2. 选择过滤器类型:`customerFilterTags` 包含直接过滤器,`customerInverseFilterTags` 包含反向过滤器。
3. 只要扩展名为`.list`,您放置在任一目录中的任何文件都将被逐行读取,并在菜单中生成相应的切换选项。

您可以在 `VF` 子目录中查看任一过滤器类型的默认配置。您的配置不必放在 `VF` 目录中——只需置于 `customerFilterTags` 或 `customerInverseFilterTags` 范围内的任意位置即可。

只需添加一个文本文件,例如 `myconfig.list` 并放入:

武器
服装


在下次启动时,您将在菜单中看到相应的切换选项。

若希望开关默认关闭,只需在其前添加“!”符号:

武器
!服装


对于模组制作者

连接至该模组所有系统的过程相当直接明了,具体步骤将在下文进行说明。

剧透警告:  
显示


街头小贩

为了让街头小贩系统将您的自定义小贩NPC识别为有效目标,只需满足两个条件:

1. 该NPC必须拥有有效的角色记录,且其vendorID需指向一个有效的供应商记录。

2. 需要将他们的角色记录添加到列表中。

要实现后者,请在 `bin/x64/plugins/cyber_engine_tweaks/mods/VendorFilters/Data/StreetVendors` 目录下的任意位置创建一个扩展名为 `.list` 的文件。

将你的NPC添加到该文件中,每行一个:你可以参考 `VF.list` 作为默认添加的所有街头商贩角色的示例。

此后,该角色应作为街头小贩活跃。

售价倍数

如果你想设置自定义的出售价格倍数,可以在该供应商的记录中创建一个名为`sellPriceMultiplier`的新字段,并赋予浮点数值(具体示例可参考`r6/tweaks/VendorFilters/SellPriceMultiplier.yaml`文件)。

自定义供应商类型

如果您想要创建自定义供应商类型:

1. 创建实际的类型记录。

查看 `r6/tweaks/VendorFilters/NewVendorTypes.yaml` 中的示例。

2. 为其提供配置,就像任何受支持的供应商类型所做的那样。

将其放置在 `bin/x64/plugins/cyber_engine_tweaks/mods/VendorFilters/Data/Categories/CATEGORY/NEWTYPE` 目录中,其中 CATEGORY 对应您自定义类型在游戏内的显示分类。

3. 提供本地化键。

该模组将自动查找`Vendor_Filters_Menu_NEWTYPE_Label`,其中NEWTYPE需与您新增供应商类型的目录名称相匹配。

你可能还想包含 `multiplier.txt` 和 `icon.txt`,但这些是可选的。

系统将默认设置销售价格乘数为1.0,图标采用欧元美元符号。

新供应商类型将使用通用台词作为对话提示。

如需自定义线条,可使用`Vendor_Filters_Lines_NEWTYPE_NUMBER`锁定键,编号从1开始并采用连续整数递增。

自定义沉浸式覆盖

若希望您的供应商具有任务依赖性,或在运行时由其他自定义行为决定,请查看 `bin/x64/plugins/cyber_engine_tweaks/mods/VendorFilters/Overrides` 目录中的现有覆盖文件。该目录下的任何 Lua 模块都将在启动时作为覆盖配置加载。

每个都完全包含在单个文件中,并遵循简单的格式。

你可以为任何事实设置回调函数,当事实值发生变化时这些回调将被触发(所有已注册的事实每5秒检查一次)。

我还建议再创建两个本地化键:`Vendor_Filters_Menu_Overrides_OVERRIDE_Label` 和 `Vendor_Filters_Menu_Overrides_OVERRIDE_Description`,其中 OVERRIDE 应替换为您的覆盖配置中的 `name` 值。

这些用于菜单中的切换开关。

您可能会注意到,现有的覆盖设置会在代码中定义标签和描述,但我仅将这些作为备用方案——当无法通过常规方式找到有效的本地化键值时才会启用。



已知错误

不匹配的街头小贩

这些NPC被CDPR放错了位置。

例如,有些人守着堆满杂物的摊位,却售卖食物或饮料。

此外,我还亲自为一些缺失供应商记录的NPC恢复了相关数据。在原版游戏中,这些NPC被用作各类摊位的场景装饰,但由于是同一个NPC实体,它们不得不共用供应商类型和库存清单。

除非有人愿意逐一排查夜之城的市场并为每个市场创建世界编辑,否则这些问题基本上无法修复。

闪烁对话提示

有时,通常在远离当前活跃的街头商贩时,交互提示可能会出现轻微闪烁。

不确定是什么原因导致了这种情况。

已装备网络组件的销售

您或许可以出售已安装的赛博义体。这纯粹是影响沉浸感的问题,因为通常需要花费一些时间在诊所进行拆除。

安装详情

模组支持通过模组管理器进行自动(卸载)安装。

对于手动操作的情况:需要将存档文件解压至根目录(通常为“Cyberpunk 2077”文件夹,除非用户刻意更改过名称)。

模组添加并完全包含在以下文件和目录中(路径相对于根目录):

存档/个人电脑/模组/供应商过滤器.存档
存档/个人电脑/模块/供应商筛选器.xl
bin/x64/plugins/cyber_engine_tweaks/mods/VendorFilters/*
r6/scripts/VendorFilters/*
r6/tweaks/VendorFilters/*


兼容性

任何修改原版过滤器的模组 可以 导致软性冲突。结果将取决于哪个模组最后被应用(通常会是当前这个)。

任何修改这些类别的模组都可能导致冲突:

全屏供应商游戏控制器
交互界面基础
物品数量选择控制器
玩家傀儡
反应管理器组件
义体医生游戏控制器
供应商


街头小贩 ●

此模组可直接替换为 街头小贩如果您更喜欢原版的交易互动方式,可以在菜单中禁用本模组的街头商贩组件。否则,游戏将同时显示两种交易方式。

销售限制 (以及 (v2.3) 转售限制 by Shesaykhyy 修复版) ●

此模组是直接替换为 销售限制两者均采用相同的底层Vanilla系统进行物品筛选,若同时使用将导致未定义行为。

致谢

一如既往,衷心感谢CDPR打造出如此引人入胜的游戏体验。

非常感谢各位工具开发者以及 《赛博朋克2077》模组社区 Discord.

感谢Wheeze提供的InteractionUI.lua,它帮助我正确理解了如何注入自定义对话中心,同时也感谢Rayshader为我指明了方向!

特别感谢psiberx提供的模块 《赛博引擎调整》Lua工具包以及感谢在构建一个具有游戏时间感知功能的Cron.lua分支时提供的建议!

我的其他作品

更佳警棍击倒
高度可配置的警棍大修,旨在为这些武器去除电击功能。包含对(推测为)错误分配的终结技动画的修复。

控制战利品大小
调整通用NPC和通用容器掉落物品的最小和最大数量。

给他们枪!
你的藏匿处里积灰的改装武器太多了?想让它们派上用场?那就交给手下们去用吧!

沉浸式手榴弹
冷却时间不再有额外消耗!手雷现在作为独立物品进行追踪。新增全新的"额外手雷"机制。

沉浸式疗愈
从冷却时间转变为个人库存中的治疗物品,以及更多内容。一次略带个人观点的治疗机制重制。

沉浸式投掷物
每次投掷武器时,你可以选择将其解除装备并留在命中地点,而非进入冷却状态。

级别至质量定制器
任何品质,任何等级:供应商或战利品。内置能力可更改最高等级上限。高度可定制。

更多低级别武器
解除对NPC武器池的限制,防止部分武器在角色达到17/33级后不再出现。

从后方突袭
使得从梅雷迪思·斯陶特的SUV后方接近她成为可能。

赛博朋克 2077 的热门 MOD

探索适用于 赛博朋克 2077 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 赛博朋克 2077 的全部潜力 — 今天就探索这些顶级 MOD!