Richtig,
Pane ist keine Klasse, sondern
Plane.
In dieser Zeile:
_planeCrew = ["USMC_Soldier_Officer", USMC_Soldier_Pilot]; fehlen bei der 2. Klasse die Anführungszeichen.
Weiters würde ich es anstelle von
if (typeof player != _planeCrew) then {...
mit
if (typeOf player countType _planeCrew > 0) then {... versuchen, wie bereits erwähnt.
Damit die Init.sqf nicht blockiert wird, als Unterprogramm mit Spawn anlegen. Insgesamt so:
Code:
//Verhindert unbefugte Spieler als Driver in steuerbaren Objekten
// Parameter:
// 1. Klasse der verbotenen Objekte
// 2. Array mit Klassen der befugten Driver
//
//Die while-Schleife wird nur für Unbefugte aktiviert
["Plane", ["USMC_Soldier_Officer", "USMC_Soldier_Pilot"]] spawn
{
private ["_vehicleType","_planeCrew","_f"];
_vehicleType = _this select 0;
_planeCrew = _this select 1;
if (typeOf player countType _planeCrew == 0) then
{
while {true} do
{
waituntil {player != vehicle player and player == driver vehicle player};
_f = vehicle player;
if (_f isKindOf _vehicleType) then
{
moveOut player;
player moveInCargo _f
};
sleep 1
}
}
};
Ist nicht getestet!