车库 (定制 - 领取 - 出售 - 修理 - 交换)

车库 (定制 - 领取 - 出售 - 修理 - 交换)

一切都能搞定的车库。实时定制、声明与出售、维修与清理、自定义音乐以及用户创建的动态地点。

[img]https://i.imgur.com/2Se89FB.png[/img]
[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788563469-429964791.png[/img]




[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788565025-1671749383.png[/img]

这次,我们先来致谢。没有模组社区的帮助,这一切都不可能实现。

**首先,也是最重要的:** psiberx、keanuWheeze、spirit、MisterChedda、roms1383、hgyi56、anygoodname、rennalah、.marcavian、djkovrik 和 Rayshader,感谢你们以极大的耐心回答了大量问题,在整个开发过程中提供了详尽的指导,并允许我在需要时使用他们作品的片段。

**接下来,排名不分先后:** _umat_、Lazorr、dragonzkiller、oranje3、myopicimpulse、meiscooldude、robber804、elminister、tohuw,感谢你们的支持、思想碰撞、任何引导我获得顿悟的投入,以及对我追求卓越的总体启发。

**最后,但同样重要的是:** 我的犯罪同伙,也是我最初制作这个模组的原因,SDH0。他们在车辆领域无与伦比的工作质量、独创性和创造力,以及对游戏的真挚热情,驱使我创造出能够支持他们梦想的东西——一个实时且沉浸式的车库调校体验。所以,这是给你的,SDH0!愿你继续用最高品质的车辆祝福我们。

如果我遗漏了任何名字,我真诚地道歉。如你所见,我在这个项目上与许多了不起的人合作过,很难记住每一个人。请给我发消息,以便我将你添加到这面墙上!


[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788565085-1068940930.png[/img]

GarageCore 是《赛博朋克 2077》的一个功能齐全的车辆服务框架。它将真正的车库机制带到了夜之城——你可以在那里出售车辆、更换外观、进行维修、消除通缉等级,并在做这些事的同时听点音乐。它不是一个菜单。它是一个基于地点的体验,有着实际的规则。

在底层,它也是一个平台。其他模组可以接入它来添加自己的服务、自己的车辆和自己的车库点,而无需触碰核心文件,但更多内容将在未来的更新中介绍。


[img]https://i.imgur.com/Ff9Be7z.png[/img]
[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788564437-1972961230.png[/img]

当你打开车库并开始浏览外观时,变化会实时发生在你面前的车上。没有占位预览——你在滚动时看到的是实际车辆的实时更新。退出后它会恢复原状。确认后外观会保留,并通过存档持久化。

对于使用 SDH0 schema 系统构建的附加车辆,自定义更加深入——引擎盖变体、扰流板、车身套件、保险杠以及其他按车辆定义的部件类别。购物车系统让你可以排队多个更改并一次性结账。约束系统强制执行附加作者设定的不兼容规则,因此如果引擎盖选项 A 与扰流板选项 B 冲突,系统会自动解决,而不是让你陷入损坏状态。

外观更换在报废车辆上会被阻止,也可选择在严重损坏的车辆上阻止——不能给残骸重新喷漆。


[img]https://i.imgur.com/RKji2os.png[/img]
[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788564430-2133592141.png[/img]

出售:你将车辆开到车库,打开 UI,然后出售它。定价不是一个固定数字——它考虑了基础经销商价值、车辆类别、状况、外观稀有度、车库的经济等级,以及车库当下实际能支付多少钱。

在你确认后,车库不会立即给你现金。车辆会立即从召唤列表中移除,但钱会在模拟的处理延迟后到账——根据车库等级需要几个游戏内小时。在这段时间内,如果你试图将已出售的车辆开出区域,销售会被取消,并且你将被该车库永久禁止进入。游戏检测的是你乘坐特定车辆实体并离开邻近边界,而不仅仅是任何车辆离开。

如果在计时器触发时车库的现金池已经耗尽——比如说,期间另一笔交易消耗了它——销售会失败,车辆会回来。重新检查发生在完成时,而不仅仅是在确认时。

认领:找到一辆你不拥有的车辆,如果它可以被认领,认领按钮将可用。你付款,然后有 15 秒的时间将它开出车库区域。屏幕上会显示一个大型倒计时器(蓝色,在 5 秒时变红并闪烁)。开出 15 米后计时器会清除。如果让它过期,车库会把你锁在外面 24 个游戏内小时。


[img]https://i.imgur.com/qcNF9wi.png[/img]
[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788564418-1917106036.png[/img]

将损坏的车辆送去维修。价格随损坏程度非线性增长——轻微磨损只需支付固定服务费加上车辆价值的一小部分,但严重损坏会迅速变得昂贵。一辆损坏 80% 的车辆维修起来可不便宜。车库等级乘数也会生效,因此高端异国车库对同样的工作收费更高。


[img]https://i.imgur.com/HNNoyVX.png[/img]
[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788564450-37025990.png[/img]

也称为“快速”服务,这是模组中最具夜之城特色的东西。将一辆被通缉的车辆带到车库,支付快速外观更换费用,然后干净地开走。叙事逻辑是:当你开出 15 米时,车看起来已经足够不同,NCPD 没有匹配的车牌。

和认领计时器一样,确认后你有 15 真实秒的时间离开区域。一个倒计时小组件以毫秒精度追踪它。开出距离后通缉等级会下降。如果没能及时离开,车库会封锁一天。


[img]https://i.imgur.com/0OT06Gd.png[/img]
[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788564424-1535113557.png[/img]

更换模块会显示车辆拥有的每一个有效外观,名称会自动格式化为可读的内容——通过对完整外观集运行最长公共前缀算法,“militec_hellhound__basic_max_tac_01”会变成“Max Tac 01”。烧毁、摧毁和损坏的外观变体会被自动过滤掉。

定价考虑了外观价值差异。如果你要换成比当前更稀有的变体,你需要在基础费用之上支付差价。降级更换不会让你赚到任何东西,但也不会额外收费。

车库可以配置为完全拒绝特定车辆类别,或对某些类型收取附加费。一个专营运动型车辆的车库可能会拒绝超级跑车类别,或对它们标记溢价费用。这些限制按车库在位置数据中定义,并在 UI 层和经济层同时执行。


[img]https://i.imgur.com/QtKQtPI.png[/img]
[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788564352-1284684619.png[/img]

车库会播放空间音频——声音实际上来自车库在世界中的位置,并随着你走远而淡出。曲目轮换基于随机队列:在完整播放列表循环完之前不会重复,时间安排与 Audioware 报告的实际曲目时长挂钩。

音量可在设置中调整,并实时生效。音乐可以完全关闭。附加作者可以为特定车库分配特定播放列表,或让它们回退到默认。新的音乐包可以作为完全独立的可选模组发布,将其曲目库注册到系统中,而无需触碰核心文件。

音效也贯穿始终——安装音效、喷漆音效、UI 反馈——每个动作都有随机变体。


[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788563993-1272156960.png[/img]
[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788564015-570835276.png[/img]

这是让 GarageCore 可扩展而非静态的部分。

将一个 JSON 文件放入 `data/garages/locations/`,它会在下次启动时加载。无需热补丁,无需控制台命令。该文件描述了位置名称、世界坐标、车库等级、可用服务,以及经济、音频、门或相机行为的任何可选覆盖。就是这样。车库会出现在地图上,邻近区域会激活,门会随着你的接近而打开和关闭,经济引擎会开始追踪它——所有这些都来自一个坐标和几个配置字段。

附加模组还可以在运行时通过 SDK 以编程方式导入位置,内置重复检测(10 米内),以防止多个模组恰好定义附近位置时发生冲突。

如果 `filename` 字段匹配,用户提供的位置会覆盖捆绑位置,因此你可以用自己的配置替换任何默认车库的配置,而不会发生冲突。

你可以使用文件选项卡下杂项下载中的可选 Garage Location Creator 工具创建所有车库位置。

[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788563999-2017342716.png[/img]
[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788564009-1804306577.png[/img]

每个车库位置在小地图和世界地图上都会获得自定义地图标记。图标会根据车库当前是被锁定还是被禁止而在打开和关闭状态之间切换——这样你在开车穿过整个区之前就能一眼看出车库是否会让你进入。

图标尺寸略小于标准 POI,以避免地图杂乱,锁定状态以 30 秒刷新间隔缓存,因此地图层不会有每帧经济查询开销。

**计时器**

销售处理延迟和锁定持续时间以**游戏时间**追踪,而非现实时间。24 游戏小时锁定意味着夜之城中经过 24 小时,无论你玩了多久。经济再生通过原生 TimeSystem 每 20 游戏分钟跳动一次,因此资金池恢复发生在你游玩时,而不是游戏关闭放在桌面上时。

认领和消除通缉倒计时是例外——那些是 15 秒的实时窗口,因为该机制要求你实际在场并驾驶。

**禁令与声望**

禁令是永久的,并通过存档持久化。开着已出售的车辆离开,就会被禁止。车库图标在地图上切换为关闭。门不会打开。

声望按车库从 0 到 100 建立,随着你做生意而增长。它与你的街头声望结合,形成一个玩家系数,对服务应用折扣(最高可达该等级的最大折扣),并略微减少冷却时间。认识你的车库会给你更好的交易。

禁令和声望系统目前是占位符,但将在未来更新中扩展,允许用户通过工作、抢车等方式逐步恢复。

**经济引擎**

每个车库都有基于其等级的模拟现金池——标准商店大约有 8 万到 15 万欧元,超级等级机构最多可持有 200 万。资金池通过模拟活动模型在游戏时间中再生:服务收入减去开销减去定期车辆购买。当你实际身处车库时,模拟会暂停,以避免在你浏览时出现奇怪的交互。

在你出售车辆后,车库会进入恢复模式,直到资金池回升到其平衡水平。资金池可以因玩家驱动的收入而超过正常上限——你可以注入的金额没有人为上限。

框架附带六个等级:标准、经典、运动、高级、异国和超级。附加作者可以在其位置 JSON 中覆盖每个车库的资金池大小、被阻止的车辆类别、附加费类别和可用服务。

经济引擎也是一个占位系统,只有基本的随机化和现金浮动,并且因等级而异。它将在未来更新中扩展。

**安装说明**
和任何其他模组一样:把文件放到文件该去的地方。

**前置需求**
看看前置需求列表。没那么难。

**常见问题**
**问:为什么我看不到任何车库位置?**
答:Garage 是一个供用户创建新位置的框架。你可以从可选文件下载同一个 Garage Location,并从杂项文件下载包含多个示例位置的位置附加包。只需注意位置包没有正确的光照。

**问:为什么有这么多模块而不是一个 AIO?**
答:我这样设计是为了绕过提供类似服务的现有模组,但确实计划在未来创建一个包含默认车库的单一文件。我为 Garage 规划了很多内容,所以目前保持较小模块更容易。

**故事**
这一切都始于我早期开发 Echo(尚未发布)时,当时我在试验相机点云。在测试中将点云附加到车辆后,我想起了《极品飞车:地下狂飙》中标志性的荷兰角、环绕相机和令人难忘的音乐。随着 SDH0 添加车辆实时调校和我新的相机系统,车库模组似乎并非不可能。我把所有模组注意力都投入到了这个模组中,许多其他模组死亡或无限期搁置,不到一年后,我们就在这里了!

[img]https://staticdelivery.nexusmods.com/mods/3333/images/30297/30297-1788561353-1345352894.png[/img]


***

感谢你们所有的支持。

❤️ CyanideX