Slt
C'est un grand jour !
Manque plus que le vrai essai sur la mission pluie de météores (seul la version sans Hexagon est équipé du script) on verra plus tard pour l'autre en mod Hexagon (certains comprendrons).
J'espère que les quelques dernières modifications faites après notre test avec Fresh (que je remercie pour sa patience) n'ont pas d'incidence sur le bon déroulement du script
Enfin tout devrai fonctionner.
Je le teste une dernière fois en MP et je le mets en ligne si tout roule !
Testé avec Mao tout à l'heure ça fonctionne !
Code : Tout sélectionner
//Script de lancement pour procédure de réarmement
//Fait par =[TTK]= Yourry
//Execution par: "this addEventHandler ["GETIN",{nul = [_this select 0] execVM "launch3.sqf"}];" dans l'init de l'avion
//Pour que la procédure fonctionne, le pilote doit descendre et remonter dans l'avion sans allumer le moteur à chaque fois qu'il veut réarmer. Si il n'a pas eu le choix des armements, il faut de nouveau descendre et remonter.
_av = _this select 0;
_rearmbombok = 0;
_rearmchassok = 0;
if (local (driver _av)) then
{
_chass = false;
_bomb = false;
while {alive _av && ((_rearmbombok == 0) || (_rearmchassok == 0)) } do
{
if (!isEngineOn _av && maintenance distance _av<10 && ((_rearmbombok == 0) || (_rearmchassok == 0))) then
{
titleText ["Mise en place de la procédure d'armement:[| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[|| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[|||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[||||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[|||||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[||||||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[|||||||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[||||||||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[||||||||||]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Vérifications en cours", "PLAIN DOWN"];
if (!isEngineOn _av && maintenance distance _av<10) then
{
sleep 2;
if (_rearmbombok == 0) then
{
_bomb = _av addAction ["Armement bombardier", "rearmbomb.sqf"];
_rearmbombok = 1;
};
if (_rearmchassok == 0) then
{
_chass = _av addAction ["Armement chasseur", "rearmchass.sqf"];
_rearmchassok = 1;
};
sleep 15;
};
_rearmbombok = 1;
_rearmchassok = 1;
if (_rearmbombok == 1) then {_av removeAction _bomb};
if (_rearmchassok == 1) then {_av removeAction _chass};
sleep 30;
};
};
if (speed _av != 0 || isEngineOn _av || maintenance distance _av>10) then
{
_av removeAction _bomb;
_av removeAction _chass;
_rearmbombok = 0;
_rearmchassok = 0;
};
_av removeAction _bomb;
_av removeAction _chass;
_rearmbombok = 0;
_rearmchassok = 0;
};
Dans l'init de chaque avion:
Code : Tout sélectionner
"this addEventHandler ["GETIN",{nul = [_this select 0] execVM "launch3.sqf"}];"
La version bombardier de l'av8
Code : Tout sélectionner
// Fait par =[TTK]= Yourry
_unit = (vehicle player);
WaitUntil{(getPos _unit select 2)<2};
sleep 5;
if((getPos _unit select 2)>2) exitWith{};
if (typeof vehicle player == "AV8B2") then
{
_unit setFuel 0;
_unit VehicleChat "Reparations...";
sleep 5;
_unit setDammage 0;
_unit VehicleChat "Rearmement...";
_unit setVehicleAmmo 0;
sleep 5;
_weapons = weapons _unit;
_unit removeMagazine "6Rnd_Mk82";
_unit removeMagazine "6Rnd_Mk82";
_unit addMagazine "6Rnd_Mk82";
_unit addMagazine "6Rnd_Mk82";
if(not ("Mk82BombLauncher_6" in _weapons)) then {_unit addweapon "Mk82BombLauncher_6"};
_unit removeMagazine "4Rnd_Sidewinder_AV8B";
_unit addMagazine "4Rnd_Sidewinder_AV8B";
if(not ("SidewinderLaucher" in _weapons)) then {_unit addweapon "SidewinderLaucher"};
_unit removeMagazine "14Rnd_FFAR";
_unit addMagazine "14Rnd_FFAR";
if(not ("FFARLauncher_14" in _weapons)) then {_unit addweapon "FFARLauncher_14"};
_unit removemagazine "300Rnd_25mm_GAU12";
_unit addMagazine "300Rnd_25mm_GAU12";
_unit setVehicleAmmo 1;
_unit VehicleChat "Essence...";
sleep 5;
_unit setFuel 1;
_unit VehicleChat "Terminé.";
};
_unit removeAction bomb;
_unit removeAction chass;
if(true) exitWith{};
la version chasseur:
Code : Tout sélectionner
// Fait par =[TTK]= Yourry
_unit = (vehicle player);
WaitUntil{(getPos _unit select 2)<2};
sleep 5;
if((getPos _unit select 2)>2) exitWith{};
if (typeof vehicle player == "AV8B2") then
{
_unit setFuel 0;
_unit VehicleChat "Reparations...";
sleep 5;
_unit setDammage 0;
_unit VehicleChat "Rearmement...";
_unit setVehicleAmmo 0;
sleep 5;
_weapons = weapons _unit;
_unit removeMagazine "6Rnd_Mk82";
_unit removeMagazine "6Rnd_Mk82";
_unit addMagazine "6Rnd_Mk82";
_unit addMagazine "6Rnd_Mk82";
if(not ("Mk82BombLauncher_6" in _weapons)) then {_unit addweapon "Mk82BombLauncher_6"};
_unit removeMagazine "4Rnd_Sidewinder_AV8B";
_unit addMagazine "4Rnd_Sidewinder_AV8B";
if(not ("SidewinderLaucher" in _weapons)) then {_unit addweapon "SidewinderLaucher"};
_unit removeMagazine "14Rnd_FFAR";
_unit addMagazine "14Rnd_FFAR";
if(not ("FFARLauncher_14" in _weapons)) then {_unit addweapon "FFARLauncher_14"};
_unit removemagazine "300Rnd_25mm_GAU12";
_unit addMagazine "300Rnd_25mm_GAU12";
_unit setVehicleAmmo 1;
_unit VehicleChat "Essence...";
sleep 5;
_unit setFuel 1;
_unit VehicleChat "Terminé.";
};
_unit removeAction bomb;
_unit removeAction chass;
if(true) exitWith{};
A utiliser sans modération !
J'ai aussi une version qui sert pour l'ensemble des avions du jeu d'Arma, par contre cette version rétabli l'armement d'origine de chaque avion, bien-sur cela les répares et fait le plein.
Dans l'init de chaque avion dont le script doit se déclencher:
Code : Tout sélectionner
"this addEventHandler ["GETIN",{nul = [_this select 0] execVM "lancement.sqf"}];"
Nommé un fichier "lancement.sqf" dans le dossier de votre mission et coller le contenu suivant:
Code : Tout sélectionner
//Script de lancement pour procédure de réarmement, réparation et plein d'essence
//Fait par =[TTK]= Yourry
//Execution par: "this addEventHandler ["GETIN",{nul = [_this select 0] execVM "launch3.sqf"}];" dans l'init de l'avion
//Pour que la procédure fonctionne, le pilote doit descendre et remonter dans l'avion sans allumer le moteur à chaque fois qu'il veut réarmer. Si il n'a pas eu le choix des armements, il faut de nouveau descendre et remonter.
_av = _this select 0;
_rearmok = 0;
if (local (driver _av)) then
{
_chass = false;
_bomb = false;
while {alive _av && (_rearmok == 0) } do
{
if (!isEngineOn _av && maintenance distance _av<10 && (_rearmok == 0)) then
{
titleText ["Mise en place de la procédure d'armement:[| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[|| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[|||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[||||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[|||||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[||||||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[|||||||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[||||||||| ]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Mise en place de la procédure d'armement:[||||||||||]COMPLETE", "PLAIN DOWN"];
sleep 0.5;
titleText ["Vérifications en cours", "PLAIN DOWN"];
if (!isEngineOn _av && maintenance distance _av<10) then
{
sleep 2;
if ((_rearmok == 0)) then
{
_maintetance = _av addAction ["Maintenance", "maintenance.sqf"];
_rearmok = 1;
};
sleep 15;
};
_rearmok = 1;
if (_rearmok == 1) then {_av removeAction _maintetance};
sleep 30;
};
};
if (speed _av != 0 || isEngineOn _av || maintenance distance _av>10) then
{
_av removeAction _maintetance;
_rearmok = 0;
};
_av removeAction _maintetance;
_rearmok = 0;
};
Ensuite créer et nommé un fichier "maintenance" dans votre dossier mission et copier cela à l'intérieur
Code : Tout sélectionner
//Script modifié par =[TTK]= Yourry
//Auteur d'origine: GeneralCarver's Vehicle Rearming Script
_unit = (vehicle player);
WaitUntil{(getPos _unit select 2)<2};
sleep 5;
if((getPos _unit select 2)>2 && isEngineOn _unit) exitWith{};
// A10
if (typeof _unit == "A10") then
{
titleText ["Procédure d'armement en cours", "PLAIN DOWN"];
_unit setfuel 0;
_unit removemagazines "4Rnd_GBU12";
_unit addmagazine "4Rnd_GBU12";
_unit removemagazines "14Rnd_FFAR";
_unit addmagazine "14Rnd_FFAR";
_unit removemagazines "1350Rnd_30mmAP_A10";
_unit addmagazine "1350Rnd_30mmAP_A10";
_unit removemagazines "2Rnd_Maverick_A10";
_unit addmagazine "2Rnd_Maverick_A10";
_unit removemagazines "2Rnd_Sidewinder_AH1Z";
_unit addmagazine "2Rnd_Sidewinder_AH1Z";
_unit setdamage 0;
_unit setfuel 1;
titleText ["SERVICE COMPLETE", "PLAIN DOWN"];
};
// AV8B2
if (typeof _unit == "AV8B2") then
{
titleText ["Procédure d'armement en cours", "PLAIN DOWN"];
_unit setfuel 0;
_unit removemagazines "14Rnd_FFAR";
_unit addmagazine "14Rnd_FFAR";
_unit removemagazines "300Rnd_25mm_GAU12";
_unit addmagazine "300Rnd_25mm_GAU12";
_unit removemagazines "6Rnd_Mk82";
_unit addmagazine "6Rnd_Mk82";
_unit removemagazines "2Rnd_Sidewinder_AH1Z";
_unit addmagazine "2Rnd_Sidewinder_AH1Z";
_unit setdamage 0;
_unit setfuel 1;
_unit setVehicleAmmo 1;
titleText ["SERVICE COMPLETE", "PLAIN DOWN"];
};
// AV8B
if (typeof _unit == "AV8B") then
{
titleText ["Procédure d'armement en cours", "PLAIN DOWN"];
_unit setfuel 0;
_unit removemagazines "300Rnd_25mm_GAU12";
_unit addmagazine "300Rnd_25mm_GAU12";
_unit removemagazines "6Rnd_GBU12_AV8B";
_unit addmagazine "6Rnd_GBU12_AV8B";
_unit setdamage 0;
_unit setfuel 1;
_unit setVehicleAmmo 1;
titleText ["SERVICE COMPLETE", "PLAIN DOWN"];
};
// C130J
if (typeof _unit == "C130J") then
{
titleText ["Procédure d'armement en cours", "PLAIN DOWN"];
_unit setfuel 0;
_unit setdamage 0;
_unit setfuel 1;
_unit setVehicleAmmo 1;
titleText ["SERVICE COMPLETE", "PLAIN DOWN"];
};
// F35B
if (typeof _unit == "F35B") then
{
titleText ["Procédure d'armement en cours", "PLAIN DOWN"];
_unit setfuel 0;
_unit removemagazines "2Rnd_GBU12";
_unit addmagazine "2Rnd_GBU12";
_unit removemagazines "300Rnd_25mm_GAU12";
_unit addmagazine "300Rnd_25mm_GAU12";
_unit removemagazines "2Rnd_Sidewinder_F35";
_unit addmagazine "2Rnd_Sidewinder_F35";
_unit setdamage 0;
_unit setfuel 1;
_unit setVehicleAmmo 1;
titleText ["SERVICE COMPLETE", "PLAIN DOWN"];
};
// Su25 Insurgents
if (typeof _unit == "Su25_Ins") then
{
titleText ["Procédure d'armement en cours", "PLAIN DOWN"];
_unit setfuel 0;
_unit removemagazines "4Rnd_FAB_250";
_unit addmagazine "4Rnd_FAB_250";
_unit removemagazines "180Rnd_30mm_GSh301";
_unit addmagazine "180Rnd_30mm_GSh301";
_unit removemagazines "2Rnd_R73";
_unit addmagazine "2Rnd_R73";
_unit removemagazines "80Rnd_80mm";
_unit addmagazine "80Rnd_80mm";
_unit setdamage 0;
_unit setfuel 1;
_unit setVehicleAmmo 1;
titleText ["SERVICE COMPLETE", "PLAIN DOWN"];
};
// Su39 Russian
if (typeof _unit == "Su39") then
{
titleText ["Procédure d'armement en cours", "PLAIN DOWN"];
_unit setfuel 0;
_unit removemagazines "4Rnd_Ch29";
_unit addmagazine "4Rnd_Ch29";
_unit removemagazines "180Rnd_30mm_GSh301";
_unit addmagazine "180Rnd_30mm_GSh301";
_unit removemagazines "2Rnd_R73";
_unit addmagazine "2Rnd_R73";
_unit removemagazines "80Rnd_80mm";
_unit addmagazine "80Rnd_80mm";
_unit setdamage 0;
_unit setfuel 1;
_unit setVehicleAmmo 1;
titleText ["SERVICE COMPLETE", "PLAIN DOWN"];
};
// Su25 CDF
if (typeof _unit == "Su25_CDF") then
{
titleText ["Procédure d'armement en cours", "PLAIN DOWN"];
_unit setfuel 0;
_unit removemagazines "4Rnd_FAB_250";
_unit addmagazine "4Rnd_FAB_250";
_unit removemagazines "180Rnd_30mm_GSh301";
_unit addmagazine "180Rnd_30mm_GSh301";
_unit removemagazines "2Rnd_R73";
_unit addmagazine "2Rnd_R73";
_unit removemagazines "80Rnd_80mm";
_unit addmagazine "80Rnd_80mm";
_unit setdamage 0;
_unit setfuel 1;
_unit setVehicleAmmo 1;
titleText ["SERVICE COMPLETE", "PLAIN DOWN"];
};
//S34
if (typeof _unit == "Su34") then
{
titleText ["Procédure d'armement en cours", "PLAIN DOWN"];
_unit setfuel 0;
_unit removemagazines "40Rnd_80mm";
_unit addmagazine "40Rnd_80mm";
_unit removemagazines "6Rnd_Ch29";
_unit addmagazine "6Rnd_Ch29";
_unit removemagazines "180Rnd_30mm_GSh301";
_unit addmagazine "180Rnd_30mm_GSh301";
_unit removemagazines "4Rnd_R73";
_unit addmagazine "4Rnd_R73";
_unit setdamage 0;
_unit setfuel 1;
_unit setVehicleAmmo 1;
titleText ["SERVICE COMPLETE", "PLAIN DOWN"];
};
_unit removeAction _maintetance
N'oublier pas de descendre et remonter de l'avion pour lancer la procédure.
Si il y a des soucis n'hésitez pas à poster sachant que je n'ai pas testé sur tous les avions en plus !
