bonjour
j'ai trouvé (retrouvé mon script qui datait de 2010 sur mon propre forum ) et voila le script , mais probablement que tu peux l’optimiser , je ne scripte pratiquement plus , je suis resté sur les bases OFrP et avec arma3 quel sera le langage ?
Tu pourras constater que j'utilise la commande setbehaviour pour bloquer la tourelle , mais j'aimerai le faire avec
vehicleName lockTurret ["turret path", true];
bis_ka lockturret [[0],true]; que je ne réussis pas
Ce script fonctionne malgré tout parfaitement
Code : Tout sélectionner
// ligne de commande dant init ou declencheur
// nul=[T90] execVm "t90.sqf" T90 est le nom de l'unité condition siné qua non
_vehicule = _this select 0;
_vehicule setBehaviour "SAFE";
_vehicule SetSpeedMode "limited";
private ["_veh_unit", "_veh_anim", "_veh_pos", "_veh_dir", "_veh_out", "_beh_out"];
hint format ["%1",typeof _vehicule];
// 1ère phase : on teste le type de véhicule s'il est conforme
_mount_units = false;
if (typeof _vehicule == "T90") then {
_veh_unit = [ "TK_Special_Forces_EP1", "TK_Special_Forces_TL_EP1", "TK_Special_Forces_EP1", "TK_Special_Forces_MG_EP1"];
_veh_anim = [ "AidlPsitMstpSnonWnonDnon_ground00", "aav_cargo01", "aav_cargo01", "c5efe_MichalLoop" ];
_veh_pos = [ [-1.30,1.5,-0.95], [1.4,1.9,-.9], [1.40,-2.8,-0.80], [1.4,-3.8,-1.2] ];
_veh_dir = [ 0, 80, 130, 280 ];
_veh_out = [ [-1.8,2,-2.28], [2.4,1.5,-2.28], [2.4,-3,-2.28], [2.4,-4,-2.28] ];
_beh_out = [ "STEALTH", "AWARE", "STEALTH", "AWARE" ];
_mount_units = true;
};
// 2ème phase : on utilise les tableaux pour créer et placer le groupe si le bon type de véhicule est trouvé, sinon sortie
if (not _mount_units) exitwith {hint "mauvais type de vehicule nom doit etre T90 "};
_group_e = createGroup East;
_grp_units = [];
for "_i" from 0 to 3 do {
_newunit = _group_e createUnit[(_veh_unit select _i), position _vehicule, [], 0, "NONE"];
_newunit switchmove (_veh_anim select _i);
_newunit attachTo [_vehicule,(_veh_pos select _i)];
_newunit setDir (_veh_dir select _i);
_grp_units = _grp_units + [_newunit];
};
// si le vehicule est detruit ou un des soldats tués on passe à la suite
WaitUntil { (getDammage _vehicule > 0.1) or (not alive (_grp_units select 0)) or ( not alive (_grp_units select 1))or (not alive (_grp_units select 2)) or (not alive (_grp_units select 3))};
for "_i" from 0 to 3 do {
_man_out = _grp_units select _i;
_man_out attachto [_vehicule,(_veh_out select _i)];
_man_out enableAI "ANIM";
_man_out switchmove "";
sleep 0.1;
detach _man_out;
_man_out setBehaviour (_beh_out select _i);
_man_out setskill 1;
_man_out setCombatMode "RED";
_man_out doMove (position player);
};
_vehicule setskill 1;
_vehicule SetSpeedMode "NORMAL";
_vehicule setBehaviour "AWARE";
_vehicule setCombatMode "RED";
sleep 0.5;
//_vehicule doMove (position player);
_vehicule doMove [(getpos _vehicule) select 0, (getpos _vehicule) select 0, +3];
if (true) exitWith {};