c'est le script: ligne de commande du scrip: un fichier nom_script.sqf
// ==============================
// Conditions de sortie de script
// ==============================
/*
Argument 1 (String) : _target = cible
Argument 2 (String) : _arty = unité de tir artillerie
Argument 3 (String) : _timerBase = délais entre chaque tir
Argument 4 (Val) : _timerRandom = _this select 3;
Argument 5 (Val) : _salves = nbre de tir 'obus;
Argument 6 (Val) : _bias = 359 Rayon
Argument 7 (String) : _munitions = type de munitions
Argument 8 (Val) : _rayon d'dimpact (Facultatif)
---------------------------------------------------------------------------------------------
Faites un trigger activé par ce que vous voulez, choisissez une cible (ex. target1) et mettez dans le onActivation du trigger:
Commande à utiliser dans un déclencheur :
script = [_target, _arty, _timerBase, _timerRandom, _salves, _bias, _munitions] execVM 'Scripts\ado_artillerie.sqf'
---------------------------------------------------------------------------------------------
Exemple :
script = [arty_target1,m2,1,1,3,359,"8Rnd_82mm_Mo_shells",45] execVM 'Scripts\ado_artillerie.sqf';
---------------------------------------------------------------------------------------------
cet exemple fait tirer le mortier 'm1' sur la cible '_arty' toutes les 1 secondes par salves de 3 obus, sur un rayon de 359°,
chaque obus est affecté par 'imprcision, donc pas d'lobus au même endroit.
Le mortier tire à 'infini, jusqu'là la mort de la sible.
*/
if (!isServer) exitwith {sleep 0.1;}; // Sortir du Script: si pas le serveur.
_target = _this select 0;
_arty = _this select 1;
_timerBase = _this select 2;
_timerRandom = _this select 3;
_salves = _this select 4;
_bias = _this select 5;
_munitions = _this select 6;
_rayon = _this select 7;
while {alive _target} do {
for "_i" from 1 to _salves do {
_targetX = (getpos _target select 0);
_targetY = (getpos _target select 1);
_targetZ = (getpos _target select 2);
_arty setVehicleAmmoDef 1;
if (!alive _target) exitWith {};
if ( _salves == 0) exitWith {};
_arty commandArtilleryFire [[_targetX - (_rayon*sin(random _bias)),_targetY - (_rayon*cos(random _bias)),_targetZ], _munitions, 1]; //45
sleep (_timerBase + random _timerRandom);
};
};
ligne de commande dans le trigger: [arty_target1,m2,1,1,3,359,"8Rnd_82mm_Mo_shells",45] execVM 'Scripts\ado_artillerie.sqf';
Chemin d’accès du script: 'Scripts\nom_script.sqf'; scripts = répertoire avec les scripts par exemple.
Regarde aussi les images pour comprendre.