Example #1
0
        public void InsideInterior(int interior, int hash, Vector3 pos)
        {
            PlayerGenerics.DisableInteriorControlsThisFrame();

            Function.Call(Hash.SET_RADAR_AS_INTERIOR_THIS_FRAME, hash, pos.X, pos.Y, pos.Z, 0);
            Function.Call(Hash._SET_PLAYER_BLIP_POSITION_THIS_FRAME, pos.X, pos.Y);

            Player me = Game.Player;

            foreach (Player player in Players)
            {
                if (me == player)
                {
                    continue;
                }

                PlayerGenerics.SetFlag(player, PlayerFlag.HeadDisplayHidden | PlayerFlag.BlipHidden, true);

                // Player is in interior
                if (PlayerInterior.IsIn(player, interior))
                {
                    // Player is guest in current player's interior
                    if (PlayerInterior.GetInteriorOwner(player) == Game.Player.Handle)
                    {
                        PlayerGenerics.Show(player);
                    }
                    else
                    {
                        PlayerGenerics.Hide(player);
                    }
                }
            }
        }
Example #2
0
        /// <summary>
        /// Returns list of players who are inside given interior and are owners of this interior
        /// </summary>
        /// <param name="interiorId"></param>
        /// <returns></returns>
        protected List <Player> GetOwnersInsideInterior(int interiorId)
        {
            var list = new List <Player>();

            foreach (Player player in Players)
            {
                if (PlayerInterior.IsIn(player, interiorId) && PlayerInterior.IsOwner(player))
                {
                    list.Add(player);
                }
            }

            return(list);
        }
Example #3
0
        public void OutsideInterior()
        {
            Function.Call(Hash.SET_RADAR_AS_EXTERIOR_THIS_FRAME);
            Function.Call(Hash.UNLOCK_MINIMAP_POSITION);

            foreach (Player player in Players)
            {
                if (Game.Player == player)
                {
                    continue;
                }

                if (!PlayerInterior.IsInAny(player))
                {
                    PlayerGenerics.SetFlag(player, PlayerFlag.HeadDisplayHidden | PlayerFlag.BlipHidden, false);
                    PlayerGenerics.Show(player);
                }
            }
        }
Example #4
0
        protected void BeginTransitionInside(Player owner = null)
        {
            State = PlayerApartmentState.TransitionInside;

            Game.Player.CanControlCharacter = false;
            Game.PlayerPed.IsInvincible     = true;
            Game.PlayerPed.Weapons.Select(PlayerGenerics.Unarmed);

            PlayerGenerics.SetFlag(Game.Player, PlayerFlag.Hidden, true);
            PlayerGenerics.SetFlag(Game.Player, PlayerFlag.BlipHidden, true);

            PlayerInterior.SetInteriorId(Game.Player, CurrentApartment.InteriorId);
            if (owner == null)
            {
                PlayerInterior.SetInterOwnerToMyself(Game.Player);
            }
            else
            {
                PlayerInterior.SetInteriorOwner(Game.Player, owner);
            }
        }
Example #5
0
        protected async Task TransitionInside()
        {
            Screen.Fading.FadeOut(200);
            while (!Screen.Fading.IsFadedOut)
            {
                await Delay(1);
            }

            await TeleportPlayerTo(CurrentApartment.EntranceInside, 1f);

            await PlayerInterior.Load(CurrentApartment.InteriorId);

            Screen.Fading.FadeIn(200);
            while (!Screen.Fading.IsFadedIn)
            {
                await Delay(1);
            }

            Game.Player.CanControlCharacter = true;

            State = PlayerApartmentState.Inside;
        }