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

原创 【XMNewbieGuide·萌新管家】 1.0.2

API方法​

1. API_IsNewbie 判断玩家是否是萌新​

C#:
private bool API_IsNewbie(string userIdString)
参数:
userIdString:玩家的SteamID(字符串格式)
返回值:
true:玩家是萌新
false:玩家不是萌新

2.API_GetReferralRewardText 获取推荐码奖励的文字描述​

C#:
private string API_GetReferralRewardText()
参数:无
返回值:
返回推荐码奖励的详细文字描述,格式如:"废料x500、AK47x1"

3. API_GetGuideRemainingSeconds​

查询萌新管家剩余有效期(秒)
调用方式:
C#:
int remainingSeconds = (int)XMNewbieGuide?.Call("API_GetGuideRemainingSeconds", player.UserIDString);
参数:
  • userIdString (string): 玩家的SteamID字符串
返回值:
  • int: 剩余有效期秒数,如果管家已过期或不存在则返回 0

4. API_GetReferralCodeRemainingSeconds​

查询推荐码剩余有效期(秒)
调用方式:
C#:
int remainingSeconds = (int)XMNewbieGuide?.Call("API_GetReferralCodeRemainingSeconds", player.UserIDString);
参数:
  • userIdString (string): 玩家的SteamID字符串
返回值:
  • int:
    • -1: 推荐码永久有效
    • 0: 推荐码已过期、已使用或不存在
    • > 0: 剩余有效期秒数

Hook事件​

插件提供以下Hook供其他插件使用:

1.OnNewbieDetected​

当玩家被判定为萌新时触发此Hook。
参数:
  • BasePlayer player - 被判定为萌新的玩家
  • int detectionMode - 判定模式(0=VipLogo等级1级,1=无存档数据,2=XMPlayerAdmin系统,3=DWRole在线时间不足10分钟)
示例用法:
C#:
void OnNewbieDetected(BasePlayer player, int detectionMode)
{
    Puts($"玩家 {player.displayName} 被判定为萌新,判定模式:{detectionMode}");
    // 在这里添加你的萌新处理逻辑

2.OnNewbieLost​

当萌新玩家的推荐码被其他玩家使用时触发此Hook(表示该萌新已被老玩家"认领")。
参数:
  • ulong ownerUserId - 推荐码拥有者(萌新)的 SteamID
示例用法:
C#:
void OnNewbieLost(ulong ownerUserId)
{
    Puts($"萌新 {ownerUserId} 的推荐码已被使用");

3. OnNewbieGuideExpired​

当玩家萌新管家有效期结束时触发
参数:
  • player (BasePlayer): 管家过期的玩家对象
示例:
C#:
void OnNewbieGuideExpired(BasePlayer player)
{
    Puts($"玩家 {player.displayName} 的萌新管家已过期");
    // 在这里添加你的逻辑
}

4. OnNewbieReferralCodeExpired​

当玩家推荐码有效期结束时触发
参数:
  • player (BasePlayer): 推荐码过期的玩家对象
示例:
C#:
void OnNewbieReferralCodeExpired(BasePlayer player)
{
    Puts($"玩家 {player.displayName} 的推荐码已过期");
    PrintToChat(player, "您的推荐码已过期");
}

5. OnNewbieReferralCodeUsed​

当玩家成功使用推荐码时触发
参数:
  • player (BasePlayer): 使用推荐码的玩家对象
  • ownerUserId (ulong): 推荐码所有者的SteamID
示例:
C#:
void OnNewbieReferralCodeUsed(BasePlayer player, ulong ownerUserId)
{
    var owner = BasePlayer.FindByID(ownerUserId);
    Puts($"玩家 {player.displayName} 使用了 {owner?.displayName ?? ownerUserId.ToString()} 的推荐码");
    // 在这里添加你的逻辑,比如额外奖励
}