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); } } } }
/// <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); }