| [résolu]Dialogues, Strings et Sons non bloquants ("queued") | |
|
|
Auteur | Message |
---|
Pierrec Adepte de la Grande Tasse Bleue
Nombre de messages : 99
Date d'inscription : 16/06/2011
| Sujet: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Dim 28 Aoû 2016 - 13:26 | |
| Bonjour à tous. Une fois encore je reviens sur ce forum car je suis face à un problème insoluble (pour moi, j'espère qu'il ne l'est pas vraiment hein) Dans le cadre de mon jeu Ludum Dare, je souhaiterais avoir des dialogues générés aléatoirement (via des strings) ainsi que des sons en tâche de fond, soit non-bloquants, et à la queue (queued en anglais, je ne sais pas comment le traduire en français). En gros : La scène se déroule durant une séance diapo, et je souhaiterais que l'un des personnages non joueur passe les diapos tout en dispensant des commentaires aléatoires. Je souhaiterais aussi que chaque commentaire/changement de diapo s'accompagne du son de la machine. La génération aléatoire s'effectuerait avec 3 strings, qui tirent des mots au hasard dans leur liste respective. (je sais je faire avec Say, du genre cEgo.Say("%s, %s, %s", StringA, StringB, StringC"); J'ai essayé de plein de façons diverses, mais il y a toujours quelque chose qui va pas. Commande Say : -Ok pour les string -Ok pour le son (via les speech sounds) -Mais : Bloquant, impossible de mettre en queue. Commande SayBackground: -Non bloquant, mais je ne vois pas comment mettre en queue -Strings non supportés dirait-on -Sons? Je n'ai pas essayé en fait. J'ai ensuite essayé différents modules, et le seul qui semble fonctionner est QueuedSpeech de Monkey http://www.adventuregamestudio.co.uk/wiki/QueuedSpeech-Ok pour le côté non-bloquant et les commentaires en queue -Normalement OK pour les sons, mais ça n'a pas l'air de marcher. La fonction est censée s'écrire comme suit: bool Character.SayQueued(String message, optional AudioClip *speechClip, optional int delay, optional int slot) J'ai essayé quelque chose comme cEgo.("blabla", aSound); mais ça ne fonctionne pas. je ne comprends pas vraiment à quoi "optional AudioClip *speechClip" peut correspondre si ce n'est pas le nom de mon audioclip :s -Les strings là encore ne semblent pas supportés. L'un d'entre vous aurait-il une meilleure piste? |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Dim 28 Aoû 2016 - 15:31 | |
| Une piste pour utiliser plusieurs strings avec la fonction SayBackground: - Code:
-
String dialogue = stringA ; dialogue = dialogue.Append(stringB) ; dialogue = dialogue.Append(stringC) ;
cEgo.SayBackground(dialogue) ; Tu peux essayer de faire une suite d’évènements non bloquants dans le repeadly de la room en jouant avec un timer: - Code:
-
if ( IsTimerExpired(1) ) { if ( evenement == 0 ) { } else if ( evenement == 1 ) { } evenement++; SetTimer(1,200) ; } Je ne connais pas ce module, je vais l'essayer. |
|
| |
Pierrec Adepte de la Grande Tasse Bleue
Nombre de messages : 99
Date d'inscription : 16/06/2011
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Dim 28 Aoû 2016 - 15:48 | |
| Oh! Je ne connaissais pas le système d'"Appends". Il ya moyen que je m'en sortes avec ça! Je vais bidouiller et je reviens! Merci beaucoup! |
|
| |
Pierrec Adepte de la Grande Tasse Bleue
Nombre de messages : 99
Date d'inscription : 16/06/2011
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Dim 28 Aoû 2016 - 16:18 | |
| Et ça marche! Merci beaucoup! grâce à l'astuce de l'Append j'ai pu faire exactement ce que je voulais, en utilisant le repeadly execute en effet. Pour les curieux: -J'ai ajouté SetTimer(1,300); dans Game_Start -Créé la fonction GenCom (qui génère les commentaires aléatoirement) - Code:
-
function GenCom() { //Generateur de commentaire StrComment=""; int ran1=Random(10); if (ran1==0)StrCom1="Here's"; if (ran1==1)StrCom1="This is"; if (ran1==2)StrCom1="Haha that's"; if (ran1==3)StrCom1="Here you can see"; if (ran1==4)StrCom1="Ha, this one is priceless, it's"; if (ran1==5)StrCom1="Look:"; if (ran1==6)StrCom1="As you can see, this is"; if (ran1==7)StrCom1="Oh, I forgot about that one. It's"; if (ran1==8)StrCom1="Another one of"; if (ran1==9)StrCom1="That's"; if (ran1==10)StrCom1="Can you guess ? It's";
int ran2=Random(18);
if (ran2==0)StrCom2=" me"; if (ran2==1)StrCom2=" Salimata"; if (ran2==2)StrCom2=" both of us"; if (ran2==3)StrCom2=" a stranger"; if (ran2==4)StrCom2=" some indian guy"; if (ran2==5)StrCom2=" a crowd"; if (ran2==6)StrCom2=" what's-his-name"; if (ran2==7)StrCom2=" a cow"; if (ran2==8)StrCom2=" our guide"; if (ran2==9)StrCom2=" our taxi driver"; if (ran2==10)StrCom2=" a priest"; if (ran2==11)StrCom2=" a Sikh"; if (ran2==12)StrCom2=" the maharaja"; if (ran2==13)StrCom2=" me again"; if (ran2==14)StrCom2=" Salimata again"; if (ran2==15)StrCom2=" some pretty girl"; if (ran2==16)StrCom2=" a funny looking guy"; if (ran2==17)StrCom2=" a french couple we met"; if (ran2==18)StrCom2=" a bunch of kids"; int ran3=Random(24); if (ran3==0)StrCom3=" riding an elephant."; if (ran3==1)StrCom3=" hiding the Taj Mahal."; if (ran3==2)StrCom3=" charming a snake."; if (ran3==3)StrCom3=" doing nothing."; if (ran3==4)StrCom3=" standing there."; if (ran3==5)StrCom3=" swimming in the Gange river."; if (ran3==6)StrCom3=" being sick."; if (ran3==7)StrCom3=" in Calcutta."; if (ran3==8)StrCom3=" in New Delhi."; if (ran3==9)StrCom3=" in New Delhi...or was is Calcutta ?"; if (ran3==10)StrCom3=" crossing the road."; if (ran3==11)StrCom3=" worshiping Ganesh."; if (ran3==12)StrCom3=" taking a picture."; if (ran3==13)StrCom3=" with a monkey."; if (ran3==14)StrCom3=" in our hotel room."; if (ran3==15)StrCom3=" ordering in a restaurant."; if (ran3==16)StrCom3="."; if (ran3==17)StrCom3=" at Radhanagar Bay."; if (ran3==18)StrCom3=" being robbed."; if (ran3==19)StrCom3=" going batshit."; if (ran3==20)StrCom3=" in front of a temple."; if (ran3==21)StrCom3=" lost in the jungle."; if (ran3==22)StrCom3=" posing."; if (ran3==23)StrCom3=" crying."; if (ran3==24)StrCom3=" in a traditional costume."; StrComment = StrComment.Append(StrCom1); StrComment = StrComment.Append(StrCom2); StrComment = StrComment.Append(StrCom3); } Pui simplement ajoué ceci à repeadly execute: - Code:
-
if (IsTimerExpired(1)){ aClic.Play(); GenCom(); cChar.SayBackground(StrComment); SetTimer(1,300) ; } Merci beaucoup Arlann, tu m'as fait gagner ENORMEMENT de temps, je vais peut-être pouvoir soumettre mon jeu à temps pour la Ludum Dare! (plus que 8 heures! Hop hop au boulot!) |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Dim 28 Aoû 2016 - 16:40 | |
| J'en suis ravi Bon courage pour les prochaines heures de développement. Je testerai ! |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Lun 29 Aoû 2016 - 14:36 | |
| Alternativement, tu peux utiliser la fonction String.Format : - Code:
-
cEgo.SayBackground(String.Format("%s, %s, %s", stringA, stringB, stringC)); _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
|
| |
Pierrec Adepte de la Grande Tasse Bleue
Nombre de messages : 99
Date d'inscription : 16/06/2011
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Lun 29 Aoû 2016 - 18:43 | |
| Et voilà la bête (en anglais par contre, Ludum Dare oblige) : https://pierrec.itch.io/kill-me-nowMerci encore pour votre aide, je n'y serai sans doute pas arrivé à temps par moi-même! |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Lun 29 Aoû 2016 - 19:03 | |
| Hourra, un nouveau jeu de Pierrec ! Par contre à moins que ton jeu soit super méta (et m'échappe), ça renvoie une erreur 404 non voulue. Aurais-tu oublié de rendre la page publique ? _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
|
| |
Pierrec Adepte de la Grande Tasse Bleue
Nombre de messages : 99
Date d'inscription : 16/06/2011
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Mar 30 Aoû 2016 - 8:30 | |
| aie aie oui en effet il y avait un problème. C'est corrigé! |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Mar 30 Aoû 2016 - 10:59 | |
| J'aime beaucoup l’interprétation du thème "Ancienne technologie". L'humour et le style est très sympa, bravo pour la réalisation. Ps: Tu as utilisé AGS 3.4 ? Tu peux aussi compiler pour linux. |
|
| |
Pierrec Adepte de la Grande Tasse Bleue
Nombre de messages : 99
Date d'inscription : 16/06/2011
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Mar 30 Aoû 2016 - 11:14 | |
| |
|
| |
Creamy Disciple de la Grande Tasse Bleue
Nombre de messages : 1266
Date d'inscription : 15/10/2007
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Mar 30 Aoû 2016 - 15:45 | |
| J'avais bien aimé celui avec les auto-stoppeuses, celui avec la ligue légèrement énervante, celui avec la renarde et tous les autres Celui-là aussi est cool. Les dialogues sont tellement bien écrits qu'on dirait du Simon & Garfunkel. Les puzzles sont plus présents que d'habitude, mais rien d'insurmontable. C'est sympa d'échanger des objets dans le dos de Charles. Son chat ne s'appellerait-il pas Schrody, par hasard? |
|
| |
Pierrec Adepte de la Grande Tasse Bleue
Nombre de messages : 99
Date d'inscription : 16/06/2011
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") Lun 12 Sep 2016 - 12:48 | |
| Merci! (Et oui, il y a de vrais morceaux de Simon & Garfunkel dedans) Je ne connaissais pas Schrody, je voulais l'essayer mais malheureusement le lien est mort! |
|
| |
Contenu sponsorisé
| Sujet: Re: [résolu]Dialogues, Strings et Sons non bloquants ("queued") | |
| |
|
| |
| [résolu]Dialogues, Strings et Sons non bloquants ("queued") | |
|