永久提高生命值、护甲、DPS 等(适用于 PC 与 PS4 存档)
使用存档编辑器修改武器和服装属性;修改前务必备份存档。PS4 存档可用,但操作前需要使用 Save Wizard for PS4 MAX。DPS 示例是为武器添加 DPS Constant 属性并设置数值。
战斗开始后锁定三个武器栏,不能通过背包临时更换装备;正常切换已装备武器、投掷物、消耗品等不受影响。版本 1.1 新增弹尽时从地面拾取武器并替换当前栏位的功能。适用于《赛博朋克 2077》2.3 或更新版本;需要 redscript。
你的装备配置应该在枪声响起前决定,而不是交火过程中临时调整。
1.1 新增地面武器替换功能。原版在所有武器都打空后,会让战斗陷入无趣的死局;现在,如果你在战斗中弹药完全耗尽,可以拾取地面武器,将它直接换到当前手持武器所在栏位。被换下的空枪会回到背包。不能浏览或挑选:拿起地上的武器,继续战斗即可。
1.0 的其他功能保持不变。
进入战斗后,三个武器栏会锁定。你不能打开背包,把其他枪械换进武器栏;尝试操作时会收到通知,装备操作会被拒绝。
以下功能不受影响:
《赛博朋克 2077》允许玩家在交火中暂停战斗、打开背包并重组配置,以应对刚遇到的敌人。例如,遇到装甲敌人时换上技术狙击枪,或针对抗性改用热能武器。这种做法让玩家能迅速从菜单中解决问题,也削弱了遭遇战的紧张感。
如果可以在战斗中随时用背包解决问题,战前准备就不再重要,三个武器栏的限制也失去了意义。本模组让配置选择重新具有代价:
本模组只限制战斗中通过菜单更换武器,不调整伤害、敌人生命值、武器操控或其他构筑内容。它可以与战斗改造和难度模组搭配,也可以单独使用。
地面替换仅在以下条件全部满足时触发:
此时拾起武器,它会直接进入当前手持武器所在的栏位。若仍有弹药,即使在战斗中搜刮尸体,也不会触发替换。
被换下的武器会回到背包,而不是掉在地上。这是刻意设计的,避免独特或标志性武器因物理问题在战斗中遗失。
近战武器没有弹药类型,不会被判定为弹尽;任务武器也不会被替换。战斗外该功能关闭,普通拾取行为照常进行。两项触发条件都可以通过修改一行配置放宽。
模组通过包装游戏装备系统中的装备和卸下请求来实现限制。只有以下三项条件全部成立时,手动装备请求才会被拒绝:
第三项是为了避免影响任务、过场动画及其他脚本控制的武器装备行为。例如,约翰尼接管或剧情中发放武器时,操作并非来自打开的菜单,因此仍会正常执行。只有玩家手动进行的菜单操作会被阻止。
提示使用游戏自身的菜单通知系统,与战斗中尝试出售技能点时出现的弹窗相同,并使用游戏提供的本地化文本。
拾取地面武器不会经过装备系统;当武器栏已满时,物品会直接进入背包。因此,地面替换功能改为监听物品加入背包的事件。这个事件也可能由搜刮尸体、商人、制作或任务奖励触发。游戏没有明确区分物品来自地面还是其他来源的信号,所以“手持武器完全弹尽”被用作判别条件。它能让误触发较少,但只是近似判定:战斗中手持完全没弹药的武器、三个栏位已满时,无论何种原因有武器进入背包,都可能触发替换。通常这意味着拾取了地面武器,偶尔也可能是在不合时宜的时刻搜刮尸体。
条件满足后,模组会为当前栏位排入标准装备请求,后续交由游戏自身的装备流程处理。
不需要 Cyber Engine Tweaks、TweakXL、ArchiveXL、Codeware 或 Mod Settings。
存档安全:模组不保存持久数据、不向游戏类添加字段,也不创建 TweakDB 记录。可以在游玩过程中安装或移除;移除后不会在存档中留下内容。
模组不含 Archive 文件,因此不会与纹理、网格或模型模组冲突。
装备功能使用 @wrapMethod 包装,而非替换原版方法,旨在与其他修改相同装备功能的模组串接共存,包括库存改造、Equipment-EX、All Cyberware-EX 和 Always First Equip。
已知交互点:
将压缩包解压到《赛博朋克 2077》安装目录,确保文件位于:
Cyberpunk 2077/r6/scripts/NoCombatWeaponSwap/NoCombatWeaponSwap.reds
Cyberpunk 2077/r6/scripts/NoCombatWeaponSwap/NoCombatWeaponSwap_GroundSwap.reds
Cyberpunk 2077/r6/scripts/NoCombatWeaponSwap/NoCombatWeaponSwap_CustomText.reds
Vortex 和 Mod Organizer 2 可以直接安装压缩包。
卸载时,删除 r6/scripts/NoCombatWeaponSwap 文件夹。
从 1.0 升级:先删除旧文件夹,再重新安装。1.1 重命名了一个配置函数,若保留旧文件,可能导致编译失败。
没有设置菜单。每项配置只需修改一行;各功能也分别存放在独立文件中,删除文件即可移除相应功能。
NoCombatWeaponSwap.reds 中的 NCWS_CustomMessage()。将其改为空字符串,或直接删除 NoCombatWeaponSwap_CustomText.reds,即可改用游戏默认的本地化战斗提示。NoCombatWeaponSwap.reds 的 NCWS_IsWeaponArea() 中添加 gamedataEquipmentArea.WeaponHeavy。NoCombatWeaponSwap_GroundSwap.reds 中将 NCWS_RequireEmptyWeapon() 设为 false,即可让任何武器拾取都能触发替换,而不只限于弹尽时;将 NCWS_SwapCombatOnly() 设为 false,则战斗外也会生效。关闭弹尽要求会明显削弱模组原本的设计目的。NoCombatWeaponSwap_GroundSwap.reds。武器栏锁定功能会恢复为 1.0 的行为。地面替换的想法来自 BALLSACKVLAD 的 DROP CURRENT WEAPON, CET, IMMERSIVE HOTKEY DROP AUTO SWAP。作者感谢其提出“满装备时仍应能拿起地面武器”的思路,并感谢其允许衍生创作。
本模组不是移植作品,两者实现方式和效果不同:
两者有相同的基本思路,但实现和体验不同。本模组若有问题由本模组作者负责。若想要把武器丢在地上、使用快捷键或在战斗外也能使用的行为,请查看对方的模组。
r6/logs/redscript_rCURRENT.log 并搜索 NoCombatWeaponSwap。最可能的原因是游戏版本中的装备函数与模组钩子不同;其次是升级时残留了 1.0 的旧文件夹。Updated v1.1.1. Fixed unguarded array index. Updated v1.1. Adds ability to swap weapon with weapon on ground. In case you go dry in combat, choom.
前往 N 网打开所选文件。安装与下载要求以原作者及平台说明为准。
<!-- aoe-mods-source:nexusmods:cyberpunk2077:31999 -->