using System.Collections.Generic; using System.Linq; using GTANetworkAPI; using ReallifeGamemode.Server.Shop.Clothing; using ReallifeGamemode.Server.Shop.SevenEleven; namespace ReallifeGamemode.Server.Managers { public class PositionManager : Script { public static List DutyPoints = new List(); public static List WeaponPoints = new List(); public static List JailReleasePoints = new List(); public static List ElevatorPoints = new List(); public static List clotheshopPoints = new List(); public static List itemshopPoints = new List(); public static List JobPoints = new List(); [ServerEvent(Event.ResourceStart)] public void OnResourceStart() { #region DutyPoints DutyPoint dutyPointLSPD = new DutyPoint() { Position = new Vector3(458.24, -990.86, 30.68), FactionId = 1 }; DutyPoint dutyPointFIB = new DutyPoint() { Position = new Vector3(109.5706, -745.2126, 242.1521), FactionId = 3 }; DutyPoint dutyPointLSED = new DutyPoint() { Position = new Vector3(1152.181, -1527.95, 34.8434), FactionId = 2 }; DutyPoints.Add(dutyPointLSPD); DutyPoints.Add(dutyPointFIB); DutyPoints.Add(dutyPointLSED); foreach (DutyPoint d in DutyPoints) { NAPI.Marker.CreateMarker(1, new Vector3(d.Position.X, d.Position.Y, d.Position.Z - 2), new Vector3(d.Position.X, d.Position.Y, d.Position.Z + 1), new Vector3(0, 0, 0), 3, new Color(255, 255, 255, 50), false, 0); NAPI.TextLabel.CreateTextLabel("Stempeluhr - Dr\u00fccke ~y~E\n~s~Dienstkleidung - Dr\u00fccke ~y~K", d.Position, 7, 1, 0, new Color(255, 255, 255), false, 0); } #endregion DutyPoints #region WeaponPoints WeaponPoint weaponPointLSPD = new WeaponPoint() { Position = new Vector3(460.3162, -981.0168, 30.68959), FactionId = 1 }; WeaponPoint weaponPointFIB = new WeaponPoint() { //Position = new Vector3(119.6835, -729.3273, 242.1519), old Position = new Vector3(143.5561, -762.7424, 242.152), FactionId = 3 }; WeaponPoint weaponPointBallas = new WeaponPoint() { Position = new Vector3(1217.748, -1639.349, 47.77029), FactionId = 8 }; WeaponPoint weaponPointGrove = new WeaponPoint() { Position = new Vector3(129.8998, -1938.709, 20.61865), FactionId = 7 }; WeaponPoints.Add(weaponPointLSPD); WeaponPoints.Add(weaponPointFIB); WeaponPoints.Add(weaponPointBallas); WeaponPoints.Add(weaponPointGrove); foreach (WeaponPoint w in WeaponPoints) { NAPI.Marker.CreateMarker(1, new Vector3(w.Position.X, w.Position.Y, w.Position.Z - 2), new Vector3(w.Position.X, w.Position.Y, w.Position.Z + 1), new Vector3(0, 0, 0), 2, new Color(255, 255, 255, 50), false, 0); NAPI.TextLabel.CreateTextLabel("Waffenspind - Dr\u00fccke ~y~E", w.Position, 7, 1, 0, new Color(255, 255, 255), false, 0); } #endregion WeaponPoints #region JailReleasePoints JailReleasePoint jailPointLSPD = new JailReleasePoint() { Position = new Vector3(459.5327, -988.8435, 24.91487) }; JailReleasePoint jailPointFIB = new JailReleasePoint() { Position = new Vector3(119.6362, -727.6199, 242.152) }; JailReleasePoints.Add(jailPointLSPD); JailReleasePoints.Add(jailPointFIB); foreach (JailReleasePoint j in JailReleasePoints) { NAPI.Marker.CreateMarker(1, new Vector3(j.Position.X, j.Position.Y, j.Position.Z - 2), new Vector3(j.Position.X, j.Position.Y, j.Position.Z + 1), new Vector3(0, 0, 0), 1.5f, new Color(255, 255, 255, 50), false, 0); NAPI.TextLabel.CreateTextLabel("Gefängnis PC - Dr\u00fccke ~y~E", j.Position, 7, 1, 0, new Color(255, 255, 255), false, 0); } #endregion JailReleasePoints #region ElevatorPoints ElevatorPoint FibElevatorPointEG = new ElevatorPoint() { Position = new Vector3(136.1958, -761.657, 242.152), //FBI oben FactionId = 3, Stage = "Büro" }; ElevatorPoint FibElevatorPointIntern = new ElevatorPoint() { Position = new Vector3(136.1958, -761.7176, 45.75203), //FBI unten FactionId = 3, Stage = "EG" }; ElevatorPoint FibElevatorPointGarage = new ElevatorPoint() { Position = new Vector3(124.2521, -741.3329, 33.13322), //FBI ganz ganz unten FactionId = 3, Stage = "Garage" }; ElevatorPoints.Add(FibElevatorPointEG); ElevatorPoints.Add(FibElevatorPointIntern); ElevatorPoints.Add(FibElevatorPointGarage); foreach (ElevatorPoint j in ElevatorPoints) { NAPI.Marker.CreateMarker(1, new Vector3(j.Position.X, j.Position.Y, j.Position.Z - 2), new Vector3(j.Position.X, j.Position.Y, j.Position.Z + 1), new Vector3(0, 0, 0), 1.5f, new Color(255, 255, 255, 50), false, 0); NAPI.TextLabel.CreateTextLabel("Aufzug - Dr\u00fccke ~y~E", j.Position, 7, 1, 0, new Color(255, 255, 255), false, 0); } #endregion ElevatorPoints #region JobPoints JobPoint jobPointRefuseCollector = new JobPoint() { Position = new Vector3(-429.237, -1727.9839, 19.73836), jobId = 2, Skill = 0 }; JobPoint jobPointPilot = new JobPoint() { Position = new Vector3(1707.2711181640625, 3276.216064453125, 41.155494689941406), jobId = 3, Skill = 0 }; JobPoint jobPointPilot2 = new JobPoint() { Position = new Vector3(-1622.48, -3151.58, 13), jobId = 3, Skill = 300 }; JobPoint jobPointBusDriver = new JobPoint() { Position = new Vector3(-535.46, -2144.97, 5.95), jobId = 4, Skill = 0 }; JobPoints.Add(jobPointRefuseCollector); JobPoints.Add(jobPointPilot); JobPoints.Add(jobPointPilot2); JobPoints.Add(jobPointBusDriver); foreach (JobPoint p in JobPoints) { NAPI.Marker.CreateMarker(1, new Vector3(p.Position.X, p.Position.Y, p.Position.Z - 2), new Vector3(p.Position.X, p.Position.Y, p.Position.Z + 1), new Vector3(0, 0, 0), 1.5f, new Color(255, 255, 255, 50), false, 0); if (p.jobId == 2) { NAPI.TextLabel.CreateTextLabel("M\u00fcllmann - Dr\u00fccke ~y~E~s~ um Job zu starten/beenden", p.Position, 15, 1, 0, new Color(255, 255, 255), false, 0); NAPI.Blip.CreateBlip(318, p.Position, 1f, 16, "Müllmann", 255, 0, true); } if (p.jobId == 3) { if (p.Skill < 2) { NAPI.TextLabel.CreateTextLabel("Pilot Anf\u00E4nger - Dr\u00fccke ~y~E~s~ um Job zu starten/beenden", p.Position, 15, 1, 0, new Color(255, 255, 255), false, 0); NAPI.Blip.CreateBlip(251, p.Position, 1f, 16, "Pilot Anfänger", 255, 0, true); } if (p.Skill >= 2) { NAPI.TextLabel.CreateTextLabel("Pilot Fortgeschritten - Dr\u00fccke ~y~E~s~ um Job zu starten/beenden", p.Position, 15, 1, 0, new Color(255, 255, 255), false, 0); NAPI.Blip.CreateBlip(251, p.Position, 1f, 16, "Pilot Fortgeschritten", 255, 0, true); } } if (p.jobId == 4) { NAPI.TextLabel.CreateTextLabel("Busfahrer - Dr\u00fccke ~y~E~s~ um Job zu starten/beenden", p.Position, 15, 1, 0, new Color(255, 255, 255), false, 0); NAPI.Blip.CreateBlip(513, p.Position, 1f, 16, "Busfahrer", 255, 0, true); } } #endregion JobPoints #region Shops foreach (var shop in ShopManager.clotheStores) { shop.LoadClothes(); ClotheshopPoint shopPoint = new ClotheshopPoint() { Position = shop.vector, clotheShop = shop }; clotheshopPoints.Add(shopPoint); } foreach (ClotheshopPoint s in clotheshopPoints) { NAPI.Marker.CreateMarker(1, new Vector3(s.Position.X, s.Position.Y, s.Position.Z - 2), new Vector3(s.Position.X, s.Position.Y, s.Position.Z + 1), new Vector3(0, 0, 0), 2, new Color(255, 255, 255, 50), false, 0); NAPI.TextLabel.CreateTextLabel("Kleiderladen - Dr\u00fccke ~y~E", s.Position, 7, 1, 0, new Color(255, 255, 255), false, 0); } foreach (var shop in ShopManager.itemShops) { shop.LoadItems(); ItemshopPoint shopPoint = new ItemshopPoint() { Position = shop.vector3, itemShop = shop }; itemshopPoints.Add(shopPoint); } foreach (ItemshopPoint s in itemshopPoints) { NAPI.Marker.CreateMarker(1, new Vector3(s.Position.X, s.Position.Y, s.Position.Z - 2), new Vector3(s.Position.X, s.Position.Y, s.Position.Z + 1), new Vector3(0, 0, 0), 2, new Color(255, 255, 255, 50), false, 0); NAPI.TextLabel.CreateTextLabel("24/7 - Dr\u00fccke ~y~E", s.Position, 7, 1, 0, new Color(255, 255, 255), false, 0); } #endregion Shops } [RemoteEvent("sendClientToStage")] public void ElevatorSendToStage(Player player, string level) { player.Position = ElevatorPoints.Where(e => e.Stage == level).First().Position; } } } public class DutyPoint { public Vector3 Position { get; set; } public int FactionId { get; set; } } public class WeaponPoint { public Vector3 Position { get; set; } public int FactionId { get; set; } } public class JailReleasePoint { public Vector3 Position { get; set; } } public class ClotheshopPoint { public Vector3 Position { get; set; } public ClotheShop clotheShop { get; set; } } public class ItemshopPoint { public Vector3 Position { get; set; } public ItemShop itemShop { get; set; } } public class JobPoint { public Vector3 Position { get; set; } public int jobId { get; set; } public int Skill { get; set; } } public class ElevatorPoint { public Vector3 Position { get; set; } public int FactionId { get; set; } public string Stage { get; set; } }