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,
            });
        }
Exemple #2
0
        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);
                }
            });
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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,
            });
        }
Exemple #7
0
 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);
 }
Exemple #8
0
 private void CheckAvailableTaxis(Command cmd)
 {
     Log.ToClient("[Taxis]", $"There are currently {JobHandler.GetPlayersOnJob(JobType.Taxi).Count} taxis on duty", ConstantColours.Yellow, cmd.Player);
 }