You are viewing a potentially older version of this package. View all versions.
cn_xc-QBZ191-0.1.0 icon

QBZ191

QBZ-191步枪:可购买、可开枪、满电 30 发。依赖 REPOLib。

Date uploaded 6 days ago
Version 0.1.0
Download link cn_xc-QBZ191-0.1.0.zip
Downloads 51
Dependency string cn_xc-QBZ191-0.1.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100
Zehs-REPOLib-4.2.0 icon
Zehs-REPOLib

Library for adding content to R.E.P.O.

Preferred version: 4.2.0

README

QBZ191

给 R.E.P.O. 加一把可购买、可开枪的 QBZ-191 步枪。

  • 一个 .repobundle(物品本体,走 REPOLib 的 Content 注册)
  • 一个小插件 .dll(把游戏原生的"开关式扳机"改成按一下打一发的真半自动)

依赖

依赖 说明
BepInEx 5.4.x 必需
REPOLib 必需(加载 .repobundle 并注册物品)

参数

项 值
类型 Gun(出现在商店武器区)
伤害 玩家 90 / 敌人 90(不是一击必杀)
射速 半自动,按一下打一发;冷却 0.28s
射程 100
后坐力 2.5
弹药 电池,满电 30 发
价格 基础 4500~5000(商店 ×4 = 18000~20000)
卡车/商店上限 各 2 把

安装

  1. 安装 BepInEx 与 REPOLib
  2. 把 QBZ191.repobundle 和 QBZ191.dll 放进 BepInEx/plugins/cn_xc-QBZ191/
  3. 启动游戏,商店里会多出 QBZ-191

已知限制

  • 真半自动靠插件:游戏原生 ItemGun 的扳机是开关式(一开就持续开火),插件在每次射击后把开关复位来实现"一次一发"
  • 枪身是纯色材质(未使用模型自带的贴图)
  • 枪口火焰为自建粒子(不是原版特效)

模型来源与许可证

本模组使用的枪械模型:

项 内容
模型 QBZ191
作者 会飞的购物清单 (flyinglist1)
模型页面 https://sketchfab.com/3d-models/qbz191-ccdbe1834e0f49ff9a371b9f51190208
作者主页 https://sketchfab.com/flyinglist1
许可证 Creative Commons Attribution 4.0 (CC BY 4.0)

依据 CC BY 4.0,使用本模型需注明作者与原链接;允许商用与修改,无需额外授权。

致谢

  • REPOLib — 物品注册与 bundle 加载
  • R.E.P.O. Modding Wiki — Unity 工程与 SDK 流程
  • 模型:QBZ191 by 会飞的购物清单 (flyinglist1),CC BY 4.0
  • 枪声:M1 Garand Single by Mike Koenig(SoundBible,CC BY 3.0),已裁切并做后期处理

CHANGELOG

[0.1.1]

修复

  • 电池 UI 完全保持原版:此前为了让电池格文字不显示异常而隐藏/删除过 UI Canvas,导致 ItemBattery.Update() 每帧抛 NullReferenceException(单人测试中日志出现上千条)。现改为不改动原版电池 UI,异常归零。
  • 枪口火焰收紧为短寿命高密度粒子(不再"散开的烟")。

说明

  • 仅经过单人游戏测试,联机未验证。

Changelog

[0.1.0]

测试范围:仅单人游戏测试,联机未验证。

新增

  • QBZ-191 自定义枪械物品(REPOLib Content 注册,.repobundle 自包含)
  • 半自动插件:按一下打一发(游戏原生扳机为开关式,一开即持续开火)
  • 电池弹药:满电 30 发
  • 命中判定:Hurt Collider 按游戏 ActivateAll() 要求挂为独立子物体
  • 弹道:Shoot Line(LineRenderer,4 顶点)
  • 枪口火焰 / 命中粒子 / 命中灯

修复

  • 修复"开枪即 NullReferenceException":ItemGunMuzzleFlash 与 ItemGunBullet 会用 transform.Find() 按名字找粒子与灯,缺失即崩,导致子弹不生成、无伤害、无弹道
  • 修复粒子材质找不到 shader 导致的紫红色渲染