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

新品 【XMUniversalPoints·万能积分】 1.0.0

API详细说明​

1. API_GetPlayerPoints​

功能: 获取指定玩家的当前积分
参数:
  • string userid - 玩家的SteamID(字符串格式)
返回值:
  • int - 玩家当前积分数量
  • 如果玩家不存在或参数无效,返回 0

2. API_AddPlayerPoints​

功能: 为指定玩家增加积分
参数:
  • string userid - 玩家的SteamID(字符串格式)
  • int amount - 要增加的积分数量(必须大于0)
返回值:
  • bool - true 表示增加成功,false 表示失败
触发Hook: 成功增加后会触发 OnXMUniversalPointsGained Hook

3. API_RemovePlayerPoints​

功能: 扣除指定玩家的积分
参数:
  • string userid - 玩家的SteamID(字符串格式)
  • int amount - 要扣除的积分数量(必须大于0)
返回值:
  • bool - true 表示扣除成功,false 表示失败(积分不足或参数无效)
触发Hook: 成功扣除后会触发 OnXMUniversalPointsRemoved Hook


4. API_ShowDeductConfirm​

功能: 显示积分抵扣确认UI,用于物品不足时使用积分抵扣
参数:
  • BasePlayer player - 玩家对象(传 `null` 时仅检查配置是否存在)
  • string itemName - 物品显示名称
  • string itemShortname - 物品简称
  • ulong itemSkin - 物品皮肤ID
  • int requiredAmount - 需要的物品数量
  • string callbackCommand - 确认后执行的控制台指令
返回值:
  • bool - true 表示显示了抵扣UI,false 表示无法抵扣或配置不存在
使用场景:
  1. 玩家背包物品不足
  2. 该物品已在配置文件中设置了抵扣规则
  3. 玩家积分足够支付缺少的物品
详细说明:
  • 此API会自动计算玩家背包中已有的物品数量
  • 只对缺少的部分进行积分抵扣
  • 如果积分不足会自动提示玩家
  • 玩家确认后会执行 callbackCommand 指定的控制台指令

5. API_ShowPointsDeductConfirm​

功能: 显示积分抵扣确认UI,用于数值不足时使用积分抵扣(如幸运值、经验值等)
参数:
  • BasePlayer player - 玩家对象(传 `null` 时仅检查配置是否存在)
  • int pluginId - 插件编号
  • int missingValue - 缺少的数值数量
  • string valueName - 数值显示名称(如"幸运值"、"贡献度"等)
  • string callbackCommand - 确认后执行的控制台指令
返回值:
  • bool - true 表示显示了抵扣UI,false 表示无法抵扣或配置不存在
使用场景:
  1. 玩家某个数值不足(如幸运值、经验等)
  2. 需要使用积分来补足差额
  3. 与其他插件配合实现数值抵扣功能
详细说明:
  • 此API专门用于数值型抵扣,不涉及物品
  • 直接传入缺少的数值数量和需要消耗的积分
  • 如果积分不足会自动提示玩家
  • 玩家确认后会自动扣除积分并执行 callbackCommand 指定的控制台指令
  • 回调指令由调用方插件决定,用于执行后续业务逻辑


HOOK​

1. 玩家获得积分时​

C#:
void OnXMUniversalPointsGained(string playerName, int amount)
{
    Puts($"玩家 {playerName} 获得了 {amount} 积分");
}
参数说明:
  • playerName (string) - 玩家名称
  • amount (int) - 获得的积分数量

2. 玩家扣除积分时​

C#:
void OnXMUniversalPointsRemoved(string playerName, int amount)
{
    Puts($"玩家 {playerName} 被扣除了 {amount} 积分");
}
参数说明:
  • playerName (string) - 玩家名称
  • amount (int) - 扣除的积分数量
触发时机:
  • 管理员使用指令扣除玩家积分时
  • 其他插件通过API扣除玩家积分时