Vous pourrez trouver la liste des animations et des exemples sur la page du Community Wiki pour Arma III. Sur cette même page, vous verrez que divers paramètres existent pour ces fonctions. A vous de voir l'utilité qu'ils auront pour vous. Noter simplement que trois des six paramètres possibles sont facultatifs.
BIS_fnc_ambientAnim
Cette fonction permet de jouer une animation sur une unité donnée. Cette animation est à privilégier sur les unités qui n'ont pas besoin de réagir au combat. Pour jouer l'animation, il vous suffit d'écrire par exemple :
Code : Tout sélectionner
[[_unit, "BRIEFING", "FULL"], BIS_fnc_ambientAnim] remoteExec ["call"];
- STAND1
- STAND2
- STAND_U1
- STAND_U2
- STAND_U3
- WATCH
- WATCH2
- GUARD
- LISTEN_BRIEFING
- LEAN_ON_TABLE
- LEAN
- SIT_AT_TABLE
- SIT1
- SIT
- SIT3
- SIT_U1
- SIT_U2
- SIT_U3
- SIT_HIGH1
- SIT_HIGH
- SIT_LOW
- SIT_LOW_U
- SIT_SAD1
- SIT_SAD2
- KNEEL
- REPAIR_VEH_PRONE
- REPAIR_VEH_KNEEL
- REPAIR_VEH_STAND
- PRONE_INJURED_U1
- PRONE_INJURED_U2
- PRONE_INJURED
- KNEEL_TREAT
- KNEEL_TREAT2
- BRIEFING
- BRIEFING_POINT_LEFT
- BRIEFING_POINT_RIGHT
- BRIEFING_POINT_TABLE
Cette animation est jouée en boucle et peut être désactivée avec :
Code : Tout sélectionner
_unit call BIS_fnc_ambientAnim__terminate
BIS_fnc_ambientAnimCombat
Cette fonction s'emploie comme la précédente mais permet à l'unité de réagir à une situation de combat. De plus, il est possible de conditionner l'arrêt de l'animation via une condition /un code. Dans l'exemple ci-dessous, l'unité se placera par principe en mode de combat dès qu'elle sera alertée (Tirs proches, détection allié, etc...) ou lorsqu'un joueur se trouvera à moins de 5 mètres de sa position.
Code : Tout sélectionner
[[_unit, "WATCH1", "FULL", { (player distance _this) < 5 }], BIS_fnc_ambientAnimCombat] remoteExec ["call"];
Les animations possible sont :
- "STAND"
- "STAND_IA"
- "SIT_LOW"
- "KNEEL"
- "LEAN"
- "WATCH"
- "WATCH1"
- "WATCH2"
Sur serveur dédié
Pour jouer ces animations sur un serveur dédié, j'utilise un script.sqf que j'initialise dans le init.sqf.
Voici ce que j'inscris dans mon init.sqf :
Code : Tout sélectionner
nul = [] execVM "scripts\ambientAnimation.sqf";
Pour le script d'animations, nommé ici "ambientAnimation.sqf", je le place habituellement dans un sous-dossier nommé "scripts". Dans ce fichier sqf, je place ceci :
Code : Tout sélectionner
if (isServer) then {
//BIS_fnc_ambientAnim ==> Les unités ne se mettent pas en mode "combat" (A utiliser pour l'ambiance !)
[[_unit, "BRIEFING", "FULL"], BIS_fnc_ambientAnim] remoteExec ["call"];
//BIS_fnc_ambientAnimCombat ==> Les unités peuvent se mettre en mode "combat"
[[_unit, "WATCH1", "FULL", { (player distance _this) < 5 }], BIS_fnc_ambientAnimCombat] remoteExec ["call"];
};
Bon jeu,