コード例 #1
0
    protected override void OnPlayerRequestClass(BasePlayer sender, RequestClassEventArgs e)
    {
        var player = sender as Player;

        if (player.IsStateUser == StateUser.Kill)
        {
            player.IsStateUser = StateUser.None;
            player.SetSpawnInfo(0, 0, new Vector3(0, 0, 0), 0);
            player.Spawn();
            return;
        }

        /* Check if the player has died before entering class selection. */
        if (player.IsDead)
        {
            Player.Remove(player);
            TextDrawGlobal.UpdateCountUsers();
            TextDrawGlobal.Hide(player);
            TextDrawPlayer.Hide(player);
        }

        player.Color            = ColorWhite;
        player.Team             = BasePlayer.NoTeam;
        player.IsSelectionClass = true;
        player.Position         = new Vector3(-1389.137451, 3314.043701, 20.493314);
        player.CameraPosition   = new Vector3(-1399.776000, 3310.254150, 21.525623);
        player.SetCameraLookAt(new Vector3(-1395.072143, 3311.873291, 22.027709));
        player.Angle      = 111.68f;
        player.Interior   = 0;
        player.PlayerTeam = (e.ClassId == 0) ? (TeamAlpha) : (TeamBeta);
        player.PlayerTeam.GetMessageTeamEnable(out var msg);
        player.GameText(msg, 999999999, 3);
        player.PlaySound(1132);
        player.IsDead = false;
    }
コード例 #2
0
    protected override void OnPlayerDisconnected(BasePlayer sender, DisconnectEventArgs e)
    {
        base.OnPlayerDisconnected(sender, e);
        var player = sender as Player;

        BasePlayer.SendDeathMessageToAll(null, player, Weapon.Disconnect);
        if (player.IsCapturedFlag())
        {
            player.Drop();
        }
        if (player.Team != BasePlayer.NoTeam)
        {
            Player.Remove(player);
            TextDrawGlobal.UpdateCountUsers();
        }
        TextDrawPlayer.Destroy(player);
        TextDrawGlobal.Hide(player);
        Player.RemoveLevels(player);
        if (player.AFK)
        {
            Player.UserAFKs.Remove(new UserAFK()
            {
                Player = player
            });
        }
        player.UpdateData("lastConnection", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
    }
コード例 #3
0
 public void SetForceClass()
 {
     TextDrawGlobal.Hide(this);
     TextDrawPlayer.Hide(this);
     TextDrawEntry.Show(this);
     ForceClassSelection();
     ToggleSpectating(true);
     ToggleSpectating(false);
     IsStateUser = StateUser.Force;
 }