public virtual void End()
 {
     WriteChat(Gamemode.ToUpper(), "Game finished!", 255, 0, 0);
     Map.ClearObjects();
     ClientGlobals.SetSpectator(true);
     ClientGlobals.CurrentGame = null;
     Dispose();
 }
Ejemplo n.º 2
0
        private void OnClientResourceStart(string resourceName)
        {
            if (GetCurrentResourceName() != resourceName)
            {
                return;
            }

            SetNuiFocus(false, false);

            ClientGlobals.Init();

            RegisterCommand("icm", new Action <int, List <object>, string>((source, args, raw) => {
                if (LocalPlayer.Name == "Salty Pigeon")
                {
                    TriggerServerEvent("salty:netStartGame", "icm");
                }
            }), false);

            RegisterCommand("ttt", new Action <int, List <object>, string>((source, args, raw) => {
                if (LocalPlayer.Name == "Salty Pigeon")
                {
                    TriggerServerEvent("salty:netStartGame", "ttt");
                }
            }), false);

            RegisterCommand("mvb", new Action <int, List <object>, string>((source, args, raw) => {
                if (LocalPlayer.Name == "Salty Pigeon")
                {
                    TriggerServerEvent("salty:netStartGame", "mvb");
                }
            }), false);

            RegisterCommand("noclip", new Action <int, List <object>, string>((source, args, raw) => {
                if (LocalPlayer.Name == "Salty Pigeon")
                {
                    ClientGlobals.SetNoClip(!ClientGlobals.isNoclip);
                }
            }), false);

            RegisterCommand("maps", new Action <int, List <object>, string>((source, args, raw) => {
                if (LocalPlayer.Name == "Salty Pigeon")
                {
                    TriggerServerEvent("salty:netOpenMapGUI");
                }
            }), false);

            RegisterCommand("kill", new Action <int, List <object>, string>((source, args, raw) => {
                LocalPlayer.Character.Kill();
            }), false);

            RegisterCommand("vote", new Action <int, List <object>, string>((source, args, raw) => {
                if (LocalPlayer.Name == "Salty Pigeon")
                {
                    TriggerServerEvent("salty:netBeginGameVote");
                }
            }), false);
        }
Ejemplo n.º 3
0
 public void EndGame()
 {
     if (ClientGlobals.CurrentGame != null)
     {
         ClientGlobals.CurrentGame.End();
         ClientGlobals.CurrentGame = null;
         ClientGlobals.SetSpectator(true);
         ClientGlobals.SetNoClip(true);
     }
 }
 public virtual void Start(float gameTime)
 {
     SetMaxWantedLevel(0);
     LocalPlayer.Character.Health    = 100;
     LocalPlayer.Character.MaxHealth = 100;
     ClientGlobals.SetSpectator(false);
     WriteChat(Gamemode.ToUpper(), "Game started.", 255, 0, 0);
     RemoveAllPedWeapons(PlayerPedId(), true);
     GameTimerEnd = GetGameTimer() + gameTime;
     HUD.Start();
 }
Ejemplo n.º 5
0
 private async Task Tick()
 {
     if (ClientGlobals.CurrentGame != null)
     {
         ClientGlobals.CurrentGame.Update();
     }
     if (ClientGlobals.isNoclip)
     {
         ClientGlobals.NoClipUpdate();
     }
     if (MapMenu != null)
     {
         MapMenu.Draw();
     }
 }
Ejemplo n.º 6
0
 private void PlayerSpawn(ExpandoObject spawnInfo)
 {
     if (BaseGamemode.Team == -1)
     {
         ClientGlobals.SetNoClip(true);
     }
     else if (ClientGlobals.CurrentGame != null)
     {
         ClientGlobals.CurrentGame.PlayerSpawn();
     }
     else
     {
         ClientGlobals.SetSpectator(true);
         ClientGlobals.SetNoClip(true);
     }
 }
Ejemplo n.º 7
0
        public void EditMapMenu(Menu parent, ClientMap map)
        {
            Menu deleteMapMenu = AddSubMenu(parent, "Delete " + map.Name + "?");

            deleteMapMenu.AddMenuItem(new MenuItem("Yes", ""));
            deleteMapMenu.AddMenuItem(new MenuItem("No", ""));
            deleteMapMenu.OnItemSelect += (_menu, _item, _index) => {
                if (_item.Text == "Yes")
                {
                }
                if (_item.Text == "No")
                {
                    deleteMapMenu.CloseMenu();
                }
            };


            parent.AddMenuItem(new MenuItem("Show/Hide"));
            parent.AddMenuItem(new MenuItem("Teleport to"));
            parent.AddMenuItem(new MenuItem("Set Map Name"));
            parent.AddMenuItem(new MenuItem("Set Gamemodes"));


            parent.OnItemSelect += (_menu, _item, _index) => {
                if (_item.Text == "Show/Hide")
                {
                }
                if (_item.Text == "Teleport to")
                {
                }
                if (_item.Text == "Set Map Name")
                {
                    ClientGlobals.SendNUIMessage("enable", "mapName");
                }
                if (_item.Text == "Set Gamemodes")
                {
                    ClientGlobals.SendNUIMessage("enable", "mapGamemode");
                }
                if (_item.Text == "Save")
                {
                    ClientGlobals.SendMap(map);
                    parent.CloseMenu();
                    TriggerServerEvent("salty:netOpenMapGUI");
                }
            };



            Vector2 dimensions = new Vector2(100, 100);

            MenuSliderItem sliderOffset = new MenuSliderItem("Offset: 1", -25, 25, 1, false);
            MenuSliderItem sliderX      = new MenuSliderItem("Centre X: ", -999999, 999999, (int)dimensions.X, false);
            MenuSliderItem sliderY      = new MenuSliderItem("Centre Y: ", -999999, 999999, (int)dimensions.Y, false);
            MenuSliderItem sliderWidth  = new MenuSliderItem("Width: ", -9999, 9999, (int)dimensions.X, false);
            MenuSliderItem sliderLength = new MenuSliderItem("Length: ", -9999, 9999, (int)dimensions.Y, false);

            parent.AddMenuItem(sliderOffset);
            parent.AddMenuItem(sliderX);
            parent.AddMenuItem(sliderY);
            parent.AddMenuItem(sliderWidth);
            parent.AddMenuItem(sliderLength);

            MenuItem deleteMapItem = AddMenuItem(parent, deleteMapMenu, "Delete Map", "Delete entire map", "", true);



            parent.OnSliderPositionChange += (_menu, _sliderItem, _oldPosition, _newPosition, _itemIndex) => {
                if (_sliderItem == sliderOffset)
                {
                    _sliderItem.Text = "Offset: " + _newPosition;
                }
                if (_sliderItem == sliderX)
                {
                    map.Position.X  += (_newPosition - _oldPosition) * sliderOffset.Position;
                    _sliderItem.Text = "Centre X: " + map.Position.X;
                }
                if (_sliderItem == sliderY)
                {
                    map.Position.Y  += (_newPosition - _oldPosition) * sliderOffset.Position;
                    _sliderItem.Text = "Centre Y: " + map.Position.Y;
                }
                if (_sliderItem == sliderWidth)
                {
                    map.Size.X      += (_newPosition - _oldPosition) * sliderOffset.Position;
                    _sliderItem.Text = "Width: " + map.Size.X;
                }
                if (_sliderItem == sliderLength)
                {
                    map.Size.Y      += (_newPosition - _oldPosition) * sliderOffset.Position;
                    _sliderItem.Text = "Length: " + map.Size.Y;
                }
            };

            parent.OnMenuOpen += (_) => {
                ClientGlobals.LastSelectedMap = map;
                if (map.JustCreated)
                {
                    map.Position = LocalPlayer.Character.Position;
                    map.Size     = new Vector3(0, 0, 0);
                    map.Name     = "unnamed" + Game.GameTime;
                }
                sliderX.Text      = "Centre X: " + map.Position.X;
                sliderY.Text      = "Centre Y: " + map.Position.Y;
                sliderWidth.Text  = "Width: " + map.Size.X;
                sliderLength.Text = "Length: " + map.Size.Y;
            };

            parent.OnMenuClose += (_) => {
            };



            Menu playerSpawnMenu = AddSubMenu(parent, "Edit " + map.Name + " player spawns");

            playerSpawnMenu.AddMenuItem(new MenuItem("Save"));
            MenuItem playerSpawnItem = AddMenuItem(parent, playerSpawnMenu, "Player Spawns", "Modify player spawn points", "", true);



            Menu addSpawnMenu = EditSpawnMenu(playerSpawnMenu, map, new Spawn(-3, LocalPlayer.Character.Position, 0, "player", 0));


            foreach (var spawn in map.Spawns)
            {
                Menu editSpawnMenu = EditSpawnMenu(playerSpawnMenu, map, spawn);
            }

            playerSpawnMenu.OnItemSelect += (_menu, _item, _index) => {
                if (_item.Text == "Save")
                {
                    ClientGlobals.SendMap(map);
                    playerSpawnMenu.CloseMenu();
                    TriggerServerEvent("salty:netOpenMapGUI");
                }
            };

            parent.AddMenuItem(new MenuItem("Save", "Saves new position and size"));
        }