private static void ResetScore(Player player) { player.Kills = 0; player.Deaths = 0; TextDrawPlayer.UpdateTdStats(player); BasePlayer.SendClientMessageToAll(Color.Yellow, $"** {player.Name} ha reseteado su score con {Color.Red}/re"); }
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 OnPlayerDied(BasePlayer sender, DeathEventArgs e) { base.OnPlayerDied(sender, e); var player = sender as Player; var killer = e.Killer as Player; player.IsDead = true; player.UpdateData("totalDeaths", ++player.Data.TotalDeaths); ++player.Deaths; ++player.PlayerTeam.Deaths; player.KillingSprees = 0; BasePlayer.SendDeathMessageToAll(killer, player, e.DeathReason); if (player.IsStateUser == StateUser.Force) { player.IsStateUser = StateUser.Kill; } if (player.IsCapturedFlag()) { player.PlayerTeam.TeamRival.Drop(player, killer); } if (killer != null) { ++killer.PlayerTeam.Kills; killer.UpdateData("totalKills", ++killer.Data.TotalKills); ++killer.Kills; ++killer.Adrenaline; ++killer.KillingSprees; killer.ShowKillingSprees(); killer.SetNextRank(); TextDrawPlayer.UpdateTdStats(killer); } TextDrawPlayer.UpdateTdStats(player); }
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 UpdateAdrenaline(int won_adrenaline, string reason) { if (adrenaline < 100) { Adrenaline += won_adrenaline; SendClientMessage(Color.Pink, $"[!]{Color.White} Obtuviste +{won_adrenaline} de {Color.Pink}Adrenalina {Color.White}por {reason}."); TextDrawPlayer.UpdateTdStats(this); } }
protected override void OnPlayerRequestSpawn(BasePlayer sender, RequestSpawnEventArgs e) { base.OnPlayerRequestSpawn(sender, e); var player = sender as Player; if (player.Account == AccountState.Login) { player.SendClientMessage(Color.Red, "Error: Debes iniciar sesión."); e.PreventSpawning = true; return; } if (player.Account == AccountState.Register) { player.SendClientMessage(Color.Red, "Error: Debes registrarte."); e.PreventSpawning = true; return; } if (CurrentMap.IsLoading) { e.PreventSpawning = true; player.SendClientMessage(Color.Red, $"Error: En {CurrentMap.MAX_TIME_LOADING} segundos se cargará el próximo mapa."); return; } if (player.PlayerTeam.GetMessageTeamEnable(out var msg)) { e.PreventSpawning = true; player.GameText(msg, 999999999, 3); return; } player.StopAudioStream(); // player.PlayAudioStream("https://dl.dropboxusercontent.com/s/mzt9qnigsh7pdfs/soundtrack.mp3"); player.IsSelectionClass = false; player.GameText("_", 1000, 4); Player.Add(player); BasePlayer.SendClientMessageToAll($"{player.PlayerTeam.OtherColor}[Team {player.PlayerTeam.NameTeam}]: {player.Name} se añadió al equipo {player.PlayerTeam.NameTeam}."); player.SendClientMessage($"{Color.Pink}[!] {Color.White}Captura la bandera del equipo contrario."); if (player.PlayerTeam.Id == TeamID.Alpha) { player.SendClientMessage($"{Color.Pink}[!] {Color.White}Guíate con el {TeamBeta.OtherColor}ícono Azul {Color.White}que aparece en el mapa radar."); } else { player.SendClientMessage($"{Color.Pink}[!] {Color.White}Guíate con el {TeamAlpha.OtherColor}ícono Rojo {Color.White}que aparece en el mapa radar."); } player.SendClientMessage($"{Color.Pink}[!] {Color.White}Luego lleva la bandera a tu base."); if (player.PlayerTeam.Flag.PlayerCaptured != null) { player.SendClientMessage($"{Color.Pink}[!] {Color.White}{player.PlayerTeam.Flag.PlayerCaptured.Name} capturó la bandera de tu equipo, debes recuperarla."); } TextDrawGlobal.Show(player); TextDrawGlobal.UpdateCountUsers(); TextDrawPlayer.UpdateTdStats(player); TextDrawPlayer.UpdateTdRank(player); TextDrawPlayer.Show(player); TextDrawEntry.Hide(player); }
public void SetForceClass() { TextDrawGlobal.Hide(this); TextDrawPlayer.Hide(this); TextDrawEntry.Show(this); ForceClassSelection(); ToggleSpectating(true); ToggleSpectating(false); IsStateUser = StateUser.Force; }
public void CreateTextDraw() { THealth = new PlayerTextDraw(this); TArmour = new PlayerTextDraw(this); Stats = new PlayerTextDraw(this); TdRank = new PlayerTextDraw(this); TextDrawPlayer.CreateTDHealth(THealth); TextDrawPlayer.CreateTDArmour(TArmour); TextDrawPlayer.CreateTDStats(Stats); TextDrawPlayer.CreateTDRank(TdRank); }
public void SetNextRank() { if (Data.LevelGame != Rank.MAX_RANK && Data.TotalKills >= Rank.GetRequiredKills(Data.LevelGame + 1)) { UpdateData("levelGame", ++Data.LevelGame); SendClientMessage(Color.Red, $"[Rank]: {Color.Orange}Subiste al rango {Rank.GetRankLevel(Data.LevelGame)} {Color.Red}¡Felicidades!"); SendClientMessage(Color.Red, $"[!]: {Color.White} Ganaste +100 de Adrenalina + Chaleco + Regeneración de salud."); Adrenaline = 100; Armour = 100; Health = 100; TextDrawPlayer.UpdateTdRank(this); } }
private static void SetAdrenaline(Player player, int playerid, int adrenaline) { if (player.IsAdminLevel(3)) { return; } if (adrenaline < 0 || adrenaline > 100) { player.SendClientMessage(Color.Red, "Error: La adrenalina debe estar entre el rango de 0 a 100."); return; } Player player1 = Player.Find(player, playerid); player1.Adrenaline = adrenaline; TextDrawPlayer.UpdateTdStats(player1); player.SendClientMessage(Color.Yellow, $"* Le diste al jugador {player1.Name} {adrenaline}%% de adrenalina."); player1.SendClientMessage(Color.Yellow, $"* {player.Name} te estableció la adrenalina a {adrenaline}%%."); SendMessageToAdmins(player, "setadre"); }
private static void SetKills(Player player, int playerid, int kills) { if (player.IsAdminLevel(3)) { return; } if (kills < 0) { player.SendClientMessage(Color.Red, "Error: Los kills no pueden ser negativo."); return; } Player player1 = Player.Find(player, playerid); player1.Kills = kills; TextDrawPlayer.UpdateTdStats(player1); player.SendClientMessage(Color.Yellow, $"* Le diste al jugador {player1.Name} {kills} kills."); player1.SendClientMessage(Color.Yellow, $"* {player.Name} te estableció los kills a {kills}."); SendMessageToAdmins(player, "setkills"); }