Différences
Ci-dessous, les différences entre deux révisions de la page.
arma_3:createurs_de_missions:tips_en_tout_genre:gaia [2019/04/25 15:48] admin [GAIA] |
arma_3:createurs_de_missions:tips_en_tout_genre:gaia [2019/09/03 21:52] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== GAIA ====== | ||
- | > GAIA est un ensemble de scripts développés par spirit6 en 2014. Il améliore la gestion tactique des IA. Nous expliquons ici brièvement comment intégrer GAIA dans une mission. | ||
- | |||
- | <note important> | ||
- | ===== Installer GAIA ===== | ||
- | Pour installer GAIA, il suffit de coller le dossier contenant les scripts dans le dossier de mission. Vous trouverez ces scripts en téléchargeant la mission exemple disponible [[https:// | ||
- | |||
- | Coller ensuite le code suivant dans le '' | ||
- | |||
- | < | ||
- | // *** Configuration des paramètres généraux de GAIA *** | ||
- | if (isServer ) then | ||
- | { | ||
- | // From what range away from closest player should units be cached (in meters or what every metric system arma uses)? | ||
- | // To test this set it to 20 meters. Then make sure you get that close and move away. | ||
- | // You will notice 2 levels of caching 1 all but leader, 2 completely away | ||
- | // Stage 2 is 2 x GAIA_CACHE_STAGE_1. So default 2000, namely 2 x 1000 | ||
- | GAIA_CACHE_STAGE_1 = 1000; | ||
- | // The follow 3 influence how close troops should be to known conflict to be used. (so they wont travel all the map to support) | ||
- | // How far should footmobiles be called in to support attacks. | ||
- | // This is also the range that is used by the transport system. If futher then the below setting from a zone, they can get transport. | ||
- | MCC_GAIA_MAX_SLOW_SPEED_RANGE | ||
- | // How far should vehicles be called in to support attacks. (including boats) | ||
- | MCC_GAIA_MAX_MEDIUM_SPEED_RANGE= 4500; | ||
- | // How far should air units be called in to support attacks. | ||
- | MCC_GAIA_MAX_FAST_SPEED_RANGE | ||
- | // How logn should mortars and artillery wait (in seconds) between fire support missions. | ||
- | MCC_GAIA_MORTAR_TIMEOUT = 300; | ||
- | // DANGEROUS SETTING!!! | ||
- | // If set to TRUE gaia will even send units that she does NOT control into attacks. Be aware ONLy for attacks. | ||
- | // They will not suddenly patrol if set to true. | ||
- | MCC_GAIA_ATTACKS_FOR_NONGAIA = true; | ||
- | // If set to false, ai will not use smoke and flares (during night) | ||
- | MCC_GAIA_AMBIANT = true; | ||
- | // Influence how high the chance is (when applicaple) that units do smokes and flare (so not robotic style) | ||
- | // Default is 20 that is a chance of 1 out of 20 when they are applicable to use smokes and flares | ||
- | MCC_GAIA_AMBIANT_CHANCE = 20; | ||
- | // The seconds of rest a transporter takes after STARTING his last order | ||
- | MCC_GAIA_TRANSPORT_RESTTIME = 20; | ||
- | }; | ||
- | // We set the markers invisible (if you use more then 100 markers, then increase). Or delete if you want them visible | ||
- | for " | ||
- | { | ||
- | format [" | ||
- | }; | ||
- | |||
- | //DO NOT CHANGE FROM BELOW (You can, but you will be out of support :P ) | ||
- | |||
- | // | ||
- | if (isserver) then {call compile preprocessfile " | ||
- | // | ||
- | if (isServer ) then | ||
- | { | ||
- | [] spawn | ||
- | { | ||
- | _gaia_respawn = []; | ||
- | while {true} do | ||
- | { | ||
- | //player globalchat " | ||
- | |||
- | { | ||
- | _gaia_respawn = (missionNamespace getVariable [ " | ||
- | //Store ALL original group setups | ||
- | if (count(_gaia_respawn)==0) then {[(_x)] call fn_cache_original_group; | ||
- | |||
- | if ((({alive _x} count units _x) == 0) ) then | ||
- | { | ||
- | // | ||
- | if (count(_gaia_respawn)==2) then { [_gaia_respawn, | ||
- | |||
- | // | ||
- | missionNamespace setVariable [" | ||
- | |||
- | deleteGroup _x; | ||
- | }; | ||
- | |||
- | sleep .1; | ||
- | |||
- | } foreach allGroups; | ||
- | |||
- | sleep 2; | ||
- | }; | ||
- | }; | ||
- | }; | ||
- | // *** Fin de configuration des paramètres généraux de GAIA *** | ||
- | </ | ||
- | ===== Utiliser GAIA dans l' | ||
- | //(Merci à Sardo)// | ||
- | |||
- | Pour utiliser GAIA dans l' | ||
- | * Définir des zones avec les marqueurs ellipse ou rectangle de l' | ||
- | * Nommer le marqueur par un chiffre de 1 à 99, ce qui permet de rendre ces marqueurs invisibles lors du briefing (cf. code d' | ||
- | * Puis, il suffit de donner le contrôle d'un groupe à GAIA. Cela se fait en entrant dans l'init du leader du groupe une ligne telle que : | ||
- | < | ||
- | (group this) setVariable [" | ||
- | </ | ||
- | où '' | ||
- | |||
- | Vous trouverez des [[https:// | ||
- | ===== Utiliser GAIA de façon conditionnelle ===== | ||
- | (//Merci à Sparfell et Shinriel//) | ||
- | |||
- | Il est possible de donner le contrôle d'un groupe à GAIA par code. Cela permet de contrôler le comportement des groupes par les ordres vanilla définis dans Eden (via les points de passage) et de profiter de la gestion dynamique de GAIA lors d'un événement donné, par exemple, lors du passage à l' | ||
- | |||
- | ==== Un exemple simple avec Eden ==== | ||
- | * Créer un groupe d' | ||
- | < | ||
- | grpAssaut1 = group this; | ||
- | </ | ||
- | * Créer ensuite un déclencheur. Choisissez la condition d' | ||
- | * Dans l' | ||
- | < | ||
- | grpAssaut1 setVariable [" | ||
- | </ | ||
- | |||
- | Lorsque le déclencheur passe à l' | ||