ceci est un exemple simplifié de création d'unités IA “à la volée”.
“à la volée” c'est à dire au gré du déroulement de la mission, allégeant au début la map en ne mettant pas les unités IA de la fin de la mission.
Simplifié car un leader_x est caché sur la map, et on lui défini avec l'éditeur d'ArmA les points de passage, les modes de combat etc… qui n'auront donc pas besoin d'être scriptés et pourront être tester facilement en prévisualisation.
Le groupe crée aura donc les mêmes caractéristique que ce leader_X.
a. Si il y a déjà des unités des 2 camps
Pas d'élément à rajouter
b. Si la map est vide
Il est indispensable de positionner les center east et west. Dans le fichier Init.sqf, placer le code suivant :
Createcenter east; Createcenter west; WEST setFriend [EAST,0]; EAST setFriend [WEST,0];
ensuite on place sur l'activation [On Act : ] d'un déclencheur ou sur l'activation d'un point de passage ou autre :
null=[this] execVM "create_group_1.sqf";
////////////////////////////////////////////////////////////////// // create_group.sqf for Armed Assault // Created by: Killjoe ; nom de la mission ////////////////////////////////////////////////////////////////// // Le script ne s'exécute que côté serveur If !(IsServer) ExitWith {}; "RU_Soldier" createUnit [position leader_1, leader_1, "sol_1=this",0.8,"Corporal"]; "RU_Soldier" createUnit [position leader_1, leader_1, "sol_2=this",0.8,"Private"]; "RU_Soldier" createUnit [position leader_1, leader_1, "sol_3=this",0.8,"Private"]; "RU_Soldier" createUnit [position leader_1, leader_1, "sol_4=this",0.8,"Private"]; "RU_Soldier" createUnit [position leader_1, leader_1, "sol_5=this",0.8,"Corporal"]; "RU_Soldier" createUnit [position leader_1, leader_1, "sol_6=this",0.8,"Private"]; "RU_Soldier" createUnit [position leader_1, leader_1, "sol_7=this",0.8,"Corporal"]; "RU_Soldier" createUnit [position leader_1, leader_1, "sol_8=this",0.8,"Private"]; "RU_Soldier_MG" createUnit [position leader_1, leader_1, "sol_9=this",0.8,"Corporal"]; sleep 10; uaz_1="UAZ_MG_Base" createVehicle position leader_2; "RUS_Soldier_GL" createUnit [position leader_2, leader_2, "sol_11=this",0.9,"Corporal"]; leader_2 moveIngunner uaz_1; sol_11 moveIndriver uaz_1; exit;
commentaire :
"RU_Soldier" createUnit [position leader_1, leader_1, "sol_1=this",0.8,"Corporal"];
“classedel'unité” createUnit [position du leader, le leader est leader_1, “nomdel'unité=this”, sa force, “rang”]
uaz_1="UAZ_MG_Base" createVehicle position leader_2;
Nomduvéhicule = “classeduvéhicule” createVehicle position du leader : on crée un véhicule vide puis des unités, à qui on affecte un poste dans le véhicule par movein…
au risque de se gêner, ou s'endommager (ex hélico AH1W) dans ce cas on utilisera :
AH_2="AH1_Base" createVehicle [(getpos leader_2 select 0)+20,(getpos leader_2 select 1)+20, 0];
—- killjoe 02/05/2009 18:30