纪念碑机器人!
一个实验性的基本插件,用于在 Rust 纪念碑上为机器人提供机器人,否则最近被疏散和/或尚未被 Facepunch 填充。
已创建基本管理 GUI,只能由 ADMINS 使用 /mb 命令访问。
使用臭名昭著的 Kits 插件。
可能会有变化!对于现在的每个版本,请在 oxide/en/MonBots.json 中删除您的 LANG 文件。
命令和 GUI
— /mb
— 启动 GUI 中,您可以在其中选择和编辑配置文件,包括机器人名称、套件选择等。还有其他几个子命令,它们都由 gui 使用,但尚未记录。
更新说明:
在 1.0.4 中,您现在可以创建自己的个人资料位置,因此您不仅限于古迹。但是,机器人必须能够通过游戏导航网格系统进行导航。所以,一般来说,保持在地形上,你应该没事。
在配置文件选择屏幕中,将有一个新按钮“在此处添加”。在按下它之前,请位于您想要跨越一组非纪念碑机器人的一般中心。按下后,将弹出另一个屏幕,提示输入名称。键入或复制/粘贴名称,然后按 Enter。这应该会将您带到新配置文件的标准编辑屏幕。完成编辑后,配置文件将在配置文件选择屏幕中可用。
也可以删除自定义配置文件。
此外,1.0.4 修复了与 HumanNPC 插件的冲突,以及在我的情况下,还修复了幻影灯塔的创建。听起来很酷,但遗憾的是它实际上并不存在……
显示配置文件列表和选择按钮的初始 GUI。绿色的配置文件(纪念碑)有活跃的机器人(spawnCount > 0)。蓝色^H^H^H^H灰色的配置文件有一些设置,例如机器人名称或套件选择,但没有 spawnCount。其余的处于非活动状态。自定义配置文件现在为蓝色。
具有活动 spawnCount、一些机器人名称和选定套件的(纪念碑)配置文件。
机器人名称编辑。有点时髦。但是,您可以编辑或删除现有名称,也可以一次创建一个新名称。
像往常一样 – 将文本复制并粘贴到这些字段中效果最好。粘贴后按回车键保存:
配置
{ "Options": { "Default Health": 200.0, "Default Respawn Timer": 30.0, "debug": false }, "Version": { "Major": 1, "Minor": 0, "Patch": 1 } }
这里很基本。默认值应该会让你开始。真正的肉在数据文件中。
配置值将填充数据文件,以 1:1 的比例填充它们基本匹配的位置(目前是 health 和 respawn timer,两者都有效)。
数据文件
在重新加载插件后,会在 oxide/data/MonBots/spawnpoints 创建各种配置文件。
下面是一个显示两个纪念碑的示例:
"Sphere Tank 0": { "monname": "Sphere Tank 0", "spawnCount": 0, "respawn": true, "respawnTime": 60.0, "detectRange": 60.0, "spawnRange": 30, "roamRange": 140.0, "startHealth": 200.0, "invulnerable": false, "lootable": false, "wipeClothing": true, "wipeBelt": true, "wipeMain": false, "wipeCorpseMain": false, "dropWeapon": false, "hostile": false, "kits": null, "names": null, "pos": [] }, "Stables A 0": { "monname": "Stables A 0", "spawnCount": 0, "respawn": true, "respawnTime": 60.0, "detectRange": 60.0, "spawnRange": 30, "roamRange": 140.0, "startHealth": 200.0, "invulnerable": false, "lootable": false, "wipeClothing": true, "wipeBelt": true, "wipeMain": false, "wipeCorpseMain": false, "dropWeapon": false, "hostile": false, "kits": null, "names": null, "pos": [] },
对于要填充的每个纪念碑,首先将 spawnCount 设置为 1 个或多个机器人。
接下来,您可以根据需要选择一个名称或一组名称随机分配给机器人。
您可以而且可能确实希望从 Kits 插件中为他们分配一个工具包。如果需要,此设置也可以是套件数组。
除了可掠夺标志之外,您还可以设置以下项目,这些项目仅在可移动时才相关 == true:
– wipeClothing — 不要将 NPC 穿的衣服复制到尸体上(默认为 true) – wipeBelt — 不要将 NPC 腰带中的物品复制到尸体上(默认为 true) – wipeMain — 不要将 NPC 在其主要库存中的物品复制到尸体上(默认为 true)
– wipeCorpseMain — 删除添加到 NPC 尸体主库存中的默认战利品(默认为 false) 请注意,您可能希望将 wipeMain 或 wipeCorpseMain 设置为 true,或将两者都设置为 false
别管 pos: [] 。这将在运行时填充每个机器人的生成点,以防您必须寻找它们等。
"Sphere Tank 0": { "monname": "Sphere Tank 0", "spawnCount": 3, "respawn": true, "respawnTime": 60.0, "detectRange": 60.0, "spawnRange": 30, "roamRange": 140.0, "startHealth": 200.0, "invulnerable": false, "lootable": false, "dropWeapon": false, "hostile": false, "kits": [ "tankbots" ], "names": { "Barbara", "Megan", "Lacey" ], "pos": [] }, "Stables A 0": { "monname": "Stables A 0", "spawnCount": 5, "respawn": true, "respawnTime": 60.0, "detectRange": 60.0, "spawnRange": 30, "roamRange": 140.0, "startHealth": 200.0, "invulnerable": false, "lootable": false, "dropWeapon": false, "hostile": false, "kits": { "cowboy1", "cowboy2" }, "names": [ "Stabler" ], "pos": [] },
您还可以根据需要调整 startHealth 和其他值。并非一切都在起作用,但他们确实在战斗和躲藏,并做所有你可能期望的通常的 NPC 事情。
使用 GUI – /mb
对于开发人员
- private bool IsMonBot(科学家NPC播放器)给定一个 ScientistNPC 对象,确定它是否是 MonBot
- private string[] AddGroupSpawn(Vector3 location, string profileName, string group, int quantity)使用新的或现有的配置文件(组)在特定位置生成一组机器人
- private string[] RemoveGroupSpawn(字符串组)删除配置文件(组)和关联的机器人
- 私有字符串 GetMonBotName(ulong npcid)返回给定其 userid 的机器人名称