Esempio n. 1
0
        private async Task GeneralSetup()
        {
            Gfx.DrawStatBar("TIME", "00:00", 0);
            var i = 1;

            foreach (Player p in new PlayerList())
            {
                if (IsEntityVisible(GetPlayerPed(p.Handle)))
                {
                    Gfx.DrawStatBar($"~HUD_COLOUR_NET_PLAYER{p.Handle + 1}~{p.Name}", "(player)", i);
                    i++;
                }
            }

            //ClearPedTasksImmediately(PlayerPedId());
            //SetEntityHealth(PlayerPedId(), 300);
            RemoveAllPedWeapons(PlayerPedId(), true);
            ClearPlayerWantedLevel(PlayerId());
            SetParkedVehicleDensityMultiplierThisFrame(0f);
            SetPedDensityMultiplierThisFrame(0f);
            SetRandomVehicleDensityMultiplierThisFrame(0f);
            SetScenarioPedDensityMultiplierThisFrame(0f, 0f);
            SetSomeVehicleDensityMultiplierThisFrame(0f);
            SetVehicleDensityMultiplierThisFrame(0f);
        }
Esempio n. 2
0
        private async Task OnTick()
        {
            if (firstTick)
            {
                //Exports["spawnmanager"].setAutoSpawn(false);
                firstTick = false;
                FirstJoin();
            }

            if (IsEntityDead(PlayerPedId()) && currentPhase == GamePhase.STARTED)
            {
                Gfx.ShowShard(Gfx.MessageType.KNOCKED_OUT, "~r~KNOCKED OUT", "", 0, 0, 3000);
                DoScreenFadeOut(3000);
                await Delay(3000);

                currentPhase = GamePhase.DEAD;
                SpawnPlayer();
                await Delay(2000);

                DoScreenFadeIn(3000);
            }
            else
            {
                if (IsEntityInWater(PlayerPedId()) || IsEntityInWater(GetVehiclePedIsIn(PlayerPedId(), false)))
                {
                    NetworkExplodeVehicle(GetVehiclePedIsIn(PlayerPedId(), false), true, false, false);
                    SetEntityHealth(PlayerPedId(), 0);
                    TriggerServerEvent("Sumo:ImOut");
                }
            }
            if (Gfx.LimboActive && !IsPauseMenuActive() && !IsPauseMenuRestarting())
            {
                //DisableAllControlActions(0);
                //Game.DisableAllControlsThisFrame(0);
                //Game.EnableControlThisFrame(0, Control.MpTextChatAll);
                //Game.EnableControlThisFrame(0, Control.FrontendPause);
                //Game.EnableControlThisFrame(0, Control.FrontendPauseAlternate);
            }
            if (currentPhase == GamePhase.RESET)
            {
                SpawnPlayer(true);
                while (currentPhase == GamePhase.RESET && !IsPedInAnyVehicle(PlayerPedId(), false))
                {
                    await Delay(0);
                }
            }
            //else
            //{
            //    Game.EnableAllControlsThisFrame(0);
            //    if (Game.IsDisabledControlJustPressed(0, Control.FrontendPause) ||
            //        Game.IsDisabledControlJustPressed(0, Control.FrontendPauseAlternate) ||
            //        Game.IsControlJustPressed(0, Control.FrontendPause) ||
            //        Game.IsControlJustPressed(0, Control.FrontendPauseAlternate))
            //    {
            //        SetPauseMenuActive(true);
            //    }
            //}
        }
Esempio n. 3
0
        public static async Task TransitionToCoords(Vector4 targetPosition, uint vehicleModel = 0)
        {
            RequestCollisionAtCoord(targetPosition.X, targetPosition.Y, targetPosition.Z);
            var tempPedHash = (uint)GetHashKey("S_M_Y_Clown_01"); // Thanks, you're a genius Mraes!

            RequestModel(tempPedHash);
            while (!HasModelLoaded(tempPedHash))
            {
                await Delay(0);
            }
            var tempPed = CreatePed(4, tempPedHash, targetPosition.X, targetPosition.Y, targetPosition.Z, targetPosition.W, false, false);

            SetEntityVisible(tempPed, false, false);
            // Teleport into a new vehicle.
            if (vehicleModel != 0)
            {
                if (IsModelInCdimage(vehicleModel))
                {
                    RequestModel(vehicleModel);
                    while (!HasModelLoaded(vehicleModel))
                    {
                        await Delay(0);
                    }
                }
            }
            //StartPlayerSwitch(PlayerPedId(), tempPed, 0, 1);
            StartPlayerSwitch(PlayerPedId(), tempPed, 0, 0);
            await Delay(10);

            DeleteEntity(ref tempPed);
            SetModelAsNoLongerNeeded(tempPedHash);
            var veh = 0;

            if (vehicleModel != 0)
            {
                veh = CreateVehicle(vehicleModel, targetPosition.X, targetPosition.Y, targetPosition.Z, targetPosition.W, true, false);
                SetVehicleHasBeenOwnedByPlayer(veh, true);
                SetModelAsNoLongerNeeded(vehicleModel);
                SetVehicleNeedsToBeHotwired(veh, false);
                var r = 0;
                var g = 0;
                var b = 0;
                var a = 0;
                GetHudColour((PlayerId() < 32 ? PlayerId() : PlayerId() % 30) + 28, ref r, ref g, ref b, ref a);
                SetVehicleCustomPrimaryColour(veh, r, g, b);
                SetVehicleCustomSecondaryColour(veh, r, g, b);
            }
            if (Gfx.LimboActive)
            {
                Gfx.ToggleLimbo();
            }
            while (GetPlayerSwitchState() != 10 && GetPlayerSwitchState() != 8)
            {
                DisplayRadar(false);
                await Delay(0);
            }
            SetEntityCoords(PlayerPedId(), targetPosition.X, targetPosition.Y, targetPosition.Z, false, false, false, false);
            SetEntityHeading(PlayerPedId(), targetPosition.W);

            if (vehicleModel != 0 && DoesEntityExist(veh) && IsEntityAVehicle(veh) && !IsEntityDead(veh))
            {
                SetPedIntoVehicle(PlayerPedId(), veh, -1);
            }

            SetGameplayCamRelativeHeading(0f);

            ClearAreaOfEverything(targetPosition.X, targetPosition.Y, targetPosition.Z, 500f, false, false, false, false);
            while (IsPlayerSwitchInProgress())
            {
                DisplayRadar(false);
                Game.DisableAllControlsThisFrame(0);
                await Delay(0);
            }

            Game.EnableAllControlsThisFrame(0);
            DisplayRadar(IsRadarPreferenceSwitchedOn());
            DisplayHud(IsHudPreferenceSwitchedOn());

            var blip = GetMainPlayerBlipId();

            SetBlipAsFriendly(blip, false);
            SetBlipColour(blip, 6 + PlayerId());
            SetBlipHighDetail(blip, true);
            SetBlipFriend(blip, false);
            SetBlipBright(blip, true);
            PulseBlip(blip);
            ShowHeadingIndicatorOnBlip(blip, false);
            Debug.Write(DoesBlipExist(blip) + "\n");

            SumoClient.currentPhase = SumoClient.GamePhase.WAITING;
        }
Esempio n. 4
0
        private async void SpawnPlayer(bool inVehicle = false)
        {
            if (IsPedInAnyVehicle(PlayerPedId(), false))
            {
                var veh = GetVehiclePedIsIn(PlayerPedId(), true);
                SetEntityAsMissionEntity(veh, true, true);
                DeleteVehicle(ref veh);
                var pos = Game.PlayerPed.Position;
                ClearAreaOfEverything(pos.X, pos.Y, pos.Z, 500f, false, false, false, false);
            }
            //await Delay(500);
            //dynamic spawns = new Spawns().GetSpawns();
            //var spawnPoint = spawns[PlayerId()];

            uint model = (uint)GetHashKey("csb_mweather");

            RequestModel(model);
            if (IsModelInCdimage(model))
            {
                while (!HasModelLoaded(model))
                {
                    await Delay(0);
                }
                SetPlayerModel(PlayerId(), model);
                SetModelAsNoLongerNeeded(model);
                SetPedDefaultComponentVariation(PlayerPedId());
            }

            //if (spawns.Count() > PlayerId())
            //{
            //    var spawn = spawns[PlayerId()];
            //    Vector3 spawnCoords = new Vector3(float.Parse(spawn["x"].ToString()), float.Parse(spawn["y"].ToString()), float.Parse(spawn["z"].ToString()));
            //    float spawnHeading = float.Parse(spawn["heading"].ToString());

            //    NetworkResurrectLocalPlayer(0f, 0f, 0f, 0f, false, false);
            //}
            //else
            //{
            //}


            //NetworkResurrectLocalPlayer(spawnCoords.X, spawnCoords.Y, spawnCoords.Z, spawnHeading, false, false);

            //Newtonsoft.Json.Linq.JArray spawns = JsonConvert.DeserializeObject(Exports["spawnmanager"].getSpawns());
            //if (spawns.Count() > 0)
            //{
            //    Debug.Write($"{spawns.ToString()}\n");
            //    var spawn = spawns[0];
            //    Vector3 spawnCoords = new Vector3(float.Parse(spawn["x"].ToString()), float.Parse(spawn["y"].ToString()), float.Parse(spawn["z"].ToString()));
            //    float spawnHeading = float.Parse(spawn["heading"].ToString());
            //    NetworkResurrectLocalPlayer(spawnCoords.X, spawnCoords.Y, spawnCoords.Z, spawnHeading, false, false);
            //}
            //else
            //{
            //    Exports["spawnmanager"].spawnPlayer(1);
            //    //NetworkResurrectLocalPlayer(0f, 0f, 0f, 0f, false, false);
            //}
            //SetEntityHealth(PlayerPedId(), 0);

            SetEntityHealth(PlayerPedId(), 200);
            SetEntityCoordsNoOffset(PlayerPedId(), 0f, 0f, 500f, false, false, false);
            //ResurrectPed(PlayerPedId());
            NetworkResurrectLocalPlayer(0f, 0f, 500f, 0f, true, false);
            ClearPedTasksImmediately(PlayerPedId());
            SetEntityHealth(PlayerPedId(), 300);
            RemoveAllPedWeapons(PlayerPedId(), true);
            ClearPlayerWantedLevel(PlayerId());
            SetEntityCoordsNoOffset(PlayerPedId(), 0f, 0f, 500f, false, false, false);
            //SetEntityHealth(PlayerPedId(), 200);
            FreezeEntityPosition(PlayerPedId(), true);
            ShutdownLoadingScreen();
            SetEntityVisible(PlayerPedId(), false, false);
            //if (currentPhase == GamePhase.WAITING || currentPhase == GamePhase.RESET)
            if (inVehicle)
            {
                Gfx.ToggleLimbo();
            }
            await Delay(1000);

            DoScreenFadeIn(1000);
            EnableAllControlActions(0);
        }