
自动拾取可配置一体化(1.30-1.31版)
对AutoLoot标准版/增强版的全面优化/重写(已获得作者JupiterTheGod和CarbonAlabel的许可),所有功能均可通过游戏内菜单配置。该模组还实现了全新的"True AutoLoot"
查看大图跳转到视频的各部分(此视频较长)
对于刚接触自动拾取(由 JupiterTheGod 开发的原版模组)的玩家,该模组优化了《巫师 3》中的拾取流程。 你现在可以自动从所有容器中拾取你始终希望获取的物品。 本模组基于自动拾取和自动拾取增强版(由 CarbonAlabel 制作)的坚实基础,打造了一个统一、优化且可自定义的自动拾取体验。 本模组旨在彻底消除对“特殊版本”自动拾取的需求,以及无需编辑代码即可让模组实现所需功能。在获得原作者许可后,我还进行了一些创意发挥,新增了过滤器以涵盖原本不属于自动拾取范围的物品。 最后,对于那些不想因繁琐地搜刮洞穴、房屋和无数装满容器的地点而放慢脚步的玩家,我开发了“真自动拾取模式”。该模式会持续搜索符合用户配置设置的战利品,并自动拾取,无需玩家任何输入或交互。我们特别优化了这一流程,可以自信地说,最终实现了使用该功能时完全不会影响游戏性能。 我会积极关注建议、错误报告和反馈,如果你认为缺少某些内容、需要修改或发现了模组的问题,请发表你的想法!
经授权,包含 JupiterTheGod 原版 AutoLoot 及 CarbonAlabel 增强版的所有功能 GUI 菜单可实时调整自动拾取各项参数——所有设置即时生效,无需重启或特殊操作 20 多种过滤器助你精准定制拾取物品类型 预设菜单选项快速配置各类常见自动拾取方案(关闭菜单立即生效) 完整的通知系统控制:字体大小、物品描述与图标、显示时长、每件战利品额外显示时间、音效开关——音效现已与战利品匹配(告别千篇一律的“弹窗关闭”音效) 内置安全检查机制确保任务和过场动画不受影响(提供关闭选项供自由选择) 半径拾取:JupiterTheGod 的招牌功能,一键拾取指定区域内所有容器 真·自动拾取模式:热键激活后将持续拾取符合条件物品(无需反复按键或操作容器)——同一热键可关闭该模式。此功能零性能损耗! 新增控制台命令支持本模组,同时提供适用于任何模组的实用功能 大量原始代码的漏洞修复与性能优化 支持英语、德语、法语、西班牙语、葡萄牙语、意大利语、俄语及捷克语本地化
未来计划
我计划为半径拾取和真实自动拾取模式添加一种“不作弊”选项。该选项将不允许此模组拾取玩家无法触及的物品(比如地下的物品或不在玩家所在建筑内的物品)。虽然实现起来相当困难,但我会继续努力(这是我个人非常想要使用的功能)。
重要信息(请阅读!)
删除/卸载之前/其他版本的自动拾取(AutoLoot),包括本模组(切勿覆盖安装) 完成安装步骤后,请运行 脚本合并工具(若未安装可点击 此处 获取) 老用户注意:若您从 2.x.x 版本升级,仍必须运行脚本合并工具(希望这是最后一次需要合并的更新) 首次使用须知:请至少载入一次游戏并确认出现“默认设置已加载”或“更新已安装”提示后再进行偏好设置,否则自定义设置将被覆盖 全体用户注意:即使是从 2.x.x 版本升级,也必须安装配置菜单(3.0 版本新增了菜单选项)
必须安装:核心模组
必需:图形用户界面/配置菜单
可选:键位绑定操作(INPUT.SETTINGS)
这不是必需的,但如果你选择不遵循本节内容,你将无法使用半径拾取功能。真正的自动拾取模式只能通过打开菜单并手动设置为开启状态才能使用。
重要提示:升级至 3.0.x 版本的用户须知
唯一新增的输入动作位于 [战斗] 部分。如果您已经将其他动作添加到了 input.settings 文件中,请不要重复添加。如果这样做并尝试在设置菜单中调整键位绑定,菜单中的键位会改变但在游戏中不会生效。
可选:键位绑定菜单设置(INPUT.XML)
这不是必需的,但如果你选择不遵循这部分内容,你将无法在设置菜单中更改键位绑定。
错误:
目前尚未发现任何问题。
问:这个模组能在游戏的 1.X 版本上运行吗? 答:本内容适用于 1.30 和 1.31 版本。在此之前的版本将无法编译。
问:为什么真实自动拾取模式和/或范围拾取会捡起墙后和地下(如洞穴中)的物品? 答:这是由于模组搜索可掠夺容器的机制所致。当前功能采用球形区域搜索容器——目前尚无明确方法判定“可到达性标准”(对某些玩家可能意味着步行可达,而对另一些玩家可能仅需处于同一建筑内)。碰撞检测在容器上也似乎无法正常运作。我仍在研究调整此行为的方法。
问:我可以不安装菜单使用这个模组吗? 答:不。本模组内的所有功能都依赖于您通过菜单选项设置的值。此外,如果未安装菜单,则无法将设置保存到配置文件中(这是游戏固有行为,本模组无法改变这一点)。我不打算制作无菜单版本。
问:我必须遵循键位绑定说明(标记为可选)吗? 答:如上所述,您不需要这样做。然而,如果您不遵循 input.settings 部分,您将无法使用 Radius Loot 功能。此外,您需要手动将“使用真实自动拾取模式”设置更改为开启状态才能使用该功能。如果您不遵循 input.xml 部分,您将无法通过游戏内的设置菜单调整按键绑定。
问:在设置菜单中重新映射按键绑定后,为什么它们不起作用?
答:您很可能在 input.settings 文件中存在冲突的操作。打开位于 Documents/The Witcher 3 目录下的该文件,搜索 (Action=AutoLootRadius) 或 (Action=ToggleTrueAutoLoot)——取决于哪个按键绑定失效了。如果在同一个 [Section] 下有重复项,请删除多余的条目(它们很可能是连续出现的)。保存 input.settings 文件后,在设置菜单中重新绑定按键。
问:我遇到了类似这张图中的编译错误,该怎么办?! 答:首先,这些编译错误并非由本模组引起。您正在使用的模组列表中包含过时的模组,导致了这些编译错误。请重新检查并更新您的模组列表,使用脚本合并工具重新合并脚本,然后再次尝试编译。
菜单选项
我已将这部分内容移至单独的文章,以缩短本页篇幅。点击 [此处] 查看 ReadMe 或查看 Articles 标签页。
控制台命令
新的控制台命令有两种格式,一种带有 ahdal_ 前缀,表示这些命令专用于此模组。这些命令不会影响您的游戏设置或其他模组。第二种是不带前缀的命令。这些命令使用起来并非不安全,但如果您使用其他模组的参数,或来自原版配置菜单项的设置,则有可能在此模组范围之外更改这些值。重申一下,搞乱您的设置并不容易,但在实验时仍需小心。
粉色/紫色参数为必填项,蓝色参数为可选(如标注所示)。
我认为使用这些函数时不需要引号或撇号(我相信控制台会自动将参数转换为所需数据类型)。
重置 将所有设置重置为默认值。 这与在设置菜单中选择“完全重置”选项相同。 屏幕中央将显示一条横幅,提示默认值已成功加载。
ahdal_loadpreset( 预设 ) 加载指定的预设。屏幕中央会显示一条横幅,提示预设已成功加载。可用的预设值(区分大小写)包括:
- loadPresetHerb
- loadPresetCorpse
- loadPresetHerbCorpse
- loadPresetOneItem
- loadPresetValuableGear
- loadPresetWeightless
示例:ahdal_loadpreset( loadPresetHerbCorpse ) --> 加载“草药与尸体预设”的设置
ahdal_清除通知 清除自动拾取通知管理器中存储的所有信息。该命令将在左下角显示持续 7.5 秒的通知,说明已清除的内容。如果你处于非战斗状态,通常所有数值都会显示为 0.000——唯一的例外情况是你在战斗中途使用此命令,或恰好在 Radius Loot/True AutoLoot 拾取容器的瞬间执行该命令。
获取配置值(组,设置,可选 时间) 获取存储在配置包装类中的值(从您的 user.settings 文件中提取),位于 [group] 部分下名为 setting 的变量(此功能用于调试,以检查 XML 菜单的某些值而无需打开菜单,这可能会触发其他功能)。可选地,您可以提供一个整数时间,以指示显示包含解析信息的通知的时间长度(以秒为单位)。所有参数都区分大小写。
示例:getconfigval( "Gameplay", "AutomaticFinishersEnabled", 10 ) --> 显示“禁用自动终结技”选项的 (true/false) 设置值,持续 10 秒
设置配置值(组,设置项,值,可选时间,可选保存) 在配置包装器的 [group] 部分中,为名为 setting 的变量设置值为 val。 可选地,您可以提供一个整数时间(以秒为单位)来指示显示解析信息的通知时长。 此外,您还可以选择提供一个布尔值(true/false)给 save,以指示是否将此值保存到 user.settings 中(两者的区别在于,如果没有为 save 提供 true 值,则如果您不保存游戏,该值将不会持久化)。
示例:setconfigval( "AHDAutoLoot_true", "trueAutoLootTime", 2.0, , true ) --> 将真自动拾取模式的刷新时间保存为 2 秒至 user.settings;显示默认时间通知(默认为 5 秒)
获取玩家位置(可选 模式,可选 显示目标,可选 时间)
显示包含玩家位置 X、Y 和 Z 坐标的通知(默认使用全局坐标系)。
您可以为 mode 参数传入字符串 local 来指定使用局部坐标系(我不确定全局坐标与局部坐标的区别,可能与不同世界状态有关)。
您可以传入布尔值 showTarget 来同时显示目标对象的坐标(这里有些误导——“目标”指的是您当前聚焦的实体,如容器、蜡烛或门;我认为这对敌人无效)。
最后,您可以选择性提供一个整数 time 来指定显示解析信息通知的时长(以秒为单位)。
示例:getplayerpos( , true ) --> 显示玩家和目标的世界坐标 X、Y、Z,默认持续时间为 5 秒
你可能需要使用 Script Merger 在 playerWitcher.ws 中进行一到两次合并。我已经测试了许多流行的基于脚本的模组,如 Friendly HUD、Immersive Cam、The Enhancement System 等,确实可以正常工作。如果在合并后遇到编译错误的问题,请观看下面的视频。
致谢
- JupiterTheGod,AutoLoot 的原作者,感谢允许我进行这些修改并使用原始框架!
- AutoLoot Enhanced 的作者 CarbonAlabel,允许我将它的功能整合进这个模组
- wghost81 和 Murzinio 感谢协助设计菜单
- gamerkiste 负责德语翻译
- 法国翻译请求
- joselmocs 为通知图标/描述提供的创意
- 西班牙语翻译
- WiperDarK 负责俄语翻译
- 捷克语翻译由 tnovak 完成
- futuroattore86 负责意大利语翻译
- 我出色又才华横溢的女友负责葡萄牙语翻译
正在加载版本记录…























正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。