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