private void LoadAll() { Thread.Sleep(3000); Chat = Chat.GetInstance(); Game = Game.GetInstance(); Player = Player.GetInstance(); World = World.GetInstance(); Vehicle = Vehicle.GetInstance(); remotePlayer = RemotePlayer.GetInstance(); AmbulanceCalls = new List <AmbulanceCall>(); Chat.OnChatMessage += OnChatMessageReceived; Chat.OnCommand += OnCommandReceived; MyName = Player.GetName(); LoadRobberies(); Task.Run(() => { List <string> robsToRemove = new List <string>(); while (true) { foreach (var r in Robberies) { TimeSpan delta = r.Value.AddMinutes(28) - DateTime.Now; if (delta.Minutes > 0 && delta.Minutes < 4) { Chat.Send($"/fb [Warning] Через {delta.Minutes} минуты(у) планируется ограбление {r.Key}"); SAMP_API.API.ShowGameText($"Prepare for robbery. {r.Key} will be in {delta.Minutes} minutes", 2, 1); Task.Delay(1200); } else if (delta.Hours < -2) { robsToRemove.Add(r.Key); } } foreach (string rob in robsToRemove) { Robberies.Remove(rob); } DrawUIRobTimings(); Task.Delay(1000 * 60).Wait(); } }); SAMP_API.API.DestroyAllVisual(); Thread.Sleep(500); SAMP_API.API.ShowGameText("PDHelper by FoxPro loaded", 20, 1); Chat.RegisterCommand("/rob", (c, v) => { SendRobInfo(); }); Chat.RegisterCommand("/sfollow", (c, v) => { Thread.Sleep(1100); if (string.IsNullOrEmpty(v[0])) { Chat.AddMessage("Введите id человека"); return; } uint id = uint.Parse(v[0]); string name = SAMP_API.API.GetPlayerNameByIDEx((int)id).Replace("_", " "); Chat.Send($"/me взял преступника за локоть и повел его"); Thread.Sleep(1170); Chat.Send($"/follow {id}"); }); Chat.RegisterCommand("/clearrob", (c, v) => { ClearRob(); }); Chat.RegisterCommand("/scput", (c, v) => { if (v.Length < 1) { Chat.AddMessage("Введите id человека"); return; } Thread.Sleep(1100); if (string.IsNullOrEmpty(v[0])) { Chat.AddMessage("Введите id человека"); return; } uint id = uint.Parse(v[0]); string name = SAMP_API.API.GetPlayerNameByIDEx((int)id).Replace("_", " "); Thread.Sleep(1170); Chat.Send("/me открыл дверь автомобиля"); Thread.Sleep(1170); Chat.Send($"/me ухватил {name} за руки и шею"); Thread.Sleep(1170); Chat.Send($"/cput {id}"); Thread.Sleep(1170); Chat.Send("/me закрыл дверь"); }); Chat.RegisterCommand("/scuff", (c, v) => { if (v.Length < 1) { Chat.AddMessage("Введите id человека"); return; } Thread.Sleep(1100); if (string.IsNullOrEmpty(v[0])) { Chat.AddMessage("Введите id человека"); return; } uint id = uint.Parse(v[0]); string name = SAMP_API.API.GetPlayerNameByIDEx((int)id).Replace("_", " "); Chat.Send($"/me снял наручники с пояса и зацепил на руки {name}"); Thread.Sleep(1150); Chat.Send($"/cuff {id}"); }); Chat.RegisterCommand("/smdc", (c, v) => { if (v.Length < 1) { Chat.AddMessage("Введите id человека"); return; } Thread.Sleep(1100); if (string.IsNullOrEmpty(v[0])) { Chat.AddMessage("Введите id человека"); return; } uint id = uint.Parse(v[0]); // string name = remotePlayer.GetPlayerNameById(id, true); string name = SAMP_API.API.GetPlayerNameByIDEx((int)id); Thread.Sleep(1170); Chat.Send($"/seeme включил мобильный компьютер и пробил информацию о {name}".Replace("_", " ")); Thread.Sleep(1170); Chat.Send($"/mdc {id}"); }); Chat.RegisterCommand("/sfrisk", (c, v) => { if (v.Length < 1) { Chat.AddMessage("Введите id человека"); return; } Thread.Sleep(1100); if (string.IsNullOrEmpty(v[0])) { Chat.AddMessage("Введите id человека"); return; } uint id = uint.Parse(v[0]); string name = SAMP_API.API.GetPlayerNameByIDEx((int)id).Replace("_", " "); Thread.Sleep(1170); Chat.Send("/me достал из кармана и надел перчатки"); Thread.Sleep(1170); Chat.Send($"/me похлопал {name} по телу, проверил карманы, обыскав его"); Thread.Sleep(1170); Chat.Send($"/frisk {id}"); }); Chat.RegisterCommand("/sticket", (c, v) => { if (v.Length < 1) { Chat.AddMessage("Введите id человека"); return; } if (string.IsNullOrEmpty(v[0])) { Chat.AddMessage("Введите id человека"); return; } uint id = uint.Parse(v[0]); string name = SAMP_API.API.GetPlayerNameByIDEx((int)id).Replace("_", " "); Thread.Sleep(1170); Chat.Send($"/me взял документы {name}"); Thread.Sleep(1170); Chat.Send($"/me достал бланк и ручку, вписал данные паспорта {name} и поставил роспись"); }); Chat.RegisterCommand("/shi", (c, v) => { if (v.Length < 1) { Chat.AddMessage("Введите id человека"); return; } Thread.Sleep(1100); if (string.IsNullOrEmpty(v[0])) { Chat.AddMessage("Введите id человека"); return; } uint id = uint.Parse(v[0]); string MyName = Player.GetName().Replace("_", " "); Chat.Send($"{nameTextBox.Text} LSPD {MyName}."); if (shouldShowPassCheckBox.Checked) { Thread.Sleep(1100); Chat.Send($"/showpass {id}"); } }); Chat.RegisterCommand("/sceject", (c, v) => { if (v.Length < 1) { Chat.AddMessage("Введите id человека"); return; } Thread.Sleep(1170); if (string.IsNullOrEmpty(v[0])) { Chat.AddMessage("Введите id человека"); return; } uint id = uint.Parse(v[0]); string name = SAMP_API.API.GetPlayerNameByIDEx((int)id).Replace("_", " "); //Thread.Sleep(1170); Chat.Send("/me открыл дверь"); Thread.Sleep(1170); Chat.Send($"/me взял {name} за шею"); Thread.Sleep(1170); Chat.Send($"/ceject {id}"); }); Chat.RegisterCommand("/aac", OnServiceAccepted); Chat.RegisterCommand("/aacc", OnCustomServiceAccepted); Chat.RegisterCommand("/ph", (c, v) => { Chat.AddMessage("PoliceHelper is working!", "f56342"); Thread.Sleep(1450); Chat.Send("/f Ребят. Я складываю полномочия и передаю их новому шерифу LSPD - Диме Галкину."); }); Chat.RegisterCommand("/gs", (c, v) => { Chat.AddMessage($"Маркер находится в {GetCurrentCity()}, {GetCurrentZone()}"); }); Chat.RegisterCommand("/delo", (c, v) => { if (v.Length < 3) { Chat.AddMessage("Введите id, количество звезд и параметр [off/dead/ok]"); return; } Thread.Sleep(1100); if (string.IsNullOrEmpty(v[0]) || string.IsNullOrEmpty(v[1]) || string.IsNullOrEmpty(v[2])) { Chat.AddMessage("Введите id человека"); return; } string deloid = v[0]; int srok = int.Parse(v[1]); string type = v[2]; string srok_s = "года"; if (srok == 1) { srok_s = "год"; } else if (srok == 5 || srok == 6) { srok_s = "лет"; } if (type == "off") { Chat.Send($"/f {settings.Tag} Дело № XX закрыто. Преступнику грозит {srok} {srok_s} ТЗ."); } else if (type == "dead") { Chat.Send($"/f {settings.Tag} Дело № {deloid} закрыто. Преступник доправлен в больницу, ему грозит {srok} {srok_s} ТЗ."); } else { Chat.Send($"/f {settings.Tag} Дело № {deloid} закрыто. Преступнику грозит {srok} {srok_s} ТЗ."); } }); Chat.RegisterCommand("/mhstats", (c, v) => { var ds = GetAllDays(); if (ds != null) { int totalCallAccepted = 0; foreach (var day in ds) { totalCallAccepted += day.Calls.Count; } string report = $"Всего принято вызовов: {totalCallAccepted}"; Chat.AddMessage(report); Log(report); } }); Chat.AddMessage("PoliceHelper by FoxPro [Dima_Galkin] loaded sucessfully!", "f56342"); Chat.AddMessage("/ph - статус программы, /gs - текущая зона и город, /aac - принять последний вызов, /aacc [id] - принять вызов от id", "f56342"); Chat.AddMessage("/clearrob, /scput, /sceject, /shi, /scuff, /sfrisk, /smdc", "f56342"); Chat.AddMessage("/gs - текущее местоположение маркера на карте", "f56342"); Thread.Sleep(50); var days = GetAllDays(); if (days != null) { int totalCallAccepted = 0; foreach (var day in days) { if (day.date.Date == DateTime.Now.Date) { AmbulanceCalls = day.Calls; } totalCallAccepted += day.Calls.Count; } string report = $"Всего принято вызовов: {totalCallAccepted}"; Chat.AddMessage(report); Log(report); } }