private async void doEmergencyCall(Command cmd, string emergencyNumber) { var message = string.Join(" ", cmd.Args); Log.ToClient($"To {emergencyNumber}", message, ConstantColours.Phone, cmd.Player); JobHandler.SendJobAlert(JobType.EMS | JobType.Police, $"{emergencyNumber} | {await cmd.Session.GetLocation()} | #{cmd.Source}", message, ConstantColours.Phone); Messages.SendProximityMessage(cmd.Session, "[On phone]", message, ConstantColours.Yellow, 25.0f, false); if (emergencyNumber == "911") { JobHandler.GetPlayersOnJob(JobType.EMS | JobType.Police).ForEach(o => { o.TriggerEvent("Blip.CreateEmergencyBlip", cmd.Source); o.TriggerEvent("Sound.PlaySoundFrontend", "Event_Start_Text", "GTAO_FM_Events_Soundset"); }); } CADAlerts.CurrentAlerts.Add(new CADAlertData { AlertType = emergencyNumber, AlertCaller = $"{cmd.Session.GetGlobalData("Character.FirstName", "")} {cmd.Session.GetGlobalData("Character.LastName", "")}", AlertLocation = await cmd.Session.GetLocation(), AlertMessage = message, }); }
private void OnTaxiMessage(Command cmd) { var message = string.Join(" ", cmd.Args); Log.ToClient("[To taxi]", message, ConstantColours.Yellow, cmd.Player); JobHandler.SendJobAlert(JobType.Taxi, $"[Taxi request #{cmd.Source}]", message, ConstantColours.Yellow); JobHandler.GetPlayersOnJob(JobType.Taxi).ForEach(o => { o.TriggerEvent("Blip.CreateJobBlip", $"Taxi call #{cmd.Source}", cmd.Source, 66); }); }
private async void OnPanicButton(Command cmd) { var playerLocation = await cmd.Session.GetLocation(); JobHandler.SendJobAlert(JobType.EMS | JobType.Police, "[Dispatch]", $"10-13 | EMERGENCY PANIC BUTTON | Issuer: {cmd.Session.GetCharacterName()} | {playerLocation}", ConstantColours.Dispatch); JobHandler.GetPlayersOnJob(JobType.EMS | JobType.Police).ForEach(async o => { o.TriggerEvent("Blip.CreateEmergencyBlip", cmd.Source); for (var i = 0; i < 3; i++) { o.TriggerEvent("Sound.PlaySoundFrontend", "TIMER_STOP", "HUD_MINI_GAME_SOUNDSET"); await BaseScript.Delay(650); } }); }
private void OnCallTow(Command cmd) { if (JobHandler.GetPlayersOnJob(JobType.Tow).Count > 0) { cmd.Session.TriggerEvent("Job.GetTowRequest"); /*JobHandler.GetPlayersOnJob(JobType.Tow).ForEach(o => * { * o.TriggerEvent("Blip.CreateJobBlip", $"Tow request #{cmd.Source}", cmd.Source, 66); * });*/ } else { Log.ToClient("[Tow]", $"There are no tow drivers on duty", ConstantColours.Job, cmd.Player); } }
private async void OnRecieveTow([FromSource] Player source, string message) { var playerSession = Sessions.GetPlayer(source); if (playerSession == null) { return; } var isPolice = JobHandler.OnDutyAs(playerSession, JobType.Police); var playerLocation = await playerSession.GetLocation(); Log.ToClient($"[To #{source.Handle}]", $"You requested tow for a {message} in {playerLocation}", ConstantColours.TalkMarker, source); JobHandler.GetPlayersOnJob(JobType.Tow).ForEach(o => { Log.ToClient($"[Tow request #{source.Handle}]", $"{(isPolice ? "Police" : "Somebody")} has requested tow for a {message} in {playerLocation}", ConstantColours.TalkMarker, o.Source); o.TriggerEvent("Blip.CreateJobBlip", $"Tow request #{source.Handle}", int.Parse(source.Handle), 66); }); }
public void OnSendCADAlert([FromSource] Player source, string alertType, string alertMessage, string alertLocation) { var playerSession = Server.Instance.Instances.Session.GetPlayer(source); if (playerSession == null) { return; } //if(JobHandler.OnDutyAs(playerSession, JobType.Police | JobType.EMS)) return; JobHandler.SendJobAlert(JobType.Police, "[Dispatch]", $"{alertType} | {alertMessage} | {alertLocation}", ConstantColours.Dispatch); JobHandler.GetPlayersOnJob(JobType.Police).ForEach(o => { o.TriggerEvent("Sound.PlaySoundFrontend", "Event_Message_Purple", "GTAO_FM_Events_Soundset"); }); CurrentAlerts.Add(new CADAlertData { AlertType = alertType, AlertMessage = alertMessage, AlertLocation = alertLocation, }); }
private void CheckAvailableTows(Command cmd) { Log.ToClient("[Tows]", $"There are currently {JobHandler.GetPlayersOnJob(JobType.Tow).Count} tow truck drivers on duty", ConstantColours.Job, cmd.Player); }
private void CheckAvailableTaxis(Command cmd) { Log.ToClient("[Taxis]", $"There are currently {JobHandler.GetPlayersOnJob(JobType.Taxi).Count} taxis on duty", ConstantColours.Yellow, cmd.Player); }