TIR DE BARRAGE A USAGE MULTIPLE © Pumpkin

Il y a déjà eu beaucoup de script de tir de barrage, pourquoi un de plus ? Parce que l'un fait tirer un canon, fait exploser la munition et l'obus tiré explose... quelque part. Parce que l'un prévoit le tir d'un ou plusieurs canons mais oublie que les canons ne tireront plus dès qu'ils seront à court de munition. Un autre prévoit tous ces paramètres, mais ne permet pas de changer la munition pour obtenir une explosion plus puissante. Donc le but de ce script est avant tout de réunir le plus d'options possibles, pour obtenir un script le plus universel possible.

Ce tir de barrage "ennemi" est à usage multiple, il permet :

Remarques importantes :

Téléchargement :

 


1. RÉPERTOIRES & FICHIERS :

 


2. PARAMÉTRAGE :

["nom_du_marqueur", délai entre tirs (, "type de munition", groupe synchronisé, activation sifflement d'obus)] execVM "barrage_fire/tir_de_barrage.sqf"
(à mettre dans un déclencheur, ou à faire appeler par un autre script compatible serveur)

Les 3 derniers paramètres, "type de munition", "groupe synchronisé" et "activation son sur impact", sont interchangeables (à mettre indifféremment comme 3ème, 4ème ou/et 5ème paramètre)

exemples :

nul = ["tirbarrage",1] execVM "barrage_fire\tir_de_barrage.sqf"
Lancement simplifié : tirs sur la zone/le marqueur nommé "tirbarrage", espacés d'environ 1 seconde. La valeur du délai est positive, le délai entre tirs fluctuera environ entre 1/2 seconde et 1 seconde 1/2.

nul = ["tirbarrage",-5,group tireur] execVM "barrage_fire\tir_de_barrage.sqf"
Exemple de synchonisation : tirs sur la zone/le marqueur nommé "tirbarrage", la valeur négative du délai indique que les tirs sont espacés par un délai allant de 0 à 5s (au lieu de 3 sec. 1/2 à 6 sec. 1/2). Un des membres du groupe de "statiques" a été nommé "tireur". Pour indiquer la synchronisation à un groupe, il suffit donc d'indiquer comme 3ème paramètre "group tireur"

nul = ["tirbarrage",10,"Bo_GBU12_LGB",group tireur_est] execVM "barrage_fire\tir_de_barrage.sqf"
La zone de tir est toujours un marqueur nommé "tirbarrage", il y a 10s de délai entre tirs à +/- 3s, la munition utilisée est une bombe, la "Bo_GBU12_LGB" et enfin la synchronisation est faite avec un groupe dont l'un des membres est nommé "tireur_est". Notez que, cette fois, le 2ème argument est la munition utilisée, et non le groupe synchronisé, les 3 derniers paramètres (type de munition, groupe synchro et activation son sur impact) s'indiquant dans n'importe quel ordre.

nul = ["tirbarrage",5,group tireur_est2,true] execVM "barrage_fire\tir_de_barrage.sqf"
Encore le même marqueur nommé "tirbarrage" pour indiquer la zone de tir, il y a synchronisation avec un groupe dont l'un des membres est nommé "tireur_est2", et le son sur impact est activé. Comme on a indiqué 5s de délai entre tir ET qu'il y a activation du son sur impact, le délai réel entre tirs sera d'environ 14s, soit les 5s indiqué + les 9s que dure l'echantillon sonore. Le paramètre "true" de l'activation du son sur impact est placé à la 4ème place, mais aurait pu être placé avant le groupe, les 3 derniers paramètres étant interchangeables, comme le montre ce dernier exemple ci-dessous.

nul = ["tirbarrage",-10,true,"Bo_GBU12_LGB",group tireur_est2] execVM "barrage_fire\tir_de_barrage.sqf"
Je vous laisse le soin de traduire ce dernier exemple ;)

 

SCRIPT "MARQUEUR_VISIBILITE.SQF"

Ce script sert à rendre invisible une marqueur définissant une zone de tir (en le réduisant). Afin qu'il n'apparaisse pas dans le briefing, au début de la mission, il faut placer l'appel dans le champ "initialisation" d'une unité "logique de jeu" catégorie objet.

nul = "nom_du_marqueur" execVM "barrage_fire\marqueur_visibilite.sqf"

 


3. MISSION DÉMO :

Pour tester les différents usages du tir de barrage dans cette mission d'exemple, il faut utiliser les appels radio soit les touches 0 - 0 puis de 1 à 9 :

  1. tir de barrage simple : exemple de lancement simple. Il n'y a que les 2 paramètres obligatoires : le nom du marqueur et le délai entre tirs
  2. tir de barrage synchro M119 : exemple de synchronisation entre zone et groupe. A noter le délai négatif (-5), donc explosions distantes de 0 à 5s (voir la signification d'un délai négatif dans le paragraphe des paramètrages ci-dessus).
  3. tir de barrage synchro D30 : exemple de synchronisation entre zone et groupe, changement de munition, et cette fois avec un délai positif.
  4. tir de barrage synchro mortier : exemple de synchronisation entre zone et groupe, tir avec son sur impact.

    Ces 4 premiers déclencheurs déclenche les tirs sur la zone nommée "tirbarrage", dont le marqueur est "invisible" (en fait réduit à une taille non visualisable). Il y a un déclencheur sur la même zone (voir l'image ci-dessous) qui lance un tir de barrage "simplifié (nul = ["tirbarrage",10] execVM "barrage_fire\tir_de_barrage.sqf"). Si vous entrez dans cette zone, vu qu'il ne peut y avoir qu'un seul tir d'activé par zone, les déclencheurs radio ne fonctionnerons plus, du moins tant que vous resterez dans la zone. Inversement, si vous déclenchez un tir via la radio, ce déclencheur n'activera rien.

  5. fin tir de barrage 1-2-3-4 : commande l'arrêt des 4 tirs ci-dessus
  6. tir de barrage zone 2 : tir de barrage sur une 2ème zone (marqueur rectangle orange, visible à droite de la piste) pour montrer/tester la simultanéité des tirs, à la fois sur la zone 1 et la zone 2.
  7. fin tir de barrage zone 2 : commande l'arrêt des tirs sur la 2ème zone
  8. afficher/masquer marqueur : rend visible/invisible, en alternance, le marqueur de la 1ère zone de tir, nommée "tirbarrage" (cf. les exemples 1, 2, 3 et 4, et voir l'image ci-dessous); rappel : pour un marqueur "invisible", sa taille est 1/10000ème de sa taille "normale".

    Pour afficher un marqueur "invisible" ou rendre "invisible" un marqueur apparent à l'aide du script "marqueur_visibilite.sqf", il faut simplement passer le nom du marqueur en argument :

    nul = "tirbarrage" execVM "barrage_fire\marqueur_visibilite.sqf"

    Pour afficher un marqueur "invisible" sans passer par le script "marqueur_visibilite.sqf", il suffit de multiplier sa taille en X et en Y par 10000 comme ceci :

    "tirbarrage" setMarkerSize [((getMarkerSize "tirbarrage") select 0) * 10000,((getMarkerSize "tirbarrage") select 1) * 10000]

  9. démo munitions : tirs successifs de munitions de différents types à l'emplacement du marqueur indiquant "visualisation du test de munition ici". Utile pour obtenir le nom exact d'une munition (58 munitions testées).

    Afin de faciliter un peu la vie aux éditeurs de missions qui auraient quelques oublis, il y a, dans le répertoire "barrage_fire\", un script nommé "test_ammo.sqf", qui est lancé par ce déclencheur radio et qui va faire exploser 58 munitions à l'emplacement indiqué par le marqueur "visualisation du test de munition ici" en indiquant sur la ligne chat le nom de la munition qui explose. Ce nom est l'un de ceux qui peut être utilisé par le script "tir_de_barrage.sqf".

Pour finir, comme noté précédemment, il y a un petit déclencheur derrière la batterie de M119, groupé au joueur.

Si vous activez le tir des M119 (radio 2) et que vous passez sur ce déclencheur, les tirs s'arrêteront. C'est un exemple d'une des méthodes utilisées pour arrêter les tirs, c'est-à-dire, supprimer les munitions d'un membre du groupe :

tireur removeMagazines "30Rnd_105mmHE_M119"

 


Bonne édition !