示例#1
0
        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);
                    }
                }
            };
        }
示例#2
0
        private void OnCreateSecureZone([FromSource] Player player, byte[] data)
        {
            if (!IsConfigurationEnabled("use_secure_zones"))
            {
                return;
            }

            if (!IsPlayerAllowed(player))
            {
                return;
            }

            SecureZone.Create(data);
        }