using System; using System.Collections.Generic; using System.Text; using GTANetworkAPI; using Newtonsoft.Json; using reallife_gamemode.Server.Extensions; using reallife_gamemode.Server.Managers; using reallife_gamemode.Server.Saves; using reallife_gamemode.Server.Services; using reallife_gamemode.Server.Util; /** * @overview Life of German Reallife - Event Key (Key.cs) * @author VegaZ * @copyright (c) 2008 - 2018 Life of German */ namespace reallife_gamemode.Server.Events { public class Key : Script { [RemoteEvent("keyPress:NUM2")] public void KeyPressNUM2(Client player) { if(player.GetData("editmode") == true && player.GetUser().IsAdmin(AdminLevel.HEADADMIN) == true) { TempBlip tempBlip = NAPI.Data.GetWorldData("blipTemplate"); SaveManager.OnSaveBlipData(player, tempBlip.Sprite.ToString(), tempBlip.Name, tempBlip.Scale.ToString(), tempBlip.Color.ToString(), tempBlip.Transparency.ToString(), 200.ToString(), tempBlip.ShortRange.ToString(), 0.ToString(), 0.ToString()); player.SendNotification("~y~Blip~s~ erstellt!", false); } } [RemoteEvent("keyPress:E")] public void KeyPressE(Client player) { var user = player.GetUser(); if (user?.FactionId != null) { DutyPoint nearest = PositionManager.DutyPoints.Find(d => d.Position.DistanceTo(player.Position) <= 1.5); if (nearest == null) return; if (player.Position.DistanceTo(nearest.Position) <= 1.5 && nearest.FactionId == user.FactionId) { var nameTagColor = new Color(0, 0, 0); var factionId = user.FactionId; if (player.GetData("duty") == false) { player.SetData("duty", true); player.SendNotification("Du bist nun ~g~im Dienst."); if (player.GetUser().FactionId == 2) //Fire Department { NAPI.ClientEvent.TriggerClientEventForAll("updateDutyMedics", true); } switch (factionId) { //LSPD case 1: nameTagColor = new Color(28, 134, 238); break; } player.NametagColor = nameTagColor; } else { player.SetData("duty", false); player.SendNotification("Du bist nun ~r~außer Dienst."); NAPI.ClientEvent.TriggerClientEventForAll("updateDutyMedics", false); player.NametagColor = new Color(255, 255, 255); } } } } [RemoteEvent("keyPress:I")] public void KeyPressI(Client player) { List players = NAPI.Pools.GetAllPlayers(); List ListPlayers = new List(); foreach(Client listPlayer in players) { var lPlayer = new ListPlayer(); lPlayer.Id = listPlayer.Handle.Value; lPlayer.Name = listPlayer.Name; lPlayer.Ping = listPlayer.Ping; ListPlayers.Add(lPlayer); } player.TriggerEvent("fetchPlayerList", JsonConvert.SerializeObject(ListPlayers)); } [RemoteEvent("keyPress:K")] public void KeyPressK(Client player) { var user = player.GetUser(); if (user?.FactionId != null) { DutyPoint nearest = PositionManager.DutyPoints.Find(d => d.Position.DistanceTo(player.Position) <= 1.5); if (nearest == null) return; if (player.Position.DistanceTo(nearest.Position) <= 1.5 && nearest.FactionId == user.FactionId) { string[] hats; string[] tops; string[] legs; string[] shoes; if(user.GetCharacter().Gender == false) //Wenn männlich { hats = new string[] { "Keinen", "5", "12", "39", "46", "123", "124", "125"}; tops = new string[] { "55", "26"}; legs = new string[] { "24", "28" }; shoes = new string[] { "24", "25"}; } else { hats = new string[] { "Keinen", "12", "38", "45", "122", "123", "124" }; tops = new string[] { "48", "43" }; legs = new string[] { "34", "37", "102" }; shoes = new string[] { "24", "25" }; } player.TriggerEvent("showDutyClothMenu", hats, tops, legs, shoes); } } } [RemoteEvent("keyPress:L")] public void KeyPressL(Client player) { DoorManager.ChangeDoorState(player); } [RemoteEvent("keyPress:N")] public void KeyPressN(Client player) { if (player.IsInVehicle && player.VehicleSeat == -1) { player.Vehicle.EngineStatus = !player.Vehicle.EngineStatus; } } [RemoteEvent("keyPress:X")] public void KeyPressX(Client player) { if (player.IsInVehicle) { player.Seatbelt = !player.Seatbelt; } } } }