On peut comme ça connaître précisément le nombre d'ennemis restant sur une carte:
Allez hop au travail les éditeurs: !
- Il faut commencer par créer un déclencheur sur l'éditeur DONT LE NOM DOIT ETRE "ENNEMIES": (si on ne nomme pas ainsi, ça ne marche pas sans renommer la variable dans le script "info.sqs")
On peut paramétrer les choses suivantes à partir du déclencheur:
-le camp (ici opfor) qui va être comptabilisé
-le rayon du déclencheur, qui permet d'exclure ou d'englober une zone (normalement avec 15000*15000 je devrais avoir toute la carte )
Concernant le reste, il faut indiquer le chemin d'accès d'un premier script dans la zone de sur-activation du déclencheur avec la commande suivante:
(dans l'image du déclencheurs j'ai un chemin légèrement différent : "scripts\score.sqf" parce j'utilise un sous dossier nommé "scripts" dans le dossier de ma mission qui contient tout les scripts; c'est juste plus lisible je trouve ){_x AddEventHandler ["FiredNear",{_this exec "score.sqf"}]} forEach thislist - Deuxième partie, copier le script suivant dans le dossier de votre mission en le nomant "score.sqf"
Code : Tout sélectionner
_unit = _this select 0; _fired = _this select 1; _unit setunitpos "MIDDLE"; _unit doWatch _fired; _unit removeAllEventHandlers "firedNear";
- Dernière partie le vrai script de comptage, nommé "info.sqs":
je vous rassure, le décompte est précis mais pour éviter de prendre trop de CPU et puis parce que c'est mieux, le nombre d'ennemi vivant est réactualisé (attentre la réactualisation pour voir le vrai nombre d'ennemi restant); ici toutes les 5 sec; cette valeur est modifiable:Code : Tout sélectionner
; ******************************************************************************* ; ** Script: info.sqs ; ** Descripcion: ; ******************************************************************************* ; ** Autor: RAVEN ; ******************************************************************************* ; ** Invocación: ; ******************************************************************************* ; ** Comentarios: ; ******************************************************************************* ~10 #loop _lista = LIST ENEMIES ~0.5 vivos = 0 {if (alive _x) then {vivos = vivos + 1}} foreach _lista hintsilent format [" %1 Ennemis estimés", vivos] ~5 ? vivos < 1 : goto "End" goto "loop" #End exit
toutes les 60 sec par exemple:Code : Tout sélectionner
hintsilent format [" %1 Ennemis estimés", vivos] ~60 ? vivos < 1 : goto "End"
- J'ai failli oublié ; à mettre dans le fichier "init.sqf" de la mission la ligne suivante:
Code : Tout sélectionner
[] exec"info.sqs"
Pour ceux qui le souhaite, la mission dans lequel j'ai trouvé cette petite merveille et disponible sur notre serveur de test:
OA =NMD= Two Simple Tasks v1_1.