Ici un simple choix de 5 positions préalablement enregistrées qui donne aléatoirement une seule position a chaque lancement de script
Qui donne au final, 1 position choisie sur 5 possibles pour 1 objet ou unité.
Code : Tout sélectionner
_positions =
[
[2566.78,3195.78,0],
[2564.85,3194.16,0],
[2593.98,3221.87,0],
[2585.83,3217.15,0],
[2647.25,3204.59,0]
];
_position = _positions call BIS_fnc_selectRandom; // selection de 1 array parmis les 5 proposés (array choisi)
Ajouté 17 minutes 42 secondes après :
Plus compliqué ci dessous, choix d'un array contenant plusieurs positions parmis 4 zones selectionnées.
Array dans lequel, on peut avoir en select 0 un choix unique, en select 1 un choix a partir de positions multiples, en select 2 un choix a partir de positions multiples aussi.
Qui donne au final, 3 positions choisies pour 3 objets différents à partir de 4 zones pré-renseignées.
C a dire on pourra faire spawner, une artillerie, juste a coté un groupe de défense (a différents endroits autour de cette artillerie) et aussi un véhicule (à coté de cette artillerie a différents endroits). le tout est de bien repérer chaque emplacement à l'avance et de le mettre dans le bon array.
Je ne fourni pas les medocs pour les maux de tête....
Code : Tout sélectionner
_positions =
[
[
[2601.08,3215.24,0], // _pos_1
[
[2579.4,3178.6,4.1],
[2566.78,3195.78,0.4],
[2564.85,3194.16,8.56],
[2593.98,3221.87,0.3],
[2585.83,3217.15,0.2],
[2647.25,3204.59,0.4],
[2637.22,3207.15,0.4]
], // _pos_2
[
[2597.5168,3242.814,0],
[2547.0671,3187.8462,0],
[2583.5298,3156.8748,0],
[2653.5852,3200.9695,0]
] // _pos_3
], // choix1
[
[2637.54,3353.65,0], // _pos_1
[
[2614.43,3363.84,0],
[2661.81,3366.15,0.3],
[2656.13,3368.26,0.2],
[2616.09,3352,6.6],
[2617.05,3350.3,3.2],
[2649.25,3361.54,0.3]
], // _pos_2
[
[2666.9053,3381.2061,0],
[2609.863,3394.5911,0],
[2589.8555,3343.3279,0],
[2669.0586,3323.2205,0]
] // _pos_3
],// choix2
[
[2824.55,3565.95,0], // _pos_1
[
[2791.8,3546,0.2],
[2789.14,3554.23,4.6],
[2779.75,3536.02,0.3],
[2864.4,3531.68,0.4],
[2809.11,3569.98,0.4],
[2806.17,3565.66,0.5],
[2814.74,3564.11,0.1],
[2815.83,3572.83,0.2]
], // _pos_2
[
[2818.9185,3594.8269,0],
[2766.3982,3533.1165,0]
] // _pos_3
],// choix3
[
[3134.88,3274.85,0], // _pos_1
[
[3133.67,3290.28,0.3],
[3145.54,3266.3,0.3],
[3147.7,3271.13,0],
[3146.79,3288.97,0]
], // _pos_2
[
[3158.83,3292.9,0],
[3161.43,3245.3,0],
[3071,3267.66,0],
[3081.34,3314.83,0]
] // _pos_3
] //choix 4
];
_position = _positions call BIS_fnc_selectRandom; // selection de un array sur un choix sur 4 (array choisi), choix d'une zone
/*Ici la fonction va me sortir un array au hasard parmi 4 choix possible d'endroits (ex est, ouest, nord, sud) mais un array qui en comprend 3 autres, (au lieu d'un seul comme dans le premier exemple ci dessus) dont le premier array (_pos_1 ) est a choix unique (puisqu'il en contient un seul) et les deux autres (_pos_2 et _pos_3) sont a choix multiples (puisqu'ils en contiennent plusieurs), dont il en sortira une seule position au final.*/
_pos_1 = (_position select 0); // selection du 1er array de l'array choisi (choix unique pour celui ci)
_pos_2 = (_position select 1) call BIS_fnc_selectRandom; // selection d'un array parmi d'autres, du 2eme array de l'array choisi
_pos_3 = (_position select 2) call BIS_fnc_selectRandom; // selection d'un array parmi d'autres, du 3eme array de l'array choisi
//Ici, ne sortira que 3 arrays contenant 1 seule position dans chacun d'eux.
_veh = createVehicle ["O_HMG_01_F",_pos_1,[],0,"NONE"];
_veh2 = createVehicle ["O_MBT_02_arty_F",_pos_3,[],0,"NONE"];
_grp = createGroup "EAST";
_unit1 = _grp createUnit ["O_Soldier_F",_pos_2,[], 0.3, "NONE"];
_unit1 moveInDriver _veh;
_unit2 = _grp createUnit ["O_Soldier_F",_pos_2,[], 0.3, "NONE"];
_unit2 moveInDriver _veh2;
Après il y a la solution de faire spawner aléatoirement, une a plusieurs fois, un véhicule, un groupe ou une composition d'objets dans un cercle de rayon x dans des endroits pré-établis sur la carte. En tenant compte de la végétation, du terrain, de la pente, de l'environnement et des objets autour (arbres, eau, véhicules, maisons, talus, etc..). C'est ce que j'utilisais dans arma 2 sur la domination I44 pour faire spawner une composition de batteries AA ou une composition de batterie de 88 (en autres ex), scripts que j'ai mis au gout du jour sur Arma3 pour être utilisé à n'importe quelle fin. C'est un dossier de scripts assez conséquent.
Tout est possible, tout est réalisable, c'est le jeu de la vie ! (Chevallier & Laspales)