版本 2.1.12 中的新功能
发布
变化:
- 延迟实体杀死 OnCollectiblePickup
- 修复 GetSpawnPointId 中罕见的 NRE
- 修复具有不同文本的项目不堆叠的问题
- 修复在错误类别中显示的项目
- 修复编辑器中的项目排序
版本 2.1.8 中的新功能
修复了将通常不叠加的物品的合成堆叠大小限制为 1 的错误
版本 2.1.7 中的新功能
昨 发布
固定
- 使用 Null 实体刷新 Loot 时出错
- 合成不适用于较低的堆叠数量
- 较旧的堆栈大小配置未导入
- 通过更改战利品生成器以使用预期寿命调整几率,箱子里的物品太多/不够
- 可收集资源总是会进入热键栏
添加
- 收集可生长植物的乘数
- 刷新当前 crate 中的战利品的按钮 ->需要 loottable.test 权限
取决于
Works with
关于Loot Table & Stacksize GUI
告别配置和数据文件。此插件可让您直接在自定义 UI 上编辑(几乎)每个可掠夺对象的战利品。它还包括一个图形堆栈大小编辑器,因此非常适合不熟悉编辑配置文件的任何人。
请勿与任何其他堆栈大小控制器或战利品插件结合使用。
特征:
- 用户友好的 GUI – 无需编辑配置文件
- 游戏中每个预制件的战利品配置
- Stack size 控制器支持每个预制件的单独堆栈大小
- 支持自定义项
- 支持第三方插件
- 完全向后兼容 1.x.x 版本
- 每个预制件都包含默认配置
- 冶炼速度、回收机速度和效率的配置
- Supply Drop 配置
支持的预制件:
- 板条箱、桶
- NPC
- 树木、矿石、动物尸体
- 挖掘机、采石场
- 圣诞礼物、彩蛋、战利品袋
- 大麻、玉米等收藏品。
其他配置:
- 熔炼速度
- 空投补给
- 回收机速度/效率
命令:
loottable – 打开可下载的 UI
可下载重新加载 – 手动刷新战利品
权限:
loottable.edit – 需要使用可下载的用户界面
所需的依赖项(仅限 Oxide):
图像库:https://umod.org/plugins/image-library
翻译:
此插件完全支持翻译。开箱即用,仅包含英文。对于要翻译的项目名称,需要插件 https://umod.org/plugins/rust-translation-api。英文翻译位于 /oxide/lang/en/Loottable.json
对于开发人员:
Loot Api:
开发人员可以使用 Loot Api 为自定义 NPC 或其他插件相关的战利品注册战利品配置文件。
强烈建议使用提供的包装器之一来访问 api。两个包装器都提供相同的功能。
Loot Api 示例:
// 此示例使用非静态版本的Loot Api
private LoottableApi loottableApi;
void OnServerInitialized()
{
loottableApi = new LoottableApi(this);
计时器。In(5f, () =>
{
loottableApi.ClearPresets();
loottableApi.CreatePresetCategory(“板条箱”);
loottableApi.CreatePreset(“c_locked”, “锁定的箱子”, “crate_hackable”);
loottableApi.CreatePreset(“c_elite”, “精英箱”, “crate_elite”);
loottableApi.CreatePreset(“c_military”, “军用箱子”, “crate_military”);
loottableApi.CreatePreset(“c_normal”, “普通箱子”, “crate_normal”);
loottableApi.CreatePresetCategory(“NPCs”);
loottableApi.CreatePreset(true, “npc_cargo”, “货船 NPC”, “npc_militunnel”);
loottableApi.CreatePreset(true, “npc_control”, “控制中心 NPC”, “npc_militunnel”);
});
}
void SpawnNpc()
{
// 在这里
生成 NPC ScientistNPC npc;
将战利品预设分配给 NPC
loottableApi.AssignPreset(scientist, “npc_control”);
}
void SpawnCrate()
{
// 在此处
生成 crate LootContainer crate;
为板条箱
分配预设 if (loottableApi.AssignPreset(container, “c_locked”))
{
// 容器已装满战利品
return;
else
{
// 容器不由 Loottable
处理 // 默认战利品逻辑在这里
}
}
生成的配置页面将如下所示:
自定义物品 API:
开发人员可以使用自定义物品 API 将自定义物品添加到可拾取物品列表中。如果项目被标记为持久,它将保持,直到它被 ClearCustomItems 删除。所有非持久化项目将在注册它们的插件被卸载后被删除。
(void) AddCustomItem(插件插件, int itemId, ulong skinId)
(void) AddCustomItem(插件, int itemId, ulong skinId, bool persistent) //(v1.0.27 或更高版本)
(void) AddCustomItem(插件插件, int itemId, ulong skinId, 字符串 customName)
(void) AddCustomItem(插件插件, int itemId, ulong skinId, 字符串 customName, bool persistent) //(v1.0.27 或更高版本)
(无效)ClearCustomItems(Plugin plugin) //(v1.0.27 或更高版本)
钩子:
(对象) OnContainerPopulate(LootContainer container)
每次战利品容器即将填充战利品时,都会调用此钩子。返回非 null 值可以防止插件在该 crate 中生成战利品。
(object) OnCorpsePopulate(LootableCorpse corpse)
每次 npc 尸体即将装满战利品时,都会调用此钩子。返回非 null 值可以防止插件在该尸体中生成战利品。
(对象) OnCustomAirdrop(SupplySignal signal)
每次即将交付自定义补给时,都会调用此钩子。返回非 null 值将取消自定义补给掉落。
版本 1 的过时文档:
版本 1.0.27 的新增功能:
现在可以直接在 GUI 中创建和编辑自定义项。它们可以从任何现有项目创建,并在 Item Select 菜单中
进行修改您现在可以创建和加载配置的备份。命令(F1 或服务器控制台):
loottable.backup load <name> – 从 backups 文件夹中加载具有给定名称的备份(将擦除您当前的配置)
loottable.backup create <name> – 创建具有给定名称
的所有内容的备份 将在 data/Loottable/backups 文件夹中创建备份。要加载备份,备份文件需要存在于该文件夹中。在游戏内控制台中创建备份时,需要 loottable.debug 权限。
重要提示:请勿从您不信任的来源加载备份,它们可能会对您的服务器
造成损害 1.0.16 版的新功能:
自定义物品:
现在您可以将其他插件使用的自定义物品直接添加到您的战利品表中。其他插件可以使用 api 注册这些项目(文档如下)。
命令:
loottable – 打开编辑器
loottable 刷新 – 手动刷新箱子战利品
loottable flags – 列出可用的标志(解释如下)
loottable flags <name> <1|0> – 启用/禁用某个标志