GDC_fnc_chooseIAHelicoInsert - GdC-Framework/GdC_lib GitHub Wiki

Présentation

GDC_fnc_chooseIAHelicoInsert est une fonction qui permet de proposer aux joueurs une insertion héliportée pilotée par l'IA tout en leur permettant de choisir la position de la LZ (Landing Zone).
Pendant le briefing, les joueurs peuvent déplacer un marqueur au moyen du bouton gauche souris (comme dans les missions cache cash) et au lancement de la mission, tous les joueurs sont automatiquement déplacés dans un hélicoptère qui se dirige vers la LZ désignée par le marqueur.
Il est possible de modifier l'effet de la fonction au moyen de plusieurs paramètres.

Function Header

Author: Sparfell

Description:
this function will allow the players to choose their helicopter insertion position during the briefing by moving a marker on the map using leftmousebutton
On mission launch, players will be moved inside an AI pilot helicopter transporting them to the designated LZ

Parameter(s):
	0 : STRING - name of the marker that will be moved, the marker defines the landing zone
	1 : STRING - classname of the helicopter
	2 (Optional): SIDE - side of the insertion helicopter (blufor,opfor,independent,civilian) (default: civilian)
	3 (Optional): ARRAY - array fo unit objects that will be moved in the helicopter at mission start (default: []) if [] all playableunits will be moved
	4 (Optional): STRING - rank required in order to be able to move the marker (default: "SERGEANT")
	5 (Optional):
		ARRAY - position for helicopter spawn (if = [0,0,0] the position is randomized) (default: [0,0,0])
		STRING - marker name (the marker should represent the main ennemy position, the helicopter will come from the opposite direction)
	6 (Optional): ARRAY of STRINGs and/or OBJECTs - list of marker names or trigger names defining blacklisted areas (default: [])
	7 (Optional): NUMBER - 0: land only, 1: land and water, 2: water only (default: 1)

Returns:
nothing

Utilisation

A lancer depuis le init.sqf
Seuls les deux premiers paramètres sont obligatoires, tous les autres sont optionnels.

Paramètres

  1. STRING - Nom du marqueur qui pourra être déplacé par les joueurs pendant le briefing. Ce marqueur définit ensuite la LZ sur laquelle l'hélico dépose les joueurs.
  2. STRING - classname de l'hélicoptère.
  3. (optionnel) SIDE - camp de l'hélicoptère d'insertion (blufor,opfor,independent,civilian) (default: civilian)
  4. (optionnel) ARRAY - Entre crochets la liste des objets (unités) qui seront déplacés dans l'hélico au début de la mission. Si vous laissez la liste vide [], toutes les unités jouables sont déplacées. (default: [])
  5. (optionnel) STRING - Grade requis pour pouvoir déplacer le marqueur sur la carte du briefing (voir: https://community.bistudio.com/wiki/rank ). (default: "SERGEANT")
  6. (optionnel) ARRAY ou STRING - Si c'est un ARRAY [x,y,z] cela correspond à la position de spawn de l'hélico (si [0,0,0] position aléatoire). Si c'est un STRING "", ce doit être un nom de marqueur, dans ce cas la position de spawn est choisie à l'opposé de la position de ce marqueur par rapport à la position de la LZ choisie par le joueur. Cela permet d'éviter que l'hélico arrive en survolant la principale zone ennemie. (default: [0,0,0])
  7. (optionnel) ARRAY de STRING et/ou d'OBJECT - Zones blacklistées (le joueur ne peut pas mettre le marqueur dans ces zones). Peut être un nom de marqueur (entre "") ou un nom de trigger. (default: [])
  8. (optionnel) NUMBER - 0 = seulement sur la terre, 1 = sur la terre et sur la mer, 2 = seulement sur la mer. (default: 1)

Exemples

La fonction avec les paramètres optionnels par défaut donne ça :
["mk_lz","B_Heli_Transport_03_F",civilian,[],"SERGEANT",[0,0,0],[],1] call GDC_fnc_chooseIAHelicoInsert;
Ce qui revient donc à écrire ça :
["mk_lz","B_Heli_Transport_03_F"] call GDC_fnc_chooseIAHelicoInsert;

Dans le cas ci-dessous, seuls les unités p5, p6, p7 et p8 sont déplacées dans l'hélico au début de la mission et les zones "mk_airport" et trg_ville sont blacklistées :
["mk_lz","B_Heli_Transport_03_F",civilian,[p5,p6,p7,p8],[0,0,0],["mk_airport",trg_ville]] call GDC_fnc_chooseIAHelicoInsert;

Dans le cas ci-dessous, le marqueur "mk_obj" est placé sur l'objectif ennemi, la position de spawn de l'hélicoptère est définie telle que la position de la LZ choisie par les joueurs est sur le segment qui relie "mk_obj" à la position de spawn de l'hélicoptère :
("mk_obj" --- "mk_lz" --- Spawn de l'hélico)
["mk_lz","B_Heli_Transport_03_F",civilian,[],"SERGEANT","mk_obj"] call GDC_fnc_chooseIAHelicoInsert;