Bonjour, vous n'êtes actuellement pas connecté sur le forum
Contacter un administrateur :: Se connecter :: S'enregistrer


Armée de l'Ombre


Nouveau sujet Répondre Imprimer Syndication RSS 2.0

Tà¢ches ajoutées en cours de missions et visibles par tous.


Membre
Avatar de El nabot
  • Messages : 35
  • Inscrit : 27 Mai 2013
  • Statut : Hors ligne
 
Lien vers ce message 27 Mai 2013, 13:51

Bonjour,

Je suis tout nouveau dans ArmA, donc c'est la premiêre fois que je fais des missions pour ArmA 3. Je vous expose donc mon soucis.

J'ai à créé une mission, avec un briefing et dans ce briefing il y a une tà¢che en cours qui est visible dês le dédut :

Citation

waitUntil { !isNil {player} };
waitUntil { player == player };

player createDiaryRecord ["Diary", ["Renseignements", "Messieurs bonsoir. Ca vient de tomber a l'instant, le president nous donne le feu vert pour aller sauver notre concitoyen journaliste -indicatif Tintin- retenu en otage depuis deux semaines. Puisque les negociations avec les rebelles n'ont abouti a rien, nous entrons donc en scene.
Bien entendu sa localisation n'est pas connue, nous savons juste qu'il se trouve dans une zone contolee par des rebelles. Mais tout ne sent pas si mauvais que ca, notre informateur Bob, dont nous connaissons la position geographique, en sait un peu plus que nous. C'est pourquoi notre objectif premier est de rencontrer Bob afin qu'il nous dise ce qu'il sait. Pour se faire, un TE et son observateur partiront a sa rencontre pour prendre contact avec lui. Pendant qu'ils seront en marche pour rencontrer Bob, nous partirons de la base aerienne Americaine de Stratis pour rejoindre l'Air Station Mike-26 a bord de Little Bird gracieusement mis a notre disposition par les Americains pour pouvoir nous deployer rapidement vers la zone rebelle. Messieurs a vous de jouer !"]];


//Task1 - COMMENT
task_1 = player createSimpleTask ["Rendez-vous avec Bob."];
task_1 setSimpleTaskDescription ["Votre objectif est d'aller a la rencontre de Bob pour savoir ou se trouve notre journaliste.","Rendez-vous avec Bob.","Rendez-vous avec Bob."];
task_1 setSimpleTaskDestination (getMarkerPos "task_1");
task_1 setTaskState "Assigned";
player setCurrentTask task_1;


Les joueurs, en multi arrivent à voir la premiêre task à remplir. Devant cet Bob (l'informateur) il y a un trigger "déclenchable" par un BLUFOR, avec dans le champ d'écriture "on act" qui dit :

Citation

"1" objStatus "DONE"; task_1 setTaskState "SUCCEEDED"; task_1 = true; publicVariable "task_1";
task_2 = player createSimpleTask ["Trouvez et libérez Tintin."];
task_2 setSimpleTaskDescription ["D'aprês les renseignements de Bob, Tintin se trouverait dans la baie de Jay Cove. Néanmoins il ne sait pas dans quelle habitation car il est trimbalé de maisons en maisons pour des interrogatoires. L'otage est peut être blessé.","Trouvez et libérez Tintin.","Trouvez et libérez Tintin."];
task_2 setSimpleTaskDestination (getMarkerPos "task_2");
task_2 setTaskState "Assigned";
player setCurrentTask task_2;
hint "Trouvez et libérez Tintin.";


Ce qui, si je comprends bien cette commande, à pour but de faire que si un BLUFOR passe dans ce trigger, il valide la premiêre task et en affecte une nouvelle en faisant apparaà®tre cette nouvelle sur la carte. Dans ma mission la task_2 indique l'emplacement de l'otage (Tintin) avec un marqueur.


Mais voilà , si ce n'est pas moi qui passe dans ce trigger, personne ne voit la nouvelle task en cours, de plus si un autre joueur (testé hier lors d'une partie multi) passe dans ce trigger ça lui affiche une petite fenêtre d'erreur en plein milieu de l'écran et il ne voit pas la nouvelle task mais moi oui.

Je suppose que le soucis doit doit venir de là :

Citation

task_2 = player createSimpleTask ["Trouvez et libérez Tintin."];


player c'est moi et pas les autres, et surtout je pense que cette commande n'est valable que pour une mission solo. Je voudrais savoir ce qu'il faut mettre à la place pour que :

Tous les joueurs de la partie multijoueur puissent, en passant dans le trigger et sans leur afficher une fenêtre d'erreur, voir la nouvelle tà¢che en cours. Aussi, un ami à soulevé une question qui n'es pas des moindres, si un joueur arrive en cours de partie ou si il est déconnecté du serveur, est-ce qu'il verra les task déjà validées et la/les nouvelles task en cours ?


Si cela ne peut pas fonctionner en rentrant une commande dans le champ "on act" du trigger mais qu'il faille passer par des fichier.xx à mettre dans mon dossier de mission autant dire que je laisse tomber d'avance car je ne connais vraiment rien au code ArmA 3 et que je voulais juste créer une mission sympa pour moi et des potes et que cela soit "plus joli" de faire apparaà®tre de nouvelles tà¢ches en cours de mission.


Je vous remercie d'avance, et vôtre mission Starfish Prime est vraiment bien sympatoche.

El nabot.

Membre
VIP
Avatar de Angel
  • Age : 35 ans
  • Messages : 1826
  • Inscrit : 01 Février 2007
  • Statut : Hors ligne
 
Lien vers ce message 27 Mai 2013, 14:02

Bonjour,

Petite question, tu as testé depuis un serveur dont tu étais hôte ou depuis un serveur dédié (Même si c'st ton PC qui est le serveur dédié) ?

Je sais que cela a un impact sur les scripts. Le briefing étant un script, cela peut générer ce problême. :fsb2_goutte:

Membre
Avatar de El nabot
  • Messages : 35
  • Inscrit : 27 Mai 2013
  • Statut : Hors ligne
 
Lien vers ce message 27 Mai 2013, 14:13

Bonjour Angel,

Oui j'ai testé sur ma machine es créant une partie multi (internet) j'étais donc l'hôte et j'ai demandé à un ami de me rejoindre. Mais la mission sera hébergé sur un serveur jeudi soir pour que tous les membre de notre asso (VEAF, on vole sur A-10 dans DCS mais de temps en temps on joue à ArmA 3) jouent sur la mission. Ce serveur je ne sais pas trop ce que c'est (dédié ou pas) tout ce que je sais c'est qu'il "héberge" DCS Wordl et ArmA 3 pour qu'on puisse tous jouer.

Membre
VIP
Avatar de ROMULUS
  • Age : 57 ans
  • Messages : 223
  • Inscrit : 31 Janvier 2007
  • Statut : Hors ligne
 
Lien vers ce message 27 Mai 2013, 17:41

Regarde ce topic qui t'explique comment créer un serveur dédié sur ton PC.
http://www.clan-ado.fr/forum/index.php?p=topic&t_id=5671


http://www.clan-ado.fr/images/upload/membres/641_1337092309.jpg

Membre
Avatar de El nabot
  • Messages : 35
  • Inscrit : 27 Mai 2013
  • Statut : Hors ligne
 
Lien vers ce message 27 Mai 2013, 18:10

Bonjour ROMULUS,

Si je créé un serveur dédié cela va résoudre mon soucis de task visibles par tous ?

Membre
VIP
Avatar de Angel
  • Age : 35 ans
  • Messages : 1826
  • Inscrit : 01 Février 2007
  • Statut : Hors ligne
 
Lien vers ce message 27 Mai 2013, 18:14

Cela ne solutionnera peut-être pas ton problême, mais ça permettra d'écarter cette hypothêse. :wink:

Pour ma part, je pense que cela a un lien vu que chez toi ça fonctionnait et que tu hébergeais la partie. :fsb2_oui:

Membre
Avatar de El nabot
  • Messages : 35
  • Inscrit : 27 Mai 2013
  • Statut : Hors ligne
 
Lien vers ce message 27 Mai 2013, 18:21

Ok j'ai lu le post que ROMULUS ma glissé en lien, cela parle d'ArmA 2 et pas ArmA 3, même si le fonctionnement est similaire, dans le server.cfg il y a des commandes qui renvoient a des fichiers ArmA 2 comme:

Citation

logFile = "arma2oaserver.log";
reportingIP = "arma2pc.master.gamespy.com";


Je bute à ce niveau là .

Leader
Général
Avatar de The-KiLLeR
  • Age : 36 ans
  • Messages : 2152
  • Inscrit : 29 Janvier 2007
  • Statut : Hors ligne
  • Spécialité : Démolition Expert
 
Lien vers ce message 27 Mai 2013, 20:08

Salut,

Je te propose de faire ce que tu souhaites de cette façon :

Tu créer ton fichier "briefing.sqf" avec :

waitUntil { !isNil {player} };
waitUntil { player == player };

player createDiaryRecord ["Diary", ["Renseignements", "Messieurs bonsoir. Ca vient de tomber a l'instant, le president nous donne le feu vert pour aller sauver notre concitoyen journaliste -indicatif Tintin- retenu en otage depuis deux semaines. Puisque les negociations avec les rebelles n'ont abouti a rien, nous entrons donc en scene.
Bien entendu sa localisation n'est pas connue, nous savons juste qu'il se trouve dans une zone contolee par des rebelles. Mais tout ne sent pas si mauvais que ca, notre informateur Bob, dont nous connaissons la position geographique, en sait un peu plus que nous. C'est pourquoi notre objectif premier est de rencontrer Bob afin qu'il nous dise ce qu'il sait. Pour se faire, un TE et son observateur partiront a sa rencontre pour prendre contact avec lui. Pendant qu'ils seront en marche pour rencontrer Bob, nous partirons de la base aerienne Americaine de Stratis pour rejoindre l'Air Station Mike-26 a bord de Little Bird gracieusement mis a notre disposition par les Americains pour pouvoir nous deployer rapidement vers la zone rebelle. Messieurs a vous de jouer !"]];


//Task1 - COMMENT
task_1 = player createSimpleTask ["Rendez-vous avec Bob."];
task_1 setSimpleTaskDescription ["Votre objectif est d'aller a la rencontre de Bob pour savoir ou se trouve notre journaliste.","Rendez-vous avec Bob.","Rendez-vous avec Bob."];
task_1 setSimpleTaskDestination (getMarkerPos "task_1");
task_1 setTaskState "Assigned";
player setCurrentTask task_1;


Dans le fichier "init.sqf", tu exécutes le briefing avec la commande suivante :

execVM "briefing.sqf";


Ensuite tu créer un fichier "briefing2.sqf", avec les éléments de ton second objectif :

task_2 = player createSimpleTask ["Trouvez et librez Tintin."];
task_2 setSimpleTaskDescription ["D'aprs les renseignements de Bob, Tintin se trouverait dans la baie de Jay Cove. Nanmoins il ne sait pas dans quelle habitation car il est trimbal de maisons en maisons pour des interrogatoires. L'otage est peut tre bless.","Trouvez et librez Tintin.","Trouvez et librez Tintin."];
task_2 setSimpleTaskDestination (getMarkerPos "task_2");
task_2 setTaskState "Assigned";
player setCurrentTask task_2;


Dans le déclencheur qui activera l'accomplissement de l'objectif 1 et de la création de l'objectif 2 :

task_1 setTaskState "SUCCEEDED"; nul=[] execVM "briefing2.sqf"; hint "Trouvez et librez Tintin.";


Et normalement ton briefing devrait fonctionner correctement :wink:


http://www.clan-ado.fr/images/upload/membres/3_1335205596.jpg

Membre
Avatar de El nabot
  • Messages : 35
  • Inscrit : 27 Mai 2013
  • Statut : Hors ligne
 
Lien vers ce message 27 Mai 2013, 22:27

Bonsoir The-KiLLeR,

Je te remercie pour l'astuce je vais essayer. Je m'étais permis d'ouvrir ta mission Starfis Prime et j'ai vu qu'il y avait plusieurs briefing, comme tu m'indique de faire.

Je fais des test et je te fais un retour, encore merci pour l'astuce et merci aussi à tous les autres pour m'a proposé des solutions.

El nabot.

Membre
Avatar de El nabot
  • Messages : 35
  • Inscrit : 27 Mai 2013
  • Statut : Hors ligne
 
Lien vers ce message 28 Mai 2013, 7:33
Message édité 1 fois, dernière édition par El nabot, 28 Mai 2013, 7:38  

J'ai testé la méthode et je dois dire que c'est pas bête du tout. Je vais faire rejoindre un pote sur ma machine et si ça marche, ça marchera jeudi sur le serveur je pense.

Encore merci, et ce code a rentrer dans le trigger est surtout moins long :D. Une petite question, c'est normal que le jeu n'affiche pas les accents dans le/les briefing(s) ?


El nabot.

Leader
Général
Avatar de The-KiLLeR
  • Age : 36 ans
  • Messages : 2152
  • Inscrit : 29 Janvier 2007
  • Statut : Hors ligne
  • Spécialité : Démolition Expert
 
Lien vers ce message 28 Mai 2013, 11:26

Il faut convertir ton fichier en UTF-8. :wink:


http://www.clan-ado.fr/images/upload/membres/3_1335205596.jpg

Membre
Avatar de El nabot
  • Messages : 35
  • Inscrit : 27 Mai 2013
  • Statut : Hors ligne
 
Lien vers ce message 28 Mai 2013, 13:02
Message édité 2 fois, dernière édition par El nabot, 28 Mai 2013, 13:25  

Encore merci. Par contre j'ai supprimé ma mission pour en refaire une au propre, maintenant j'ai le même soucis qu'au départ, sauf que ça commence
en faisant des previews il y a que moi qui peut voir la tà¢che cours, quand je switch avec un autre joueur le briefing et les tasks disparaà®ssent...

Quand je reprend le joueur que j'ai créé en tant que "Player", là je revois tout. C'est normal ? Parce que hier soir j'ai testé ta méthode et tout marchait nickel.

Je comprends plus rien...

Leader
Général
Avatar de The-KiLLeR
  • Age : 36 ans
  • Messages : 2152
  • Inscrit : 29 Janvier 2007
  • Statut : Hors ligne
  • Spécialité : Démolition Expert
 
Lien vers ce message 28 Mai 2013, 13:31

Comment ça ?
Tu switch de joueur dans l'éditeur ?


http://www.clan-ado.fr/images/upload/membres/3_1335205596.jpg

Membre
Avatar de El nabot
  • Messages : 35
  • Inscrit : 27 Mai 2013
  • Statut : Hors ligne
 
Lien vers ce message 28 Mai 2013, 13:37
Message édité 2 fois, dernière édition par El nabot, 28 Mai 2013, 14:07  

Oui dans l'éditeur.

Là je viens de lancer une partie sur ma machine en multi et j'ai pris un joueur dont je sais qu'il est en "Playable", et je vois la task en cours
la numéro 1 dans à la suite de mon briefing. J'espêre que ça sera bon pour les autres joueurs jeudi.

Leader
Général
Avatar de The-KiLLeR
  • Age : 36 ans
  • Messages : 2152
  • Inscrit : 29 Janvier 2007
  • Statut : Hors ligne
  • Spécialité : Démolition Expert
 
Lien vers ce message 28 Mai 2013, 15:58

C'est normal alors.
Il faut tester avec le "player". Normalement il ne devrait pas y avoir de souci.


http://www.clan-ado.fr/images/upload/membres/3_1335205596.jpg
Répondre





.