public void OnDutyChangeState(Session.Session playerSession) { // draw marker if on duty remove if not if (JobHandler.OnDutyAs(playerSession, JobType.EMS | JobType.Police)) { resupplyLocations.ForEach(o => { playerSession.TriggerEvent("Markers.AddMarker", o.ToArray()); }); } }
public void RefreshLoadout(Session.Session playerSession) { if (JobHandler.OnDutyAs(playerSession, JobType.EMS | JobType.Police)) { var dutyLoadout = DutyLoadouts[$"{JobHandler.GetPlayerJob(playerSession)}Regular"]; playerSession.TriggerEvent("Weapons.RemoveAllWeapons"); foreach (var weapon in dutyLoadout.LoadoutWeapons) { playerSession.TriggerEvent("Weapons.GiveWeapon", weapon, weapon == "PetrolCan" ? 4500 : 500); } playerSession.TriggerEvent("Player.OnDutyStatusChange", true); } else { playerSession.TriggerEvent("Skin.RefreshSkin"); playerSession.TriggerEvent("Weapons.LoadWeapons"); } }
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); }); }
private void OnInteraction([FromSource] Player source) { var playerSession = Sessions.GetPlayer(source); if (playerSession == null) { return; } if (JobHandler.OnDutyAs(playerSession, JobType.EMS | JobType.Police)) { var playerPos = playerSession.GetPlayerPosition(); resupplyLocations.ForEach(o => { if (playerPos.DistanceToSquared(o) < 6.0f) { Server.Get <SharedEmergencyItems>().RefreshLoadout(playerSession); Log.ToClient("[Job]", "Restocked loadout", ConstantColours.Job, playerSession.Source); } }); } }
private void OnSeizeVehicleItems([FromSource] Player source, int vehId, string itemsString) { var playerSession = Sessions.GetPlayer(source); var targetVeh = Server.Get <VehicleManager>().GetVehicle(vehId); if (playerSession == null || targetVeh == null || !JobHandler.OnDutyAs(playerSession, JobType.Police)) { return; } if (!string.IsNullOrEmpty(itemsString)) { OnSeizeSpecificVehicleItems(playerSession, targetVeh, itemsString); return; } Log.Verbose($"{source.Name} is removing the illegal items from vehicle #{targetVeh.VehID}"); targetVeh.Inventory.RemoveIllegalItems(); playerSession.Message("[Police]", "You seized the illegal items in this vehicle", ConstantColours.Police); }