GDC_fnc_halo - GdC-Framework/GdC_lib GitHub Wiki

Présentation

GDC_fnc_halo donne la possibilité aux joueurs de procéder à une insertion parachutée en début de mission.
Il est possible de paramétrer le type de saut : HALO, HAHO, LALO. Seuls les joueurs présents dans une zone précise sont affectés par le saut ce qui permet de n'avoir qu'une partie d'entre eux qui participent au saut.
Selon le réglage choisi, les joueurs peuvent aussi choisir eux-même la DZ (Drop Zone).

Une vidéo de démonstration de saut LALO :
https://youtu.be/Clqt0YxiI4k

! La fonction nécessite ACE3 pour fonctionner !

Function Header

Author: Sparfell

Description:
Init function for gdc_halo, a script for HALO/HAHO/LALO insertion

Parameter(s):
	0 : OBJECT - name of the object players need to interact with in order to trigger an HALO insertion (typically a pole, a sign or a unit)
	1 (Optional):
		STRING - marker name, only players inside the marker area will be affected by the script (if "", the area will be located around the OBJECT defined in 0)(default: "")
		OBJECT - trigger name, only players inside the trigger area will be affected by the script
	2 (Optional): BOOL - players will have a GPS during the fall (no GPS in LALO mode)(default: true)
	3 (Optional): BOOL - players will be automatically ejected from the plane once above the DZ (if false the plane will fly over the DZ until no more players in passenger seats)(default: true)
	4 (Optional): BOOL - LALO jump, when the players jump out of the plane their parachute is automatically deployed and is unguided (default: false)
	5 (Optional): STRING - plane classname (default: "RHS_C130J")
	6 (Optional): NUMBER - plane flying altitude (if -1, ceiling altitude is selected)(default: -1)
	7 (Optional): ARRAY of STRINGs and/or OBJECTs - list of marker names or trigger names defining blacklisted areas (default: [])
	8 (Optional): ARRAY - DZ position (if [0,0,0], the players can choose the DZ)(default: [0,0,0])
	9 (Optional): ARRAY - plane spawn position (if [0,0,0], the position is randomized)(default: [0,0,0])

Returns:
nothing

Utilisation

A lancer depuis le init.sqf

Paramètres

  1. OBJECT - Nom de l'objet auquel est rattachée l'action qui déclenche le saut.
  2. (optionnel) STRING ou OBJECT - nom de marqueur ou nom de trigger, seuls les joueurs dans cette zone sont affectés par le script (si "" la zone est placée autour de l'objet défini dans 0) (default: "").
  3. (optionnel) BOOL - si true les joueurs ont un GPS pendant le saut (default: true).
  4. (optionnel) BOOL - si true les joueurs sont automatiquement éjectés hors de l'avion à l'arrivée sur la DZ, si false l'avion passe en continue au dessus de la DZ jusqu'à ce que tous les joueurs se soient éjectés (default: true).
  5. (optionnel) BOOL - si true le saut est un saut LALO, c'est à dire que lorsque les joueurs sont éjectés de l'avion, leur parachute se déploie automatiquement (default: false).
  6. (optionnel) STRING - classname de l'avion (default: "RHS_C130J").
  7. (optionnel) NUMBER - altitude de vol de l'avion (si -1 le plafond ASL max de l'avion est utilisé et si c'est un saut LALO, l'altitude sera 300m ATL) (default: -1).
  8. (optionnel) ARRAY de STRING et/ou d'OBJECT - Zones blacklistées (le joueur ne peut pas mettre le marqueur de DZ dans ces zones). Peut être un nom de marqueur (entre "") ou un nom de trigger. (default: []).
  9. (optionnel) ARRAY - position de la DZ définie par le créateur de mission (les joueurs ne peuvent donc pas choisir la DZ) (si [0,0,0] les joueurs peuvent choisir la DZ) (default: [0,0,0]).
  10. (optionnel) ARRAY - position de spawn de l'avion définie par le créateur de mission (si [0,0,0] la position est aléatoire) (default: [0,0,0]).

Exemples

La fonction avec les paramètres optionnels par défaut donne ça :
[nom_de_objet,"",true,true,false,"RHS_C130J",-1,[],[0,0,0],[0,0,0]] call GDC_fnc_halo;
Ce qui revient donc à écrire ça :
[nom_de_objet] call GDC_fnc_halo;
Dans ce cas, le saut est HALO avec GPS à 8000m, les joueurs peuvent choisir la DZ et l'éjection est automatique.

Dans le cas ci-dessous, on fait un saut LALO sans GPS à 300m et la position de spawn et la position de la DZ sont définie à l'avance par le créateur de la mission.
[nom_de_objet,"",false,true,true,"RHS_AN2_B",-1,[],[7922.47,10799.8,0],[7921.47,10826.1,0]] call GDC_fnc_halo;

Dans le cas ci-dessous, on fait un saut HALO avec GPS à 4000m, les joueurs s'éjectent manuellement et ils choisissent la DZ mais deux zones sont blacklistées (un marqueur et un trigger).
[nom_de_objet,"",true,false,false,"B_T_VTOL_01_infantry_F",4000,["mkz_zone_interdite",trg_zone_interdite]] call GDC_fnc_halo;

Aéronefs compatibles

Les hélicoptères ne sont pas compatibles avec le saut HALO car l'IA semble avoir des problèmes pour piloter des hélicos en altitude. Par contre ils sont compatibles avec le saut LALO.
Actuellement tous les avions ci-dessous sont certifiés compatibles avec le script :

Blackfish vanilla
	"B_T_VTOL_01_infantry_F"
C-130
	"RHS_C130J"
	"CUP_B_C130J_GB"
	"CUP_B_C130J_USMC"
	"CUP_O_C130J_TKA"
	"CUP_I_C130J_AAF"
	"CUP_I_C130J_RACS"
DC-3/C-47 de CUP
	"CUP_B_C47_USA"
	"CUP_O_C47_SLA"
	"CUP_C_C47_CIV"
	"CUP_C_DC3_CIV"
	"CUP_C_DC3_TanoAir_CIV"
Osprey de CUP
	"CUP_B_MV22_USMC"
AN-2
	"RHS_AN2_B"
	"RHS_AN2"
	"CUP_O_AN2_TK"
	"CUP_C_AN2_CIV"
	"CUP_C_AN2_AEROSCHROT_TK_CIV"
	"CUP_C_AN2_AIRTAK_TK_CIV"
IFA3
	"LIB_C47_Skytrain"
	"LIB_C47_RAF_bob"
	"LIB_C47_RAF_snafu"
	"LIB_C47_RAF"
	"LIB_Li2"
	"LIB_Ju52"

Notes

Si le choix de la position de la DZ est laissé aux joueurs, ils peuvent aussi définir l'axe d'approche de l'avion en définissant son point de spawn au moyen d'un marqueur nommé "AVION" et placé dans le canal global de la map.

Un onglet contenant les instructions pour le saut est automatiquement ajouté dans le briefing des joueurs.