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; }
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")); }
public void SetForceClass() { TextDrawGlobal.Hide(this); TextDrawPlayer.Hide(this); TextDrawEntry.Show(this); ForceClassSelection(); ToggleSpectating(true); ToggleSpectating(false); IsStateUser = StateUser.Force; }