物品生成器

创作者: EternallyMango
已更新:2026-06-03 12:13:13
32KB

前置 MOD

使用 物品生成器 时将自动安装

关于此 MOD

物品生成器可让你在《Abiotic Factor》中通过控制台获取所有物品。即时生成任何物品——武器、装备、食物、材料——到你的背包中,或在多人模式下将物品给予其他玩家。功能包括智能搜索、分类浏览。
在《异种因子》里折腾了无数个小时测试各种库存操作方式后,我终于搞出了一个稳定好用的刷物品模组。不会再因为无效玩家对象崩溃,不会再有物品凭空消失,也用不着瞎猜物品代码了。

这是我发布的首个模组,请多关照!<3

编辑:已制作一份详细的谷歌表格文档,包含所有物品信息! 点击此处

编辑: 请确保在运行专用服务器时添加 `-newconsole` 启动参数!

功能说明

物品生成器通过UE4SS接入《异化因子》的背包系统,让你能用指令直接调取游戏内全部1423件物品(数据截至2026年1月2日)。你可以为自己生成物品、在联机模式中赠予队友、忘记确切ID时按名称搜索,还能按分类浏览所有可用道具。

该模组直接从游戏数据表读取——与开发者所用的完全相同——因此你获得的都是属性正确的合法物品,而非那些一更新就失效的粗糙替代方案。

我做这个的原因

听着,我挺喜欢《异种因子》这游戏,但有时候就是想测试点东西,不想为了材料刷个没完。或者朋友因为BUG丢了装备,你想帮他一把。现有的刷物品方法要么老崩溃,要么物品列表不全,要么让你记一堆鬼画符的代码。我就想要个靠谱的办法,单人跟专用服务器都能用。

指令

给予 <玩家> <物品ID> [数量]
主指令。生成物品放入你或其他玩家的背包中。
给Mango 安全手枪
给予 * food_bread 50
给予 ^ baton_U1 1


特殊瞄准选项:
  • * - 影响当前房间内所有玩家
  • ^ - 目标:你自己(执行该指令的玩家)
  • “Name1,Name2” - 指定多个目标玩家(以逗号分隔)


玩家名称支持部分匹配(不区分大小写),无需输入全名。输入"give man sword"将自动找到"Mango"。

搜索 <文本>
不记得是"pistol_security"还是"security_pistol"?直接搜"pistol"就能列出所有匹配项。同时搜索显示名称和生成ID,按字母顺序排列。结果上限为50条,确保控制台清晰可读。

listcat <类别>
按类型浏览物品。想看所有可用的武器吗?
列表分类:武器
展示包含生成ID的完整列表。共10个分类:武器、装备、食物与道具、可制作物品、可部署物、小型可部署物、工作台类可部署物、拾取物、植物、宠物。

分类
显示所有类别及物品数量,便于快速查看可用内容。

列出所有
全部丢弃(最多100件——显示全部1,423件会令人抓狂)。适合快速浏览查看已有物品。

显示玩家
列出当前会话中所有玩家及其编号。方便在赠送物品时查看准确名称。

物品生成器
打开帮助菜单并显示示例。我自己也老记不住语法,所以这个功能经常用。

极客详情

该模组通过操控
非生物_库存组件_C
直接。生成物品时,该物品:

  • 在目标仓库中查找空位(已校验防崩溃)
  • 从游戏资源中加载正确的数据表
  • 生成一个合适的
    数据表行句柄
    在正确的表引用和行名下
  • 将物品属性(耐久度、堆叠数量)重置为默认值。
  • 触发库存同步回调,以保持多人模式数据一致


所有玩家角色访问均封装在受保护调用(pcall)中,因为当玩家处于异常状态(加载、断开连接等)时,UE4SS 未必总能返回有效对象。此举可防止最初困扰我的“对空指针调用方法”崩溃问题。

该模组现已正确区分客户端/单人模式与专用服务器环境,并采用独立的指令注册系统。
  • 客户端使用
    注册控制台命令处理器
    直达主机控制台
  • 专用服务器使用
    注册进程控制台执行前钩子
    带上下文验证
  • 服务器执行次数防护:双重执行保护


玩家索敌机制适用于所有情况
^
该符号通过AFUtils的玩家状态系统,在两个环境中正确标识执行玩家。

控制台输出采用UE4SS引擎
F输出设备
系统已正常运行,因此所有内容会显示在真正的游戏主机上,而非仅出现在外部调试窗口。这一实现过程出乎意料地繁琐——你需要在命令处理器中获取输出设备参数,并将所有日志调用都通过该参数进行路由。

物品数据库是通过解析游戏导出的JSON文件(使用FModel提取)自动生成的。我写了个Python脚本,不仅能提取所有数据,还能处理物品名称中奇怪的Unicode转义字符,最终输出干净的Lua表。整个数据库压缩后大约只有150KB,这点体积根本不值一提。

安装

你需要 UE4SS v3.0.1 或更高版本。安装完成后:

  • 将 ItemSpawner 文件夹拖入
    非生物因子\非生物因子\Binaries\Win64\ue4ss\Mods\
  • 启动游戏
  • 按波浪键(~)打开控制台
  • 类型
    物品生成器
    查看指令


就这样了。🥭

兼容性

支持单人游戏、多人联机(主机模式)及专用服务器。无需修改任何游戏文件,可随时安全移除。兼容其他UE4SS模组——本人同时运行多个工具,无任何冲突。

该模组不影响存档数据。你生成的物品与正常获取的完全一致——游戏无法区分二者差异。

服务器管理员可通过服务器控制台使用所有指令,是管理工具和玩家辅助功能的绝佳选择。

常见问题

问:为什么物品没有立即出现?
在单人或主持模式下会即时显示,但专用服务器可能需要几秒才能出现在背包中。

问:可以设置自定义耐久度数值吗?
还没。所有物品生成时耐久度都是满的。如果大家确实想要这个功能,以后可能会加上。

问:这支持模组物品吗?
只要它们在游戏的物品表里,就没问题。不过我没怎么在内容模组里测试过。

问:搜索找到了我的物品,但“给予”显示它不存在?
物品ID区分大小写。请完全按照搜索结果中的显示内容进行复制。

问:我能在储存容器中生成物品吗?
目前仅支持玩家背包。容器功能虽在技术上可行,但会大幅增加复杂度。

问:是否
^
目标是否在专用服务器上运行?

太好了!无论在客户端还是服务器环境下,它都能准确识别出是谁执行了命令。

已知问题

  • 无法在已满的背包中生成(会显示错误提示)
  • 玩家名称匹配需至少输入部分字符——不支持通配符
  • 搜索结果上限为50条(保持界面整洁,此为刻意设定)
  • 物品默认以堆叠数量生成(暂不可配置)


这些其实都不是bug,只是当前实现方式的限制而已。

性能

影响极小。物品数据库仅在启动时加载一次(约50毫秒),指令执行几乎瞬时完成。我曾在战斗序列中使用过,没有出现帧率下降。

内存占用量总计约1.5MB。作为参考,这比游戏里一张贴图还小。

未来规划

正在考虑添加:

  • 批量生成指令(一次性获取多个物品)
  • 自定义耐久/品质数值
  • 背包管理(一键清空、排序等)
  • 可保存并调用的物品预设
  • 也许需要一个配置文件来设置默认数量


说实话,这个模组该实现的功能都已经实现了。我并不打算把它搞成一个功能臃肿的怪物。如果你有什么想增加的,在帖子里告诉我,我会考虑的。

制作人员

基于UE4SS的Lua API构建,物品数据由FModel提取。

特别感谢UE4SS《异变因子》和AFUtils库的开发者,让这一切成为可能。



联系人

Steam 个人资料: https://steamcommunity.com/id/mango--_/
Discord: .celestialbody 天体

使用 Xmod 解锁 非生物因素 的全部潜力 — 今天就探索这些顶级 MOD!