Comment faire descendre en parachute une caisse de munitions ?
(Pour accompagner des parachutistes)
En faite pas de souci et idem pour l'addaction dans le véhicule.je ne sais pas trop comment je vais le retranscrire dans le script
Code : Tout sélectionner
/*
Fait par =[TTK]= Yourry
Plus d'infos sur le script:
https://www.team-ttk.fr/edition-arma2-f16/parachutage-de-munitions-t898.html#p6386
*/
if (player != leader group player) exitwith {hint "Vous n'êtes pas autoriser à larguer la caisse de munition !\nSeul le leader du groupe peut le faire"};
_largpos = getpos leader group player;
_supply = munition;
_chute = _this select 0;
_caller = _this select 1;
_id = _this select 2;
// Création du parachute
_paratype = "ParachuteBigWest";
if (_supply isKindOf "Static") then { _paratype = "ParachuteMediumWest" };
_para = _paratype createvehicle _largpos;
_para setpos [_largpos select 0, _largpos select 1, _largpos select 2];
_para setcaptive true;
_para allowDammage false;
// Attente afin de laisser le temps à l'avion d'avancer un peu
sleep 0.1;
// La Commande AttachTo ne fonctionne pas si le vehicle à attacher est trop éloigné.
// Détermination d'une position SOUS le parachute et téléportation du vehicle
_baspara = ((boundingBox _para select 0) select 2);
waituntil{(getpos _para select 2) > 0};
sleep 0.1;
_distmini = abs _baspara + 0.2;
// Bug dans ArmA2 : après attachTo, l'accés aux caisses de munition est impossible, donc
// création temporaire d'objet identique et déplacement de l'original sur position finale
_utype = format ["%1",typeof _supply];
_newsupply = _utype createvehicle [0,0,0];
// tant que le parachute est au-dessus de 5m (évite tremblement de l'objet), boucler
while { (getpos _para select 2) > 5 } do
{
_alt = getpos _para select 2;
// Correction bug de la commande AttachTo, qui n'accroche pas : vérification multiple, si objet reste au sol, (re)faire l'accroche
if ((getpos _newsupply select 2) < 1) then {
//_alt = (getpos _para select 2) - _distmini;
_newsupply setpos [(getpos _para select 0), (getpos _para select 1), _alt];
_newsupply attachTo [_para,[0,0,0]];
};
sleep 0.05;
};
detach _newsupply;
_finalpos = [(getpos _newsupply select 0), (getpos _newsupply select 1), 0];
deletevehicle _newsupply;
_supply setpos [_largpos select 0, _largpos select 1, 0];
_chute removeAction _id;
Code : Tout sélectionner
this addAction ["<t color='#E78A11'> Largage munition</t>", "Parachute scripts\chute_caisse.sqf"]
Code : Tout sélectionner
nul=[]execVM"parachute scripts\chute_caisse.sqf"
Code : Tout sélectionner
/*
Fait par =[TTK]= Yourry
Plus d'infos sur le script:
https://www.team-ttk.fr/edition-arma2-f16/parachutage-de-munitions-t898.html#p6386
*/
if (player != leader group player) exitwith {hint "Vous n'êtes pas autoriser à larguer la caisse de munition !\nSeul le leader du groupe peut le faire"};
_largpos = getpos leader group player;
_supply = munition;
// Création du parachute
_paratype = "ParachuteBigWest";
if (_supply isKindOf "Static") then { _paratype = "ParachuteMediumWest" };
_para = _paratype createvehicle _largpos;
_para setpos [_largpos select 0, _largpos select 1, _largpos select 2];
_para setcaptive true;
_para allowDammage false;
// Attente afin de laisser le temps à l'avion d'avancer un peu
sleep 0.1;
// La Commande AttachTo ne fonctionne pas si le vehicle à attacher est trop éloigné.
// Détermination d'une position SOUS le parachute et téléportation du vehicle
_baspara = ((boundingBox _para select 0) select 2);
waituntil{(getpos _para select 2) > 0};
sleep 0.1;
_distmini = abs _baspara + 0.2;
// Bug dans ArmA2 : après attachTo, l'accés aux caisses de munition est impossible, donc
// création temporaire d'objet identique et déplacement de l'original sur position finale
_utype = format ["%1",typeof _supply];
_newsupply = _utype createvehicle [0,0,0];
// tant que le parachute est au-dessus de 5m (évite tremblement de l'objet), boucler
while { (getpos _para select 2) > 5 } do
{
_alt = getpos _para select 2;
// Correction bug de la commande AttachTo, qui n'accroche pas : vérification multiple, si objet reste au sol, (re)faire l'accroche
if ((getpos _newsupply select 2) < 1) then {
//_alt = (getpos _para select 2) - _distmini;
_newsupply setpos [(getpos _para select 0), (getpos _para select 1), _alt];
_newsupply attachTo [_para,[0,0,0]];
};
sleep 0.05;
};
detach _newsupply;
_finalpos = [(getpos _newsupply select 0), (getpos _newsupply select 1), 0];
deletevehicle _newsupply;
_supply setpos [_largpos select 0, _largpos select 1, 0];
Ben bien sûr Camille !=[TTK]= Camille Caz a écrit :Ne suffit-il pas de fixer la position de la caisse à celle du parachute de cargaison ?