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

新品 【XMChessGame·象棋游戏】 1.0.0

API接口​

StartChessChallenge​

启动中国象棋挑战(供其他插件调用)
参数
  • steamId (string): 玩家SteamID
  • timeLimit (int): 时间限制(秒,最少30秒)
  • allowRetry (bool): 是否允许重试
  • rewardDescription (string): 奖励描述
  • callback (Action<bool>): 完成回调,参数为是否成功
返回值:bool - 是否成功启动挑战
胜利条件:在时限内吃掉对方的将/帅即可
示例
C#:
// 在其他插件中调用
bool success = (bool)XMChessGame?.Call("StartChessChallenge",
    player.UserIDString,  // 玩家ID
    300,                  // 5分钟时限
    true,                 // 允许重试一次
    "完成象棋挑战获得神秘大礼包!",  // 奖励描述
    new Action<bool>(success => {
        if (success)
        {
            // 挑战成功后的处理
            player.ChatMessage("恭喜完成象棋挑战!");
            // 可以在这里给予奖励
            rust.RunServerCommand($"inventory.giveto {player.UserIDString} scrap 1000");
        }
        else
        {
            // 挑战失败后的处理
            player.ChatMessage("很遗憾,挑战失败了!");
        }
    })
);

if (success)
{
    player.ChatMessage("象棋挑战已启动!");
}
else
{
    player.ChatMessage("启动挑战失败,请稍后再试。");
}

Hook说明​

OnChessGameStart​

玩家开始游戏时触发
参数
  • player (BasePlayer): 玩家对象
  • isChallenge (bool): 是否为挑战模式
示例
C#:
void OnChessGameStart(BasePlayer player, bool isChallenge)
{
    if (isChallenge)
        Puts($"{player.displayName} 开始了象棋挑战!");
    else
        Puts($"{player.displayName} 开始了象棋游戏!");
}

OnChessGameSuccess​

玩家游戏成功时触发
参数
  • player (BasePlayer): 玩家对象
  • score (int): 获得的分数(PvP对战为0)
  • isChallenge (bool): 是否为挑战模式
示例
C#:
void OnChessGameSuccess(BasePlayer player, int score, bool isChallenge)
{
    if (isChallenge)
        Puts($"{player.displayName} 完成了象棋挑战!");
    else if (score > 0)
        Puts($"{player.displayName} 象棋获胜,获得 {score} 分!");
    else
        Puts($"{player.displayName} 在PvP对战中获胜!");
}

OnChessGameFailed​

玩家游戏失败时触发
参数
  • player (BasePlayer): 玩家对象
  • score (int): 最终分数(PvP对战为0)
  • isChallenge (bool): 是否为挑战模式
示例
C#:
void OnChessGameFailed(BasePlayer player, int score, bool isChallenge)
{
    if (isChallenge)
        Puts($"{player.displayName} 象棋挑战失败!");
    else
        Puts($"{player.displayName} 象棋失败,最终 {score} 分");
}

OnChessPvPStart​

玩家对战开始时触发
参数
  • player1 (BasePlayer): 玩家1对象
  • player2 (BasePlayer): 玩家2对象
示例
C#:
void OnChessPvPStart(BasePlayer player1, BasePlayer player2)
{
    Puts($"{player1.displayName} 和 {player2.displayName} 开始了象棋对战!");
    // 可以在这里添加对战开始的提示或奖励
}