GDC_fnc_extra - GdC-Framework/GdC_lib GitHub Wiki

Présentation

GDC_fnc_extra donne la possibilité aux joueurs de finir la mission en appelant un extraction héliportée pilotée par l'IA et pour laquelle il peuvent définir une LZ.
L'hélico peut être appelé par n'importe quel joueur à condition qu'il dispose de la bonne radio ACRE réglée sur le bon canal. Lorsque c'est le cas, une action apparait dans menu d’interaction sur soi de ACE du joueur. Lorsqu'il utilise cette dernière, il ne lui reste plus qu'à ouvrir sa carte et à cliquer à l'endroit désiré pour désigner la LZ. Il est ensuite possible d'annuler l'extraction via le menu d’interaction sur soi de ACE. Une fois que tout le monde est à bord, utilisez l'action molette "Partir" pour indiquer à l'hélico qu'il peut décoller.

Une vidéo de démonstration :
https://youtu.be/Hbt4jVeN0nY

Lien vers le code : https://github.com/GdC-Framework/GdC_lib/tree/master/gdc_lib_main/functions/gdc_extra

! La fonction nécessite ACE3 et ACRE2 pour fonctionner !

Function Header

Author: Sparfell

Description:
Init function for gdc_extra, a script for AI piloted extractions
Creates 2 ACE selfaction menu actions and required variables and markers

Parameter(s):
	0 : STRING - ACRE radio classname (ACRE_PRC343,ACRE_PRC148,...)
	1 : NUMBER - radio channel number
	2 : SIDE - side of the extraction helicopter (blufor,opfor,independent,civilian)
	3 : STRING - classname of the helicopter
	4 (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)
	5 (Optional): BOOL - the extraction will end the mission (default: true)
	6 (Optional): BOOL - the helicopter cannot be destroyed (default: true)

Returns:
nothing

Utilisation

A lancer depuis le init.sqf ou le initplayerlocal.sqf

Paramètres

  1. STRING - classname de la radio ACRE nécessaire pour appeler l'hélico d'extraction (ACRE_PRC343,ACRE_PRC148,...).
  2. NUMBER - numéro du canal nécessaire pour appeler l'hélico d'extraction.
  3. SIDE - camp de l'hélicoptère d'extraction (blufor,opfor,independent,civilian) (en général, mettre le même camp que les joueurs).
  4. STRING - classname de l'hélicoptère choisit
  5. (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])
  6. (optionnel) BOOL - Permet de couper automatiquement la mission si true: L'extraction met fin à la mission; si false: l'hélicoptère revient se poser sur sa position de spawn (dans ce cas il vaut mieux avoir défini cette position dans le paramètre 4) (default: true)
  7. (optionnel) BOOL - Si "false" l'hélicoptère peut être détruit (default: true)

Exemples

La fonction avec les paramètres optionnels par défaut donne ça :
["ACRE_PRC148",5,blufor,"B_Heli_Light_01_F",[0,0,0],true,true] call GDC_fnc_extra;
Ce qui revient donc à écrire ça :
["ACRE_PRC148",5,blufor,"B_Heli_Light_01_F"] call GDC_fnc_extra;
Dans ce cas, la position de spawn de l'hélico est aléatoire et l'extraction met fin à la mission.

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 le joueur est sur le segment qui relie "mk_obj" à la position de spawn de l'hélicoptère.
("mk_obj" --- LZ --- SpawnHelico)
["ACRE_PRC148",5,blufor,"B_Heli_Light_01_F","mk_obj"] call GDC_fnc_extra;