• 注册后才能下载/购买插件!快来注册吧,注册即可免费下载 精翻插件 !【点我注册
  • RustSB.COM 三周年活动现已开始!
    全站插件8折折扣,入手插件的最佳时机!错过再等一年!
    活动期间 累计实付 每满 1000 元,即送【Rust腐蚀 · 幸存这十年】主题桌垫 ×1!
  • RustSB.COM向广大野生Rust插件作者发出入驻邀请!详情请见[原创作者条约]
【XMCombatPower·战力值】

原创 【XMCombatPower·战力值】 1.0.0

API​

1.获取玩家总战力​

C#:
var power = XMCombatPower?.Call("API_GetPlayerTotalPower", player.UserIDString);
int totalPower = power != null ? (int)power : 0;
  • 返回 int,玩家不存在时返回 0

2.获取战力详细分项​

C#:
var breakdown = XMCombatPower?.Call("API_GetPlayerPowerBreakdown", player.UserIDString) as Dictionary<string, int>;
  • 返回 Dictionary<string, int>,玩家不存在时返回 null
  • 字典键值:
说明
TotalPower总战力
WeaponPower武器战力
ClothingPower服装战力
PermissionPower权限/权限组战力
PlayTimePower时长战力
SpiritRootPower灵根战力
AbyssPower深渊战力
WealthPower财富战力
RolePower角色战力
GuildPower宗门战力
IdentityPower身份战力
SoulSailPower魂幡战力
ManualPermissionPower手动权限战力

3.获取玩家排名​

C#:
var rank = XMCombatPower?.Call("API_GetPlayerRank", player.UserIDString);
int playerRank = rank != null ? (int)rank : 0;
  • 返回 int,排名从 1 开始

4.增加玩家战力(权限战力)​

C#:
var result = XMCombatPower?.Call("API_AddPlayerPower", player.UserIDString, 500);
bool success = result != null && (bool)result;
  • 参数:userIdString(string)、amount(int,必须 > 0)
  • 返回 bool,成功返回 true
  • 计入 ManualPower,会实时更新图标并触发 OnPlayerPowerIncreased

5.减少玩家战力(权限战力)​

C#:
var result = XMCombatPower?.Call("API_ReducePlayerPower", player.UserIDString, 200);
bool success = result != null && (bool)result;
  • 参数:userIdString(string)、amount(int,必须 > 0)
  • 返回 bool,成功返回 true
  • 战力最低减至 0,会实时更新图标并触发 OnPlayerPowerDecreased

6. 获取玩家觉醒信息​

C#:
Dictionary<string, object> API_GetPlayerAwakeningInfo(string userIdString)
  • 参数: userIdString - 玩家的Steam ID字符串
  • 返回: 包含以下键值的字典(如果玩家未觉醒过则返回null)
    • IsActive (bool): 是否处于觉醒状态
    • IsInCooldown (bool): 是否处于冷却中
    • Multiplier (float): 攻击倍数
    • RemainingSeconds (int): 剩余有效时间(秒)
    • CooldownRemainingSeconds (int): 剩余冷却时间(秒)

7. 获取玩家战神模式信息​

C#:
Dictionary<string, object> API_GetPlayerGodModeInfo(string userIdString)
  • 参数: userIdString - 玩家的Steam ID字符串
  • 返回: 包含以下键值的字典
    • IsActive (bool): 是否处于战神模式
    • IsInCooldown (bool): 是否处于冷却中
    • ShieldHP (float): 当前护盾血量
    • MaxShield (float): 最大护盾血量
    • CooldownRemainingSeconds (int): 剩余冷却时间(秒)

Hook​

1.战力提升​

C#:
void OnPlayerPowerIncreased(BasePlayer player, int totalPower, int change)
{
    // player  = 玩家对象
    // totalPower = 变化后的总战力
    // change  = 增加量
}

2.战力下降​

C#:
void OnPlayerPowerDecreased(BasePlayer player, int totalPower, int change)
{
    // player  = 玩家对象
    // totalPower = 变化后的总战力
    // change  = 减少量(正数)
}

3.排名上升​

C#:
void OnPlayerRankIncreased(BasePlayer player, int newRank)
{
    // player  = 玩家对象
    // newRank = 新排名(数字越小越靠前)
}

4. 玩家觉醒​

C#:
void OnPlayerAwakening(BasePlayer player, float multiplier, int durationSeconds)
  • 当玩家成功觉醒时触发
  • 参数:
    • player: 玩家对象
    • multiplier: 攻击倍数
    • durationSeconds: 持续时间(秒)

5. 玩家觉醒结束​

C#:
void OnPlayerAwakeningEnd(BasePlayer player)
  • 当玩家觉醒状态结束时触发
  • 参数:
    • player: 玩家对象

6. 玩家激活战神模式​

C#:
void OnPlayerGodModeActivated(BasePlayer player, float shieldHP)
  • 当玩家成功激活战神模式时触发
  • 参数:
    • player: 玩家对象
    • shieldHP: 护盾血量

7. 玩家战神模式结束​

C#:
void OnPlayerGodModeEnd(BasePlayer player)
  • 当玩家战神模式护盾耗尽时触发
  • 参数:
    • player: 玩家对象

8. 战力PK结束​

C#:
void OnPKBattleEnd(ulong playerAId, ulong playerBId, ulong winnerId)
  • 当战力PK结束时触发
  • 参数:
    • playerAId: 玩家A的ID
    • playerBId: 玩家B的ID
    • winnerId: 获胜者的ID(0表示平局)