- 需要插件(必装)
-
原创 - RustSB Extensions - RustSB扩展
RustSB Extensions是RustSB.COM提供的Oxide扩展DLL,提供本站插件所需的大量扩展。 部分插件必须按照本扩展才能够正常运行。 功能 UI构建扩展方法。 成长型武器判断方法。 内置物品中文名API。 内置RustSBAuth,不再需要安装RustSBAuth插件。 内置图像管理系统,不再需要安装ImageLibrary插件。 玩家库存扩展方法。 玩家权限扩展方法。 其他扩展方法。 使用本扩展构建的插件将节省插件代码的复杂性,方便开发者快速扩展和维护。...rustsb.com
参考二游的体力系统插件,提供了一个完整的体力管理系统,包括体力上限设置、自动恢复机制、UI显示等功能。
主要是提供一些API接口给其他插件使用。
当玩家体力达到最大值时触发
主要是提供一些API接口给其他插件使用。
插件功能
- 可配置的体力上限。
- 自动体力恢复机制。
- 实时UI显示。
- 供其他插件使用的API接口。
配置文件
JSON:
{
"显示UI": true,
"体力上限": 100,
"恢复间隔(秒)": 60.0,
"每次恢复的体力": 5,
"默认体力": 50
}
配置项说明
显示UI
: 是否显示体力UI界面体力上限
: 玩家最大体力值恢复间隔(秒)
: 体力自动恢复的时间间隔每次恢复的体力
: 每次恢复时增加的体力值默认体力
: 玩家默认初始体力值
开发者文档
API
获取玩家体力
C#:
int stamina = (int)DWStaminaSystem.Call("GetPlayerStamina", player);
- 参数:
player
(BasePlayer) - 目标玩家 - 返回:玩家当前体力值(int)
扣除玩家体力
C#:
DWStaminaSystem.Call("DeductStamina", player, amount);
- 参数:
player
(BasePlayer) - 目标玩家amount
(int) - 要扣除的体力值
增加玩家体力
C#:
DWStaminaSystem.Call("AddStamina", player, amount);
- 参数:
player
(BasePlayer) - 目标玩家amount
(int) - 要增加的体力值
Hook
插件提供了以下Hook供其他插件订阅:OnStaminaFull
当玩家体力达到最大值时触发
代码:
void OnStaminaFull(BasePlayer player)
{
// 处理玩家体力满的逻辑
}
- 参数:
player
(BasePlayer) - 体力已满的玩家
开发示例
C#:
// 获取玩家体力
int currentStamina = (int)DWStaminaSystem.Call("GetPlayerStamina", player);
// 消耗20点体力
DWStaminaSystem.Call("DeductStamina", player, 20);
// 恢复30点体力
DWStaminaSystem.Call("AddStamina", player, 30);
// 监听体力满事件
void OnStaminaFull(BasePlayer player)
{
Puts($"玩家 {player.displayName} 的体力已满!");
}