CHAMP DE MINE © Pumpkin
Un peu comme les scripts de tir de barrage, il y a un bon nombre sur le "marché" donc, pourquoi un de plus ? Parce qu'aucun n'avait les options que je désirais : possibilité de déminage, création de champs de mine aléatoire (position, taille et forme au hasard),... Ce script est plus orienté "champ de mine anti-personnel" mais peut être utilisé pour des véhicules (cf. modification de la munition)
Ces scripts de champs de mine permettent :
- une utilisation simple à 1 paramètre : En plus d'une utilisation plus complexe, le script peut être lancé "simplement" avec un paramètre unique: le déclencheur iniquant la zone du champ de mine.
- la possibilité de déminage : Un joueur peut entrer dans un champ de mine et y progresser en rampant. Ce faisant, il "découvrira" de temps en temps des mines qu'il faudra déminer pour pouvoir continuer sa progression. Toute mine déminée indiquera au équipiers du joueur un encroit "sûr" autour duquel il n'y a pas de danger, du moins à quelques mètres autour (variable en fonction de la densité du champ de mine)
- la possibilité de baliser un chemin : Un joueur rampant dans un champ de mines peut baliser le chemin pour ses équipiers, en "semant" un objet. Cela ne le dispense pas de trouver et déminer quelques mines au passageet y progresser en rampant. Ce faisant, il "découvrira" de temps en temps des mines qu'il faudra déminer pour pouvoir continuer sa progression.
- la création de champs de mines multiples : A l'aide d'un objet (logique de jeu, vehicule,... avantageux car pouvant être lui-même placé aléatoirement), on peut générer plusieurs champs de mines dont la position, la forme et la taille seront aléatoire.
- la création de zone "sûre", autrement dit des zones que l'on peut traverser sans risquer l'explosion d'une mine. Elles peuvent se définir soit en crééant un déclencheur qui pourra se superposer au(x) déclencheur(s) de champs de mine, soit en balisant (dans l'éditeur par exemple) un chemin à l'aide d'un objet.
Téléchargement :
- champ_de_mines.rar
- mission démo
1. RÉPERTOIRES & FICHIERS :
- lib\ : répertoire de scripts/fonctions personnels, à copier intégralement.
- Minefields\ : répertoire des scripts de champ de mine
- Minefield.sqf : Le script principal, créant le champ de mines proprement dit
- Minefield_safezone.sqf : Script permettant de créer une zone sûre
- random_Minefields.sqf : Script permettant de générer aléatroirement des champs de mines
- show_mf_markers.sqf : affichage des marqueurs invisibles (cf. "random_Minefields.sqf")
- deminage.sqf : Script "interne"; gère le déminage par un joueur
- balisage.sqf : Script "interne"; gère le balisage par objet
- mando_getpos.sqf : Superbe fonction de MANDOBLE permet de connaitre la position (debout, basse ou rampant) d'un "homme" (joueur ou IA) (pourquoi réinventer la roue alors d'un petit génie a inventer la jante alu ? :) )
- Minefields\imgs/ :
- danger_mines.paa : juste une image "danger mines" que l'on peut utiliser sur un panneau type "entrée interdite" grâce à un ligne de commande
this setObjectTexture [0,"Minefields\imgs/danger_mines.paa"]
2. PARAMÉTRAGE :
Le(s) script(s) de champ de mine se base(nt) sur déclencheur. Les paramètres importants sont :
Je passe sur la dimension et l'orientation, qui définissent évidemment la zone du champ de mines (Le déclencheur ci-dessus est un exemple de mise en place d'un champ de mine déclenché par le camp Ouest).
- l'activation, qui détermine quelle faction déclenchera les explosions
- la répétition, qui permettra non seulement de garder le champ de mine toujours actifs, mais aussi de mettre à jour les unités entrantes et sortantes du champ de mine
- la présence des unités, sans quoi le champ de mine sera inactif
Nota : On peut paramètrer le déclencheur avec "N'importe qui", mais ce n'est pas conseillé, car il se déclenchera pour tout objets, y compris les animaux et les objets statiques; comme n'importe quel objet activera le script, celui-ci tournera en permanence, au lieu de débuter lorsqu'au moins une unité entre dans la zone et s'arrêter lorsque la zone est vide; il peut en résulter un ralentissement important. Si on veut un champs de mine touchant plusieurs factions, il est préférable de multiplier et superposer les déclencheurs.
2a. LE CHAMP DE MINES : "MINEFIELD.SQF":
[tableau/liste d'unité, (, densité, [objets de balisage], "type de munition")] execVM "Minefields/Minefield.sqf"
(à mettre dans un déclencheur)
- tableau/liste d'unité : thislist est à mettre systématiquement, sauf si l'on veut cibler les "victimes", auquel cas il faut fournir comme argument un tableau contenant la liste des unités succeptibles de "se faire exploser" dans le champ de mine. thislist comme premier argument permet de scruter les unités correspondant au déclencheur (BLUFOR, OPFOR,...) et surtout d'avoir une liste de "victimes potentielles" toujours à jour, quelque soit les unités qui entrent et sortent de la zone.
- densité (OPTIONNEL) : valeur de 1 à 10, 5 par défaut; plus la valeur est basse, moins le risque est grand. Inversement, plus la valeur est grande, plus la probabilité de tomber sur une mine est grande. Avec une densité de 1, on peut presque traverser un champ de mine sans mourir une seule fois, alors qu'avec un valeur de 10, la mort est certaine (voir beaucoup de mort en cas de respawn)
- objets de balisage (OPTIONNEL) : objets servant à baliser un chemin sûr à travers le champs de mines. Afin de permettre éventuellement de baliser le chemin, le premier objet de ce tableau est l'objet que le joueur "sortira de sa poche" pour indiquer le chemin à ses équipiers. A charge du créateur de mission de rester réaliste ou non : s'il a envie de sortir une trentaine de cône routiers de sa poche, c'est possible... aberrant mais possible. Un bon objet pour balisage est le "skeetdisk", les cailloux/pigeons d'argile d'ArmA2 de base.
Dès que ce tableau est rempli, une option "baliser le chemin" est disponible à l'entrée dans le champ de mine. Il faudra mettre une chaine vide ("") comme premier élément pour désactiver la possibilité de baliser le chemin (ex.:["","RoadCone",...]).
Par défaut, le joueur a 30 objets par mission pour baliser un champ de mine. Si on veut augmenter ce nombre, il faudra initialiser lavariable PUMPKINNumMarkerObj avec le nombre voulu dans le fichier "init.sqf", par exemple :
PUMPKINNumMarkerObj = 50;- type de munition (OPTIONNEL) : munition explosant sur la zone; par défaut la munition utilisée ("R_OG9_HE") est suffisamment puissante pour tuer un homme et détruire un camion ou une voiture en 2 ou 3 explosions, de façon en empêcher de traverser facilement le champ de mine en véhicule "léger".
Nota : tous les paramètres optionnels sont permuttables et peuvent donc être indiqués dans n'importe quel ordre. Seul l'argument "tableau/liste d'unité" doit être impérativement indiqué en premier.
exemples :
nul = [thislist] execVM "Minefields\Minefield.sqf";Lancement simplifié : création d'un champ de mine "standard", soit densité = 5 , aucun objet de balisage (excepté les mines désamorcées)
nul = [thislist, 9] execVM "Minefields\Minefield.sqf";Champ de mine avec densité 9 (trés dangereux ! mort systématique)
nul = [thislist, 7, ["skeetdisk","RoadCone"]] execVM "Minefields\Minefield.sqf";Champ de mine avec densité 7; tableau indiquant : 1) la possibilité de baliser sa progression avec des cailloux/pigeons d'argile, 2) le balisage de chemin sûr par cône routier.
nul = [thislist, 7, ["","RoadCone"], "Bo_GBU12_LGB"] execVM "Minefields\Minefield.sqf";Champ de mine avec densité 7; tableau indiquant : 1) la désactivation du balisage de la progression, 2) le balisage de chemin sûr par cône routier; la munition de la mine est "Bo_GBU12_LGB" (soit une bombe quasiment capable de détruire un blindé)
2b. LA ZONE SURE : "MINEFIELD_SAFEZONE.SQF":
Toujours suivant l'utilisation de déclencheur (cf. ci-dessus), on peut créer, à l'aide de ce script, une zone "sûre" dans laquelle aucune explosion ne se produira. Cela permet notamment de superposer un déclencheur de ce type à un déclencheur de type "champ de mine" pour, par exemple sécuriser une route traversant un champ de mine de grande taille, ou un campement au milieu d'un champ de mine (de cette façon, on créé en 2 déclencheurs un "rempart" de mines)
Nota : pour permettre la traversée d'un champ de mine, il est préférable de faire dépasser le déclencheur de "zone sûre" de part et d'autre du déclencheur "champ de mine".[tableau/liste d'unité] execVM "Minefields/Minefield_safezone.sqf"
(à mettre dans un déclencheur)
- tableau/liste d'unité : argument unique; thislist est à mettre systématiquement, sauf si l'on veut ne veut épargner que certaines unité, auquel cas il faut indiquer ces unités dans un tableau. Il est necessaire de faire correspondre la faction des deux déclencheurs, "champ de mine" et "zone sûr" : Si un champ de mine est actif pour les BLUFOR, créer une zone sûre pour les CIVils ne sert à rien, car ils ne déclencheront par le champ de mine de tout façon.
exemples :
nul = [thislist] execVM "Minefields\Minefield_safezone.sqf"Lancement "standard"
2c. LA CREATION DE CHAMPS DE MINE ALEATOIREMENT : "RANDOM_MINEFIELDS.SQF":
Donne la possibilité de créer des champs de mines aléatoirement. Par défaut, un marqueur donne la position, la forme et l'orientation de chaque champ de mines généré, mais un 4ème paramètre permet, s'il est "false", de rendre ces marqueurs invisibles.
[nombre de champs de mine, position du pivot, rayon de placement] execVM "Minefields/random_Minefields.sqf"
exemples :
nul = [5, getpos this, 250] execVM "Minefields\random_Minefields.sqf"(appel placé dans le champ Init d'un objet) 5 champs de mines, autour de la position de l'objet, et dans un rayon de 250m
nul = [5, getpos this, 300, false] execVM "Minefields\random_Minefields.sqf"(appel placé dans le champ Init d'un objet) 5 champs de mines, autour de la position de l'objet, dans un rayon de 300m, avec marqueurs des champs de mines invisibles
2d. AFFICHER DES MARQUEURS INVISIBLE (cf. "random_minefields.sqf") : "SHOW_MF_MARKERS.SQF"
Ce script sert à rendre visible les marqueurs rendus invisible à l'initialisation de "random_Minefields.sqf"
execVM "Minefields/show_mf_markers.sqf"
exemple :
nul = execVM "Minefields\show_mf_markers.sqf"aucun paramètre
3. MISSION DÉMO :
La mission démo mets en place un champ de mine (le plus grand déclencheur) traversé au milieu par une zone sûre (le déclencheur étroit qui longe une cloture). Un chemin sécurisé est balisé par des cônes routiers à droite.
Un peu plus bas, à droite, se trouve un "logique de jeu" qui lance la génération de 5 champs de mines dans un rayon de 250m autour de lui, avec marquage des champs de mines. A gauche, le tracteur lance également la génération de 5 champs de mines, dans un rayon de 300, mais cette fois, les marqueurs seront rendus invisibles. On pourra les rendre visible à l'aide de la radio (message radio "markers", touches 0-0-0 au clavier).
procédure de déminage
- Un message vous avertira (exceptionnellement ;) ) lorsque vous entrez dans le champ de mine devant vous. Couchez-vous immédiatement ! A partir de ce moment, un menu "Baliser le chemin" vous permettra de baliser le chemin que vous emprunterez à l'aide d'un objet, et ce jusqu'à épuisement du stock. Ce chemin sera sûr pour vos équipiers, à condition de ne pas trop espacer les balises (auquel cas, vous pourriez "oublier","manquer" une mine)
- Occasionnellement (et selon la densité du champ de mine), un message vous avertissant que vous êtes tombé "nez à nez" avec une mine apparaitra en haut à droite.
VOUS AVEZ 1S POUR VOUS ARRETER !!
NE VOUS ÉLOIGNEZ PAS ! vous ne savez pas encore où est la mine et vous risquez de la déclencher en rampant dessus...Une seule alternative : le désamorcage !
A peu près une seconde après, un menu "Déminage" apparaitra à gauche, juste au dessus du menu "Baliser le chemin" vu précédemment.
- Une fois actionné ce menu, votre avatar "fouillera" le sol afin de faire remonter la mine et la désamorcer. L'opération prend environ 8s et un message vous avertira de la réussite du désamorcage.
- Vous pouvez poursuivre votre progression. Cette mine servira également à vos équipier à signaler que la zone autour de cette mine apparente est sûre (quelques mètres, suivant la densité du champ) et il n'est donc pas utile de gaspiller des objets de marquage à cet endroit.
Bonne édition !