malibu.stacey |
28.12.2009 23:53 |
Frage zu Call compile format
Also, ich werkel schon den ganzen abend an einem Heli spawn script rum, funzt alles wunderbar bis auf eine Kleinigkeit:
Code:
call compile format ["%1 = createVehicle [_MAL_TVehicleType,[(getPos _MAL_TStartPos select 0),(getPos _MAL_TStartPos select 1),_MAL_T_Height], [], 0, "NONE"]",_MAL_THeli_Name];
Das gibt mir den Fehler Type String, expected Code aus.
DAS funktioniert aber:
Code:
call compile format ["%1 = createGroup west",_MAL_THeliGroup_Name];
call compile Format ["_MAL_THeliGroup = %1",_MAL_THeliGroup_Name];
Hier mal das Script im Ganzen:
Code:
//create Transport Vehicle
//Array [[Vehicle,[name V]],[[Pilot,Gunner,Gunner2],[name P, name G1, name G2],[StartPos,Height],[Group]]
private ["_MAL_TVehicleType","_MAL_THeli_Name","_MAL_THeli","_MAL_TPilotType","_MAL_TGunner1Type","_MAL_TGunner2Type","_MAL_TPilot_Name","_MAL_TGunner1_Name","_MAL_TGunner2_Name","_MAL_TStartPos","_MAL_T_Height","_MAL_THeliGroup_Name","_MAL_THeliPilot","_MAL_TGunner1","_MAL_TGunner2","_MAL_THeliGroup","_MAL_MissionHeight"];
_MAL_TVehicleType = _this select 0 select 0;
_MAL_THeli_Name = _this select 0 select 1;
_MAL_TPilotType = _this select 1 select 0 select 0;
_MAL_TGunner1Type = _this select 1 select 0 select 1;
_MAL_TGunner2Type = _this select 1 select 0 select 2;
_MAL_TPilot_Name = _this select 1 select 1 select 0;
_MAL_TGunner1_Name = _this select 1 select 1 select 1;
_MAL_TGunner2_Name = _this select 1 select 1 select 2;
_MAL_TStartPos = _this select 2 select 0;
_MAL_T_Height = _this select 2 select 1;
_MAL_THeliGroup_Name = _this select 3 select 0;
if (_MAL_THeliGroup_Name != "") then {
call compile format ["%1 = createGroup west",_MAL_THeliGroup_Name];
call compile Format ["_MAL_THeliGroup = %1",_MAL_THeliGroup_Name];
};
_MAL_THeli = createVehicle [_MAL_TVehicleType,[(getPos _MAL_TStartPos select 0),(getPos _MAL_TStartPos select 1),_MAL_T_Height], [], 0, "NONE"];
_MAL_THeli setDir (getDir _MAL_TStartPos);
//call compile format ["%1 = createVehicle [_MAL_TVehicleType,[(getPos _MAL_TStartPos select 0),(getPos _MAL_TStartPos select 1),_MAL_T_Height], [], 0, "NONE"]",_MAL_THeli_Name];
//call compile format ["_MAL_THeli = %1",_MAL_THeli_Name];
//_MAL_THeli setDir (getDir _MAL_TStartPos);
_MAL_THeliPilot = _MAL_TPilotType createUnit [[(getPos _MAL_TStartPos select 0),(getPos _MAL_TStartPos select 1),
_MAL_T_Height], _MAL_THeliGroup, format ["%1=this", _MAL_TPilot_Name]];
call compile format ["_MAL_THeliPilot = %1",_MAL_TPilot_Name];
_MAL_THeliPilot moveInDriver _MAL_THeli;
if (_MAL_TGunner1Type != "") then {
_MAL_TGunner1 = _MAL_TGunner1Type createUnit [[(getPos _MAL_TStartPos select 0),(getPos _MAL_TStartPos select 1),
_MAL_T_Height], _MAL_THeliGroup, format ["%1=this",_MAL_TGunner1_Name]];
call compile format ["_MAL_TGunner1 = %1",_MAL_TGunner1_Name];
_MAL_TGunner1 moveInTurret [_MAL_THeli,[0]];
if (_MAL_TGunner2Type != "") then {
_MAL_TGunner2 = _MAL_TGunner1Type createUnit [[(getPos _MAL_TStartPos select 0),(getPos _MAL_TStartPos select 1),
_MAL_T_Height], _MAL_THeliGroup, format ["%1=this",_MAL_TGunner2_Name]];
call compile format ["_MAL_TGunner2 = %1",_MAL_TGunner2_Name];
_MAL_TGunner2 moveInTurret [_MAL_THeli,[1]];
};
};
Wird durch diese Funktion aufgerufen:
Code:
MAL_THeliArray = [["UH1Y","MAL_THeli"],[["USMC_Soldier_Pilot","USMC_Soldier_Pilot","USMC_Soldier_Pilot"],["MAL_THeliPilot","MAL_TGunner1","MAL_TGunner2"]],[MAL_THeli_StartPos,0],["MAL_THeliGroup"]];
MAL_THeliArray execVM "MAL_THeliCreate.sqf";
Weiß jemand, warum call compile bei der ersten Zeile ned funzt? Macht mich ganz wuschig...:ugly:
Bin für jedwede Erleuchtung dankbar!
Oh, und wenn jemand ein gutes Heli Landescript kennt, bitte ein kurzen Hinweis geben, wo man ein solches Prachstück finden kann :D
|