Esempio n. 1
0
        public override void UpdateState(List <UnturnedPlayer> players)
        {
            for (int i = 0; i < players.Count; i++)
            {
                var player  = players[i];
                var id      = PlayerUtil.GetId(player);
                var veh     = player.Player.movement.getVehicle();
                var isInVeh = veh != null;

                if (!_lastVehicleStates.ContainsKey(id))
                {
                    _lastVehicleStates.Add(id, veh);
                }

                var wasDriving = _lastVehicleStates[id];

                if (!isInVeh || wasDriving ||
                    !GetValueSafe(Region.GetGroup(player)))
                {
                    continue;
                }
                sbyte index = -1;
                for (var i1 = 0; i1 < veh.passengers.Length; i1++)
                {
                    Passenger p = veh.passengers[i1];
                    index++;
                    if (p.player.playerID.steamID == PlayerUtil.GetCSteamId(player))
                    {
                        break;
                    }
                }

                veh.kickPlayer((byte)index);
            }
        }
Esempio n. 2
0
 public override void UpdateState(List <UnturnedPlayer> players)
 {
     foreach (var p in from p in players
              where PlayerUtil.GetCSteamId(p) != CSteamID.Nil
              let playerGroup = Region.GetGroup(p)
                                let equippedItem = p.Player.equipment.useable
                                                   where (equippedItem is UseableBarricade || equippedItem is UseableStructure) &&
                                                   GetValueSafe(playerGroup)
                                                   select p)
     {
         p.Player.equipment.dequip();
     }
 }