private void AddSecureZoneMenu() { UIMenu submenu = menuPool.AddSubMenu(mainMenu, "Secure Zones"); submenu.MouseControlsEnabled = false; List <dynamic> radiusList = new List <dynamic>() { 5, 10, 15, 20, 25, 30, 40, 50, 75, 100 }; UIMenuListItem radius = new UIMenuListItem("Radius", radiusList, 0); submenu.AddItem(radius); UIMenuItem create = new UIMenuItem("~b~Create"); submenu.AddItem(create); UIMenuItem remove = new UIMenuItem("~r~Remove Closest"); submenu.AddItem(remove); submenu.OnItemSelect += (sender, item, index) => { if (item == create) { SecureZone.Create(radiusList[radius.Index]); } else if (item == remove) { Vector3 myPos = GetEntityCoords(PlayerPedId(), true); SecureZone closest = null; float closestDistance = 100f; foreach (SecureZone zone in SecureZone.List) { float distance = Vector3.Distance(myPos, zone.Position); if (distance < closestDistance) { closest = zone; closestDistance = distance; } } if (closest != null) { BaseScript.TriggerServerEvent("TrafficManager:RemoveSecureZone", closest.Id); } } }; }
private void OnCreateSecureZone([FromSource] Player player, byte[] data) { if (!IsConfigurationEnabled("use_secure_zones")) { return; } if (!IsPlayerAllowed(player)) { return; } SecureZone.Create(data); }