预览
前置 Mod
详情
信息
- 每次拔出武器时重复播放 firstEquip 动画,因为这样就是帅 :) 应请求制作。
- 追踪不同的游戏事件,以在不应播放动画时跳过动画(交互之后、攀爬、处决敌人等)。
- 动画可随时通过瞄准打断。
- 可触发额外的武器检视动画(详见下文)。
- 新增可自定义的快捷键,用于触发首次装备、待机小动作和安全动作动画
- 新增可自定义的快捷键,用于在持枪准备与垂枪姿态之间切换
简短动画演示见此:https://imgur.com/a/wR3xBHc
支持的动画
firstEquip
通常,你会在 V 首次装备任意武器时看到此动画。
如何触发
在武器收起时按下相关快捷键,即可用 firstEquip 动画装备它。此外,当你以 FirstEquipConfig 设定的某个概率(默认 50%)装备武器时也会看到它。最后,你可以启用动画冷却选项,用“在设定的时间段内只播放一次”的逻辑取代基于概率的判定。使用 mod 主快捷键(默认 F2)。
IdleBreak
通常,你会在 V 拿着武器站立不动时以一定概率看到此动画,看起来像简短的武器检视。
如何触发
在武器出鞘时按下相关快捷键即可播放 IdleBreak 动画;此外,当 V 拿着武器站立不动时,也会以 IdleBreakConfig 设定的某个概率看到它。动画判定按周期运行,默认值意味着 IdleBreak 判定每 5 秒运行一次,以 10% 的概率播放动画。使用 mod 主快捷键(默认 F2)。
SafeAction
通常,你会在禁止使用武器的安全区域内尝试开火时看到此动画,对某些左轮手枪、手枪和步枪来说像是检查弹巢,对其他武器则是另一种简短检视。
如何触发
在武器出鞘时按住相关快捷键即可播放 SafeAction 动画。在你按住快捷键期间,V 会将已装备的武器保持在“检视”状态。使用 mod 主快捷键(默认 F2)。
垂下你的武器
通常,你会在安全区域中或在瞄准某些任务或重要 NPC 时看到此动画
如何触发
在武器出鞘时按下相关快捷键,即可在垂枪与准备姿态之间切换。使用 mod 附加快捷键(默认 F3)。
如何安装
- 下载所有必需的前置依赖,并将其解压到游戏文件夹中
- 下载 Always First Equip 压缩包并解压到游戏文件夹中
- (可选)通过 mod 设置菜单配置该 mod
所需 redscript 版本:0.3.0+
如何卸载
- 删除 Cyberpunk 2077\r6\scripts\alwaysFirstEquip.reds 文件
- 删除 Cyberpunk 2077\r6\input\AlwaysFirstEquip.xml 文件
- 删除 Cyberpunk 2077\archive\pc\mod\AlwaysFirstEquip.archive 和 Cyberpunk 2077\archive\pc\mod\AlwaysFirstEquip.archive.xl 文件
翻译
如果你想将 mod 设置菜单翻译成你自己的语言,请下载 Translation sources 压缩包,用任意文本编辑器(我推荐 Notepad++)打开 first-equip.json,并只翻译带有 "femaleVariant" 键的行(示例截图,你应该修改的文本已用黄色标出)。之后在此处下方的表格中查找你语言对应的代码,并将翻译好的文件发回给我。
当前支持的语言:
- English
- Russian
- French (credits to Unseen Unit)
- German (credits to vorgash)
- Simplified Chinese (credits to Alk4idin)
- Traditional Chinese (credits to hansdofer)
- Japanese (credits to aile1111)
- Spanish (credits to XHisparemiX and davoker)
- Polish (credits to george173)
- Brazilian Portuguese (credits to ProtonWave)
- Czech (credits to TheWolfeus)
- Thai (credits to L A T I N)
- Turkish (credits to JDMlLegioNl)
- Italian (credits to igorSPQR)
鸣谢
- jekky 提供 redscript 编译器
- RayNOS 提供 mod 创意
- psiberx 提供基础快捷键监听器思路、archivexl 以及所有相关内容
- CP77 modding discord
我的 mod
- Virtual Atelier Delivery
- Cutscene Weapon Swapper
- Revised Backpack
- Deus Ex Themed Palette
- HUD Painter
- Stash and Backpack Search
- Metro Pocket Guide
- Quickhack Hotkeys
- Wannabe Edgerunner
- Stash Filters
- Immersive Timeskip
- Faster Iguana Hatch
- Real Vendor Names
- Mark To Sell
- Stand Still Please
- Vehicle Pack - Basic
- Vehicle Pack - Corpo
- Vehicle Pack - Utility
- Vehicle Pack - Gangs
- Mizutani Shion Targa MZT
- Named Saves
- Virtual Car Dealer
- Virtual Atelier
- Enhanced Craft
- No Scanner Time Dilation
- Custom Map Markers
- Sleeves
- Toggle Quest Tags
- Improved Minimap Zoom
- Hide Read Shards
- Smarter Scrapper
- Reduced Loot
- Limited HUD
- HUDitor
- Always First Equip
- No Camera Auto Centering
- Holster By Hotkey
- Limited Fast Travel
- Game Time Tweaks
- Muted Markers
- Yet Another UI Recolor
- Game Time Tweaks
- No Intro Videos
致 redscript mod 开发者
// Replacements
@replaceMethod(LocomotionEventsTransition)
public func OnEnter(stateContext: ref<StateContext>, scriptInterface: ref<StateGameScriptInterface>) -> Void
@replaceMethod(CarriedObjectEvents)
protected func OnEnter(stateContext: ref<StateContext>, scriptInterface: ref<StateGameScriptInterface>) -> Void
@replaceMethod(InteractiveDevice)
protected cb func OnInteractionUsed(evt: ref<InteractionChoiceEvent>) -> Bool
@replaceMethod(gamestateMachineComponent)
protected cb func OnStartTakedownEvent(startTakedownEvent: ref<StartTakedownEvent>) -> Bool
@replaceMethod(FirstEquipSystem)
public final const func HasPlayedFirstEquip(weaponID: TweakDBID) -> Bool
@replaceMethod(EquipmentBaseTransition)
protected final const func HandleWeaponEquip(scriptInterface: ref<StateGameScriptInterface>, stateContext: ref<StateContext>, stateMachineInstanceData: StateMachineInstanceData, item: ItemID) -> Void
@replaceMethod(ReadyEvents)
protected final func OnTick(timeDelta: Float, stateContext: ref<StateContext>, scriptInterface: ref<StateGameScriptInterface>) -> Void
// Added methods
@addMethod(ReadyEvents)
protected func OnDetach(const stateContext: ref<StateContext>, const scriptInterface: ref<StateGameScriptInterface>) -> Void


