Besoin d'aide script arma3 |
Bienvenue invité ( Connexion | Inscription )
Besoin d'aide script arma3 |
jeudi 11 février 2016 Ã 14:21
Message
#1
|
|
Typhon Groupe : Membre d'Honneur Messages : 16115 Inscrit : 07/04/2006 Lieu : Strasbourg Membre no 2410 |
Voilà mon soucis je souhaite qu'à une heure donnée un IA apparaisse et monte dans un véhicule faire un trajet donné.
Alors j'arrive à mettre mon IA dans le véhicule sans soucis et à le faire rouler, mais je fais comment pour que l'IA n'apparaisse qu'à disons 1h00 du matin??? début de mission minuit -------------------- A FLUCTIBUS OPES
VENI,VIDI,VICI NO TREPASSING-VIOLATORS WILL BE SHOT-SURVIVORS WILL BE SHOT AGAIN |
|
|
jeudi 11 février 2016 Ã 21:24
Message
#2
|
|
Petite brise Groupe : Membres Messages : 126 Inscrit : 02/01/2010 Membre no 15499 |
tout dépend.
qui peut le plus peut le moins, donc voilà un petit script qui te permettra de créer un camion avec des unités de renforts qui seront déchargées là ou tu le souhaites. Avant tout, il faut savoir que toute partie lancée lit automatiquement plusieurs fichiers, s'ils sont présents dans la mission. L'un d'eux, dont on se sert pour appeler en cascade les scripts persos, est l'init. Il faut donc créer un init.sqf (fichier texte) dans ton dossier de mission (qui se trouve par défaut dans tes documents, arma 3, missions...). Ce dossier se crée dès que tu as enregistré ta mission dans l'éditeur. A faire donc de suite, pour pouvoir placé ses fichiers scripts. Nous allons créer également un creation.sqf (toujours en fichier texte), qui lui va contenir le code qui va nous permettre de faire ce que je t'ai décrit plus haut. Dans l'éditeur, il faut placer deux marqueurs. Le premier avec le nom start, sera le lieu où l'on va créer nos unités. Le second avec le nom end, qui marque le lieu d'arrivée. Pose des marqueurs par défaut, sans forme ni couleur, ils ne servent que de balise et n'ont pas besoin d'être vu par les joueurs sur la map. Nous allons posé quelque part sur la map un soldat Opfor, tout seul, dans un coin, qu'on ne croisera jamais et qui ne sert qu'a éviter quelques lignes de code. S'il n'existait pas, il faudrait créer un centre, puis créer un camp, en ligne de commande. Bien, tout d'abord, le code dans l'init.sqf qui appellera automatiquement le creation.sqf (pour info, une ligne qui commence par // est une ligne de commentaire) Code //seul le serveur lance le script if (isServer) then { null = [] execVM "creation.sqf" }; Ici on lance creation.sqf en gérant ce qu'on appelle la localité. c'est à dire que seul le serveur lance le script. init.sqf est lancé en début de partie par chaque entité (joueur) et le serveur. Ici le if limite donc l'appel à une seule fois, celle du serveur. et voici le code du creation.sqf Code //temporisation en seconde (donc 3600 si tu veux attendre une heure) sleep 10; //creation de deux groupes (conducteurs et troupes dans le camion) //cela ne crée rien, juste les "containers" groupe prêts à recevoir nos unités créées après _g1 = createGroup east; _g2 = createGroup east; //la création de groupe est possible seulement s'il existe un camp qui lui existe s'il existe un centre //d'où le positionnement d'un soldat Opfor dans l'éditeur //ATTENTION on ne peut créer de groupes que pour le même camp de l'unité posé dans l'éditeur, si un civil a été posé //tout le code ne marche pas! //on recupere la position des deux marqueurs posés dans l'editeur _posdepart = getMarkerPos "start"; _posarrivee = getMarkerPos "end"; //creation d'un camion decouvert au point de départ avec son pilote [_posdepart,0,"O_Truck_02_transport_F",_g1] call BIS_fnc_spawnVehicle; //recuperation de l'unité et du nom du véhicule créés _leader = leader _g1; _vehicule = vehicle _leader; //creation d'un groupe de soldat que l'on place dans la foulée en passager du camion _g2 = [_posdepart,EAST,["O_soldier_SL_F","O_soldier_TL_F","O_soldier_AR_F","O_soldier_GL_F","O_medic_F","O_soldier_AR_F","O_soldier_F","O_soldier_F","O_soldier_GL_F","O_soldier_F"]] call BIS_fnc_spawnGroup; {_x moveInCargo _vehicule} forEach units _g2; //assignation au conducteur d'un point de passage de type 'c'est tranquille' pour aller décharger les troupes (TR UNLOAD) (il existe nombre de type de waypoint) //en effet, en mode safe, les conducteurs prennent automatiquement les routes pour faire leurs transits //ce qui n'est pas le cas s'ils sont en mode combat ! _wp = _g1 addWaypoint [_posarrivee , 0]; _wp setWaypointType "TR UNLOAD"; _wp setWaypointCombatMode "RED"; _wp setWaypointSpeed "NORMAL"; _wp setWaypointBehaviour "SAFE"; //autre paramètre du waypoint : regle d'engagement, feu a volonté. vitesse de déplacement normale. Pour info, on ne peut créer une unité que si elle appartient à un groupe préalablement créé. Il n'y a pas de limitation au nombre d'unité appartenant au même groupe. Par camp, on ne peut avoir créer que 300 groupes environ. (ce qui laisse beaucoup de marge pour une mission) Voilou, en une question, on aura balayé pas mal de points du scripting sous arma 3 fichiers d'appel, localité, forme des sqf,... Si tu as des questions là -dessus, n'hésite surtout pas. voici le lien sur le wiki de Bohémia concernant tout ça : syntaxe des commandes, aides en tout genre.... https://community.bistudio.com/wiki/Categor...cripting_Topics Ce message a été modifié par BALLA - jeudi 11 février 2016 à 21:45. -------------------- |
|
|
vendredi 12 février 2016 Ã 16:09
Message
#3
|
|
Typhon Groupe : Membre d'Honneur Messages : 16115 Inscrit : 07/04/2006 Lieu : Strasbourg Membre no 2410 |
Super merci Balla.
Juste pour être sur _leader = leader _g1; _vehicule = vehicle _leader; Leader_g1 et vehicule_leader c'est juste le nom que je donne aux véhicules dans l éditeur? -------------------- A FLUCTIBUS OPES
VENI,VIDI,VICI NO TREPASSING-VIOLATORS WILL BE SHOT-SURVIVORS WILL BE SHOT AGAIN |
|
|
vendredi 12 février 2016 Ã 16:18
Message
#4
|
|
Cyclone Groupe : In memoriam Messages : 8278 Inscrit : 02/12/2007 Lieu : Lyon Centre Membre no 8555 |
Je vois que le fiston a enfin retenu quelques unes de mes leçons sur le scriptage !
-------------------- |
|
|
vendredi 12 février 2016 Ã 17:19
Message
#5
|
|
Sémaphore 2018 Groupe : Sémaphore Messages : 3228 Inscrit : 07/04/2007 Lieu : Ardennes belges Membre no 6490 |
Félicitations pour cette démo du script sur Arma3
Et merci à ce bon programmeur qui doccumente généreusement ses lignes ( // infos en francais des commandes utilisées) Ce message a été modifié par ybar - vendredi 12 février 2016 à 17:21. -------------------- L'union fait la force - devise nationale belge - Voir les tutos sur ma chaîne Youtube (cliquez ICI )
|
|
|
vendredi 12 février 2016 Ã 18:25
Message
#6
|
|
Petite brise Groupe : Membres Messages : 126 Inscrit : 02/01/2010 Membre no 15499 |
Super merci Balla. Juste pour être sur _leader = leader _g1; _vehicule = vehicle _leader; Leader_g1 et vehicule_leader c'est juste le nom que je donne aux véhicules dans l éditeur? Non pas du tout. dans ton éditeur, pour l'instant, tu as seulement 4 choses : ton unité joueur, un opfor quelque part au bout de la map, deux marqueurs, un avec le nom start et l'autre end. ces deux lignes de codes n'ont pour seul but que de connaitre le nom du véhicule piloté par l'unité du groupe _g1. C'est ce nom qu'on utilise dans les lignes suivantes pour mettre en passager toutes les unités du second groupe créé, _g2. Groupe qui sera "déchargé" au point d'arrivée. -------------------- |
|
|
vendredi 12 février 2016 Ã 19:41
Message
#7
|
|
Typhon Groupe : Membre d'Honneur Messages : 16115 Inscrit : 07/04/2006 Lieu : Strasbourg Membre no 2410 |
Ok je fais mon boulet les soldats c'est "O_soldier_SL_F" ça m'apprendra à pas lire..
-------------------- A FLUCTIBUS OPES
VENI,VIDI,VICI NO TREPASSING-VIOLATORS WILL BE SHOT-SURVIVORS WILL BE SHOT AGAIN |
|
|
dimanche 14 février 2016 Ã 15:49
Message
#8
|
|
Typhon Groupe : Membre d'Honneur Messages : 16115 Inscrit : 07/04/2006 Lieu : Strasbourg Membre no 2410 |
Ok autre question dans mon init j'ai ça pour lancer briefing.sqf
Code execVM "briefing.sqf"; if(isNil "paramsArray") then { paramsArray = [ 5, // Nombre de vie 0, // Perdre vie si réanimé 0 // Perdre vie si respawn base ]; }; ADO_REVIVE_PARAM_life = paramsArray select 0; ADO_REVIVE_PARAM_revive = paramsArray select 1; ADO_REVIVE_PARAM_respawnBase = paramsArray select 2; execVM "ADO_Revive\ado_revive_init.sqf"; Dans mon briefing.sqf Code waitUntil { !isNil {player} }; waitUntil { player == player }; player createDiaryRecord ["Diary", ["Renseignements", "Le rendez vous entre Miller et Carlors est prévue à 00h45 L'UAV est prêt de l'épave de la CIA"]]; //Task1 - COMMENT task_1 = player createSimpleTask ["Récupérer l'UAV"]; task_1 setSimpleTaskDescription ["votre objectif est de récupérer l'uav sur l'épave de la cia","Récupérer l'UAV","Récupérer l'UAV"]; task_1 setSimpleTaskDestination (getMarkerPos "task1"); task_1 setTaskState "assigned"; player setCurrentTask task_1; //Task2 - COMMENT task_2 = player createSimpleTask ["Récupérer l'ordinateur"]; task_2 setSimpleTaskDescription ["Récupérer l'ordinateur dans la maison de Carlos","Récupérer l'ordinateur","Récupérer l'ordinateur"]; task_1 setSimpleTaskDestination (getMarkerPos "task2"); task_2 setTaskState "assigned"; player setCurrentTask task_2; //Task3 - COMMENT task_3 = player createSimpleTask ["Récupérer les documents"]; task_3 setSimpleTaskDescription ["Récupérer les documents dans la maison de Carlos","Récupérer les documents","Récupérer les documents"]; task_1 setSimpleTaskDestination (getMarkerPos "task3"); task_3 setTaskState "assigned"; player setCurrentTask task_3; et fail ça ne marche pas... -------------------- A FLUCTIBUS OPES
VENI,VIDI,VICI NO TREPASSING-VIOLATORS WILL BE SHOT-SURVIVORS WILL BE SHOT AGAIN |
|
|
dimanche 14 février 2016 Ã 16:05
Message
#9
|
|
Petite brise Groupe : Membres Messages : 126 Inscrit : 02/01/2010 Membre no 15499 |
C'est à dire, ça ne marche pas ?
le briefing ? le revive ado ? Y a t'il un message d'erreur qui survient ? -------------------- |
|
|
dimanche 14 février 2016 Ã 16:07
Message
#10
|
|
Typhon Groupe : Membre d'Honneur Messages : 16115 Inscrit : 07/04/2006 Lieu : Strasbourg Membre no 2410 |
le brief en fait je n'ai aucune tache....
Revice fonctionne bien -------------------- A FLUCTIBUS OPES
VENI,VIDI,VICI NO TREPASSING-VIOLATORS WILL BE SHOT-SURVIVORS WILL BE SHOT AGAIN |
|
|
dimanche 14 février 2016 Ã 19:23
Message
#11
|
|
Petite brise Groupe : Membres Messages : 126 Inscrit : 02/01/2010 Membre no 15499 |
le brief en fait je n'ai aucune tache.... Revice fonctionne bien enlève les deux lignes : Code waitUntil { !isNil {player} }; waitUntil { player == player }; Ce sont elles qui empêchent la mise en oeuvre du briefing. -------------------- |
|
|
Version bas débit | Nous sommes le : vendredi 29 mars 2024 Ã 05:49 |