Dans les missions, il est parfois intéressant de mettre des objets ou des unités qui n'apparaissent pas toujours au même endroit. C'est pour cela que nous utilisons la fonction
random.
Par exemple nous voulons qu'une unité apparaisse sur une des 3 positions différentes lors du lancement de la mission.
Méthode sans script
Dans un premier temps, placez une unité (
F1).
La position initiale + deux marqueurs feront en sorte d'avoir 3 positions aléatoires. Vous pouvez bien entendu en rajouter.
Les déclencheurs permettent de configurer certain attributs de l'unité tels que la direction, la hauteur, etc..
Voici un exemple :Position 2
Liaison (
F2) :
- Unité => Marqueur
- Déclencheur => Unité
Configuration du déclencheur :
- Condition : this
- Sur Act : (thislist select 0) setDir 330
Position 3
Liaison (
F2) :
- Unité => Marqueur
- Déclencheur => Unité
Configuration du déclencheur :
- Condition : this
- Sur Act : (thislist select 0) setDir 128
(thislist select 0) permet de sélectionner notre unité qui est reliée au déclencheur.
Méthode avec script
Dans un premier temps, placez une unité et nommé la
Jean.
Ensuite il faut créer 3 marqueurs avec un nom différent.
Par exemple :
- Position 1 = M1
- Position 2 = M2
- Position 3 = M3
Maintenant dans le dossier de votre mission, vous allez créer un fichier :
(Mes documents/[ArmA2\ArmA2 other Profiles]/VotrePseudo/missions/maMission.*/)Il existe plusieurs méthodes, choisissez laquelle vous voulez utiliser.
Méthode 1init.sqs
Insérez le code suivant dans le fichier
init.sqs :
_rand = floor(random 3);
_pos1 = getMarkerPos "M1";
_pos2 = getMarkerPos "M2";
_pos3 = getMarkerPos "M3";
?(_rand == 0) : Jean setpos _pos1;
?(_rand == 1) : Jean setpos _pos2;
?(_rand == 2) : Jean setpos _pos3;
Méthode 2init.sqs
Insérez le code suivant dans le fichier
init.sqs :
_rand = floor(random 3);
?(_rand==0):goto "position1"
?(_rand==1):goto "position2"
?(_rand==2):goto "position3"
#position1
_pos1 = getMarkerPos "M1"
Jean setpos _pos1
exit
#position2
_pos2 = getMarkerPos "M2"
Jean setpos _pos2
exit
#position3
_pos3 = getMarkerPos "M3"
Jean setpos _pos3
exit
Méthode 3init.sqf
Insérez le code suivant dans le fichier
init.sqf :
_rand = floor(random 3);
_pos = switch (_rand) do {
case 0: { getMarkerPos "M1" };
case 1: { getMarkerPos "M2" };
case 2: { getMarkerPos "M3" };
default { getMarkerPos "M1" };
};
Jean setpos _pos;
Et voila, votre unité apparaitra aléatoirement soit à la position
M1,
M2 ou
M3.