using System.Diagnostics; using CounterStrikeSharp.API; using CounterStrikeSharp.API.Core; using static CounterStrikeSharp.API.Core.Listeners; using static dRandomSkills.dRandomSkills; namespace dRandomSkills { public static class PlayerOnTick { private static readonly Stopwatch DrawStopwatch = new Stopwatch(); private static readonly float DrawUpdateInterval = 0.5f; public static void Load() { DrawStopwatch.Start(); Instance.RegisterListener(() => { foreach (var player in Utilities.GetPlayers()) { if (player != null && player.IsValid) { UpdatePlayerHud(player); } } }); } private static void UpdatePlayerHud(CCSPlayerController player) { if (player == null) return; var skillPlayer = Instance.skillPlayer.FirstOrDefault(p => p.SteamID == player.SteamID); if (skillPlayer == null) return; string infoLine = ""; string skillLine = ""; if (skillPlayer.IsDrawing && DrawStopwatch.Elapsed.TotalSeconds >= DrawUpdateInterval) { var randomSkill = SkillData.Skills[Instance.Random.Next(SkillData.Skills.Length)]; infoLine = $"Losowanie mocy:
"; skillLine = $"{randomSkill.Name}
"; DrawStopwatch.Restart(); } else if (!skillPlayer.IsDrawing) { var skillInfo = SkillData.Skills.FirstOrDefault(s => s.Name == skillPlayer.Skill); if (skillInfo != null) { infoLine = $"Twoja aktualna moc:
"; skillLine = $"{skillPlayer.Skill}
"; } } var hudContent = infoLine + skillLine; player.PrintToCenterHtml(hudContent); } } }