DropItemEverywhere
把手上的资源包、消耗品、钥匙卡或神器核心塞回容器空槽,或放到任何可接触表面。表面放置默认关闭,可在配置里开启;全部配置支持热重载。反馈:qingju.me
| Date uploaded | a week ago |
| Version | 1.0.7 |
| Download link | HawChow-DropItemEverywhere-1.0.7.zip |
| Downloads | 162 |
| Dependency string | HawChow-DropItemEverywhere-1.0.7 |
This mod requires the following mods to function
BepInEx-BepInExPack_GTFO
BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.
Preferred version: 3.2.3README
DropItemEverywhere
把你手上正在携带的资源物品(资源包、消耗品、钥匙卡、神器核心)放回或放到地上。共两个动作:
- 塞回已经打开的储物柜 / 箱子的空槽位
- 放到你视线所及的任意可接触表面
反馈与支持:qingju.me
两个动作都复用游戏自身的交互反馈:原版交互提示条 + 进度读条,另外叠加一个半透明的物品虚影,明确指出它会落在哪里。
预览

操作
- 容器回存 —— 按住
E(默认是游戏的交互/使用键,可在配置里改)0.4 秒,同时准星对着已打开储物柜/箱子的兼容空槽位。只要有效槽位在范围内,提示与虚影就会出现;按住时读条逐渐填满。 - 表面放置 —— 按住
G(可配置)0.25 秒,同时看着一个够得到的表面。按住期间虚影会预览落点。
表面放置默认关闭(需自行开启)。 安装后直接进游戏时,放置键完全不起作用——没有提示、没有虚影、也不会放下任何东西。要启用它:打开 BepInEx/config/HawChow.DropItemEverywhere.cfg,找到 [Placement] 段,把 EnableSurfacePlacement 改成 true 并保存即可生效(本版本起支持热重载,无需重启游戏)。容器回存(E)开箱即用。
表面放置故意不与交互/使用键共用。手上拿着资源包时,那个键同时也是「给自己 / 给队友打包」,共用会把放置输入吞掉、把包丢在自己脚边。拾取物品、开关储物柜、给自己和队友打包全部保持原版按键,不受影响。
当范围内存在已打开容器的兼容空槽位、而你正携带着可存放的物品时,本模组只接管这一处交互:那一瞬间跳过原版世界交互更新与资源包自身的施放动作,于是 E 执行的是存入而不是自我施放。准星瞄向别处时,原版行为与未安装时完全一致。
单帧的按键抖动不会重置一次长按——只有持续松开超过四分之一秒才会取消,所以读条总能平滑填满。
放置时会先找一个法线朝向你的表面,然后沿该法线把落点往外抬,直到所携物品的自身包围盒不再与任何世界几何体重叠。这样无论准星打在储物柜/箱子的哪个面上,物品都不会生成在它内部。物品会保留剩余弹药与自定义数据。
可放入容器的物品是资源包、消耗品、钥匙卡与神器核心;只有匹配的空槽位会接受回存。
配置
配置文件:BepInEx/config/HawChow.DropItemEverywhere.cfg
本版本起全部 12 个配置项均支持热重载:改完保存即可生效,不必重启游戏。生效值会以 [DIAG] config reloaded: 写进日志;如果填了非法值,模组会保留上一次的有效值并在日志里告警。
| 配置项 | 默认值 | 含义 |
|---|---|---|
Keys/ContainerKey |
E |
按住以把物品存入容器槽位的按键 |
Keys/PlaceKey |
G |
按住以把物品放到表面的按键 |
Interaction/ContainerHoldSeconds |
0.4 |
容器回存需要按住的时间;0 表示按下立即存入 |
Interaction/PlaceHoldSeconds |
0.25 |
表面放置需要按住的时间 |
Interaction/ContainerReachMeters |
2.0 |
可以瞄到容器槽位的最远距离 |
Placement/SurfaceReachMeters |
3.0 |
表面放置的射线长度 |
Placement/SurfaceOffsetMeters |
0.1 |
沿命中法线的最小抬升距离 |
Placement/ClearanceSearchMeters |
1.0 |
为避免与几何体穿插,沿法线最多外推的距离 |
Placement/EnableSurfacePlacement |
false |
默认关闭。 改成 true 才会启用表面放置 |
Feedback/ShowProgressBar |
true |
显示原版交互提示与读条 |
Feedback/ShowGhostPreview |
true |
显示目标位置处的半透明虚影 |
Diagnostics/VerboseLogging |
true |
向 BepInEx 日志输出 [DIAG] 诊断行,一切正常后可关掉 |
按键名支持字母、数字、F1–F12、SPACE、TAB、ENTER、ESC、方向键、LEFTSHIFT、LEFTCTRL、LEFTALT 以及 MOUSE0–MOUSE2。
依赖
BepInEx-BepInExPack_GTFO3.2.3
不需要任何其他模组。
反馈
灵感来源
容器回存的行为参考了 DropItemPlus by Hikaria 与 DropItemFixed by Dinorush,表面放置的射线行为参考了 SentryGunEverywhere by Localia。本模组是独立实现与独立发布的包。
CHANGELOG
更新日志
1.0.7
- 修复交互提示与读条残留:放置或存入完成后,屏幕下方「放下XXX / 按住「G」」那一条有时会一直挂在屏幕上,直到你再瞄别的可交互物或放下东西才消失。原因是游戏写入共享提示时会用富文本标签包裹文本(实测形如
<color=#B2A151>放下驱雾器</color>),而旧版以「回读文本必须完全相等」作为清理凭证,于是每次都判定「这不是我写的」而静默放弃清理,并且只尝试一次。 - 交互提示的生命周期改为按帧驱动的兜底清理:每帧结束前若本模组仍持有提示且该帧没有重新写入,就再清理一次;任何分支、任何异常之后都会执行。清理不再依赖某一个动作分支恰好调用一次。
- 文本比较前先做富文本归一化:去掉
<color>、<b>、<size>等标签后再比对,因此带颜色包裹的本模组文案也能被正确识别并清理;游戏或其他模组写入的不同文案仍然一律不动。 - 所有权凭证收紧为「写成功之后才计入本帧写入」,写入中途抛异常不会连带清掉同一帧上别人写的提示。
- 清理重试预算改为每帧最多记一次,告警文案(8 帧)与实际口径一致。
- 表面放置:成功后进入「等待松键」状态,不再重复上膛、不再刷取消日志,松键时显式清理一次并复位。
- 容器存入:完成后继续按住不再每帧重复输出「E hold cancelled」。
- 日志修正:原先「G disabled: surface placement is off」会把「手里的物品已经放下」误报成「配置关闭」,现在两种原因分开记录。
- 全部 12 个配置项支持热重载:修改
BepInEx/config/HawChow.DropItemEverywhere.cfg并保存后无需重启游戏,生效值会写入[DIAG] config reloaded:;填写非法值时保留上一次的有效值并在日志中告警。 - 配置项名称、默认值、依赖关系与放置默认关闭策略均未改变。
1.0.6
- 修复交互提示残留:把资源包或消耗品拾取到空槽位后,原版提示与其读条可能一直留在屏幕上。存入动作改为只按「按下按键那一刻」的状态判定,按键已按住期间捡到物品不会再让同一次按压变成容器存入(该路径会跳过原版交互更新,从而把提示留在原地)。
- 取消原版选中项改为调用游戏自身的取消接口,而不是直接清空字段;该调用抛出异常时让原版更新照常执行,而不是被跳过。
- 共享提示改用「本构建写入的确切文本」作为所有权凭证,并在仍持有所有权期间重试;游戏或其他模组写入的提示一律不动。
- 存入后冷却期内再次按存入键,仍然压制原版资源包施放路径,使失败重试窗口的表现与之前一致。
- 未改动配置项、依赖、默认按键与放置默认值。
1.0.5
- 重新发布,提交时未勾选「包含 NSFW 内容」。本模组不含任何 NSFW 内容,因此不应需要开启过滤器才能被搜索到。内容、配置与玩法均无变化。
1.0.4
- 重新发布,使包不再被标记为 NSFW。内容与玩法无变化:上一次上传误勾了「包含 NSFW 内容」,导致关闭过滤器时搜不到本包。
1.0.3
- 对齐 DropItemFixed 更新日志中列出的修复。
- 存放不再抢占交互/使用键:仅仅瞄着容器槽位时,原版交互(拾取、开关容器、给自己 / 队友打包)保持可用。只有真正按住存放键且槽位有效时才会接管提示与读条(对应 DropItemFixed 0.1.7 / 0.1.8)。
- 存放接管时清除过期的世界交互选中项,按键不会再作用于一瞬间之前选中的目标。
- 关卡回溯后重建容器记账,槽位占用判定忽略物品已不存在的条目,回溯过的物品不会再被标记为「占用中」或渲染在错误位置——即「幽灵资源包」症状(对应 0.1.5)。
- 复用容器指针前先校验,指针被回收后不会让容器失去可用槽位(对应 0.1.6 一类重复 / 失效键错误)。
- 每帧动作循环加了保护:某一帧出错只记录一次,而不是从 Update 抛出并跳过另一个动作。
- 未移植上游的剔除桶刷新:当前构建里
ItemCuller位于Modules-ASM.dll且命名空间不同,该段代码无法编译,其余部分已对齐。
1.0.2
- 加入本更新日志,使包页面能按版本显示说明。
- 相对 1.0.1 无玩法或配置改动。
1.0.1
- 表面放置(放置键,默认
G)改为默认关闭。关闭时该键完全不做任何事——不探测表面、不显示提示、不显示虚影、也不会放置。要启用:打开BepInEx/config/HawChow.DropItemEverywhere.cfg,在[Placement]段把EnableSurfacePlacement改成true后重启游戏。 - 容器回存(
E)与其按住时间未改动,开箱即用。
1.0.0
- GTFO 首个发布版本。为手上携带的资源物品(资源包、消耗品、钥匙卡、神器核心)提供两个动作:
- 塞回已打开储物柜 / 箱子的空槽位;
- 放到你视线所及的任意可接触表面。
- 两个动作都复用游戏自身的按住反馈:原版交互提示与其读条,另加一个半透明物品虚影指出落点。
- 表面放置不与交互/使用键共用,避免与「给自己 / 队友打包」冲突。
- 唯一依赖:
BepInEx-BepInExPack_GTFO3.2.3。反馈:https://qingju.me