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

新品 【XMSoulSail·魂幡】 1.0.0

API 列表​

GetPlayerSails​

获取指定玩家的所有魂幡信息。
签名
C#:
List<Dictionary<string, object>> GetPlayerSails(ulong userId)
参数
参数类型说明
userIdulong玩家 Steam ID
返回值
返回 List<Dictionary<string, object>>,每个元素代表一个魂幡,字段如下:
字段类型说明
SailNamestring魂幡名称(配置中的名称)
Levelint当前等级
Expint当前经验值
CurrentManaint当前魂值
ManaMaxint魂值上限
ItemUIDuint物品唯一 ID
注意事项
  • 玩家在线时:返回背包、快捷栏中的魂幡 + 已放置的魂幡
  • 玩家离线时:仅返回已放置的魂幡(背包无法访问)
  • 若玩家无任何魂幡,返回空列表(非 null)
调用示例
JSON:
var sails = XMSoulSail?.Call("GetPlayerSails", player.userID)
    as List<Dictionary<string, object>>;

if (sails == null || sails.Count == 0)
{
    Puts("该玩家没有魂幡");
    return;
}

foreach (var sail in sails)
{
    string name  = (string)sail["SailName"];
    int    level = (int)sail["Level"];
    int    exp   = (int)sail["Exp"];
    int    mana  = (int)sail["CurrentMana"];
    int    max   = (int)sail["ManaMax"];
    uint   uid   = (uint)sail["ItemUID"];

    Puts($"{name} Lv.{level}  EXP:{exp}  魂值:{mana}/{max}  UID:{uid}");
}


Hook 事件​

OnSoulSailLevelUp​

魂幡通过强化升级时触发。
C#:
void OnSoulSailLevelUp(BasePlayer player, string sailName, int newLevel)
参数类型说明
playerBasePlayer拥有者玩家
sailNamestring魂幡名称
newLevelint升级后的等级

OnSoulSailEnhanceSuccess​

强化成功但未升级(仅获得经验)时触发。
C#:
void OnSoulSailEnhanceSuccess(BasePlayer player, string sailName, int level, int currentExp, int expNeeded)
参数类型说明
playerBasePlayer拥有者玩家
sailNamestring魂幡名称
levelint当前等级
currentExpint当前经验
expNeededint升级所需经验

OnSoulSailEnhanceFail​

强化失败时触发。
C#:
void OnSoulSailEnhanceFail(BasePlayer player, string sailName, int level)
参数类型说明
playerBasePlayer拥有者玩家
sailNamestring魂幡名称
levelint当前等级

OnSoulSailDestroyed​

放置中的魂幡被摧毁(非拾取)时触发。
C#:
void OnSoulSailDestroyed(ulong ownerId, string sailName, ulong skinId)
参数类型说明
ownerIdulong拥有者 Steam ID
sailNamestring魂幡名称(可能为空)
skinIdulong魂幡皮肤 ID



注意事项
  • 玩家在线时:返回背包、快捷栏中的魂幡 + 已放置的魂幡
  • 玩家离线时:仅返回已放置的魂幡(背包无法访问)
  • 若玩家无任何魂幡,返回空列表(非 null)
调用示例

C#:
var sails = XMSoulSail?.Call("GetPlayerSails", player.userID)
    as List<Dictionary<string, object>>;

if (sails == null || sails.Count == 0)
{
    Puts("该玩家没有魂幡");
    return;
}

foreach (var sail in sails)
{
    string name  = (string)sail["SailName"];
    int    level = (int)sail["Level"];
    int    exp   = (int)sail["Exp"];
    int    mana  = (int)sail["CurrentMana"];
    int    max   = (int)sail["ManaMax"];
    uint   uid   = (uint)sail["ItemUID"];

    Puts($"{name} Lv.{level}  EXP:{exp}  魂值:{mana}/{max}  UID:{uid}");
}