• 注册后才能下载/购买插件!快来注册吧,注册即可免费下载 精翻插件 !【点我注册
  • RustSB.COM向广大野生Rust插件作者发出入驻邀请!详情请见[原创作者条约]
【XMKeyBindingAPI·XF键api】

原创 【XMKeyBindingAPI·XF键api】 1.0.0

功能说明​

插件本身没有作用,主要用于其他插件调用!
这是一个专门用于统一管理X键和F键绑定的API插件,为其他插件提供统一的按键处理接口,避免插件间的钩子冲突和卸载问题。

主要特性​

  1. 统一钩子管理:只有此插件注册swapseats和lighttoggle钩子,避免冲突
  2. 优先级系统:支持多个插件同时注册,配置文件可以设置按优先级顺序处理
  3. 权限控制:每个插件可以指定专门的权限要求才生效X/F
  4. 条件检测:支持自定义检测条件(坐下、蹲下、手电筒等),避免默认按键行为失效
  5. 自动清理:插件卸载时自动移除相关处理器

API方法​

RegisterKeyBinding​

注册X/F键处理器
参数:
  • plugin: 调用插件实例
  • methodName: 处理方法名称
  • permission: 权限名称(可选,为空则不检查权限)
  • enableX: 是否启用X键(默认true)
  • enableF: 是否启用F键(默认true)
  • checkMounted: X键是否检测坐下状态(默认false)
  • checkDucked: F键是否检测蹲下状态(默认true)
  • checkFlashlight: F键是否检测武器手电筒(默认true)
返回值: bool - 注册是否成功

UnregisterKeyBinding​

注销插件的所有按键绑定
参数:
  • plugin: 插件实例
返回值: bool - 注销是否成功

优先级说明​

JSON:
{
  "默认优先级设置": {
    "XMPlayerAdmin": 2,//写入插件名和优先级
    "XMSwordFly": 1,
    "其他插件": 5//没有写入插件名的所有插件默认优先级
  }
}
  • 配置文件设置
  • 数字1为最高优先级,2、3、4...依次降低
  • 当玩家拥有多个权限时,按优先级顺序尝试处理
  • 第一个成功处理的插件会阻止后续插件处理
  • 如果所有插件都未处理,则执行原始游戏功能

权限系统​

每个插件可以指定自己的权限要求:
  • 如果指定了权限,只有拥有该权限的玩家才会触发处理
  • 如果未指定权限(null或空字符串),则对所有玩家生效
  • 支持玩家同时拥有多个插件的权限,按优先级处理

条件检测​

X键条件:​

  • checkMounted: 是否检测坐下状态,true时坐下的玩家不会触发

F键条件:​

  • checkDucked: 是否检测蹲下状态,true时蹲下的玩家不会触发
  • checkFlashlight: 是否检测武器手电筒,true时持有手电筒/激光瞄具的玩家不会触发

使用示例​

C#:
// 在插件的Loaded方法中注册
void Loaded()
{
    if (XMKeyBindingAPI != null)
    {
        // 注册X/F键,只对有admin权限的玩家生效,优先级1(最高)
        // X键不检测坐下,F键检测蹲下和手电筒
        XMKeyBindingAPI.Call("RegisterKeyBinding", this, "HandleKeyPress", "myplugin.admin", true, true, false, true, true);
    }
}

// 处理方法
private bool HandleKeyPress(BasePlayer player)
{
    // 处理按键逻辑
    // 返回true表示处理成功,false表示未处理
    return true;
}

// 在插件卸载时注销(可选,插件会自动清理)
void Unload()
{
    if (XMKeyBindingAPI != null)
    {
        XMKeyBindingAPI.Call("UnregisterKeyBinding", this);
    }
}
作者
pandaman
下载
1
查看
33
文件类型
cs
文件大小
9.5 KB
文件Hash
3e77e9162b5b45b34c86289044d371aa
首次发布
最后更新
评分
0.00 星 0评价

来自pandaman的更多资源

分享资源

标签