Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 [résolu]Dialogues en sous-titres

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: [résolu]Dialogues en sous-titres   Sam 2 Mar 2013 - 12:53

Alors voilà, si tout se passe bien, les dialogues de notre jeu passeront avant tout par les voix. Je voudrais donc que le texte des dialogues soit déjà désactivables (mais ça j'ai vu à peu près comment faire, il existe une option déjà implémentée dans le template de base) et surtout, vous l'aurez compris, qu'ils apparaissent sous forme de sous-titres, en bas de l'écran donc.


J'ai vu qu'on pouvait modifier l'affichage des dialogues (en mode Lucasarts par défaut) dans les réglages généraux, mais pour tout vous dire je n'ai pas compris grand chose sur la façon dont on peut les personnaliser. Votre éclairage est donc le bien venu !

Merci d'avance sourire

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.


Dernière édition par valoulef le Lun 11 Mar 2013 - 12:02, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]Dialogues en sous-titres   Sam 2 Mar 2013 - 14:40

Alors j'avoue que je ne me souviens pas du rendu, mais dans les options du jeu comme tu disais, il y a l'option Speech Style. Si tu le mets en mode Sierra, est-ce que ça ferait ton affaire ?

Si tu veux davantage personnaliser l'affichage des messages, il va falloir créer une fenêtre de texte personnalisée. Mais je ne me souviens plus si on définit l'ordonnée d'affichage (afin de la placer toujours en bas de l'écran) ou si ce genre de paramètre est géré ailleurs dans AGS...

Désolé de ne pas pouvoir t'aider plus que ça.

_________________
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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php En ligne
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Dialogues en sous-titres   Sam 2 Mar 2013 - 19:33

Quand je met en mode Sierra, ça ne change absolument rien en fait. Je n'ai encore rien compris aux fenêtres de texte personnalisées, il n'y a quasi aucun paramètre de disponible quand on en crée une nouvelle, mais en relisant ton lien il s'agit visiblement d'un simple outil esthétique pour les autres GUI mais je ne suis même pas sûr. J'ai effectivement lu que avec l'option speech stryle Sierra, il fallait créer un GUI mais je vois pas du tout comment l'implémenter...

Je trouve qu'un des rares défauts d'AGS, c'est de trop se formaliser nativement à l'interface des jeux Sierra et Lucasarts, et de ne pas proposer des masses de solutions faciles pour personnaliser tout ça. Mais bon, c'est vraiment histoire de me plaindre ^^

Donc actuellement la question reste ouverte... Si quelqu'un a une idée...

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: [résolu]Dialogues en sous-titres   Sam 2 Mar 2013 - 22:00

Malheureusement je ne me suis pas encore penché sur la question. Je suis certain que c'est tout à fait possible mais je doit fouiller plus.
Au pire, tu remplace tout les Say par des SayAt. grand sourire
D’après Shai-la :
Shai-la a écrit:

- Dialog options on GUI : permet d'utiliser une interface personnalisée pour afficher les différentes réponses possibles dans un dialogue, plutôt qu'un simple fond noir en bas de l'écran. Indiquez le numéro du GUI que vous avez créé pour cela.

- Speech style : vous permet de choisir la façon dont les dialogues sont affichés. Par défaut, le mode Lucasart affiche un simple texte au-dessus de la tête du personnage, et lance l'animation Speech View du personnage. Les autres options affichent le dialogue dans une boîte à part, avec le portrait du personnage, comme dans un Sierra. Il vous faudra alors configurer la boîte de dialogue en créant un GUI. En mode Sierra, le Speech View du personnage est l'animation qui s'affichera en haut à côté du texte.

- Sierra style portrait location : si vous avez choisi l'option Sierra pour le Speech Style, cela vous permet d'indiquer à quel endroit le portrait de celui qui parle apparaît : à droite, à gauche, alternativement droite/gauche, ou selon l'emplacement du personnage.

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Dialogues en sous-titres   Dim 3 Mar 2013 - 19:17

Billbis a écrit:

Au pire, tu remplace tout les Say par des SayAt. grand sourire

Pas con, mais ça me parait un peu galère dans les dialogues, enfin je vais peut-être me pencher sur la question...

J'ai lu les tutos de Shai-La, le problème c'est qu'il n'y a pas trop de détails sur ces options. "Dialog option on Gui" ne concerne visiblement que les options de dialogue et non les dialogues eux-même. D'ailleurs il est fort probable que je l'utilise pour personnaliser un peu tout ça.

En relisant ce que tu a cité, je vois que le "Speech Style" en mode sierra est très spécifique, et ne lance pas l'animation "Speech view"... Donc ça risque de ne pas convenir.

En tout cas si une version 3.3 ou carrément une version 4 (le rêve !) d'AGS devait sortir ça serait un des trucs à améliorer à mon avis.



_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Dialogues en sous-titres   Mar 5 Mar 2013 - 17:57

Bon, la commande Say.At a une certaine efficacité. J'avais peur de devoir adapter les coordonnées à la longueur de chaque réplique (le calvaire absolu !) pour quelles soient centrées, mais AGS les centre automatiquement.  Il y a néanmoins une bizarrerie :

Quand la réplique fait deux lignes, c'est la première ligne qui "remonte" : c'est donc la deuxième ligne qui est à la coordonnée y indiquée... Du coup, quand la réplique ne fait qu'une ligne, pour des coordonnées égales, elle s'affiche "à la place" de la deuxième ligne d'une réplique qui en fait deux (vous me suivez ?). Déjà ça me pose un léger problème mais c'est pas le sujet, et ce n'est pas très important. Mais surtout, l'ordonnée maximale pour afficher une seule ligne est 727 (en dessous le texte ne s'affiche pas), alors que pour deux lignes c'est 747 (donc en dessous !). Si c'était l'inverse ça aurait une certaine logique (et encore !) mais là c'est très étrange, vu que ça revient strictement au même. Bon du coup les répliques à une seule ligne s'affichent à l'endroit ou est affichée la première ligne des répliques à deux lignes (vous me suivez toujours ?), mais cela revient à dire qu'il faut que je change la coordonnée y selon la longueur de la réplique.

En plus de ça, il y a le problème (moins grave mais quand même) lié au fait que je doive scripter tout manuellement là ou le système de dialogues était automatisé.

J'en viens donc à ma question et à la petite idée que j'ai derrière la tête :
Est-il possible de créer une variable "ydial" qui vaudrait 727 si le texte est inférieur à X caractères, et qui vaudrait 747  (pas le boeing) si le texte est supérieur ? J'imagine qu'il faudrait que je crée une fonction dans le global script ? Et ça veut dire qu'il faut pouvoir vérifier la condition du nombre de caractères de l'argument "const string message" de chaque réplique.

Autre chose : Dans le dialogue, chaque réplique est assimilée à la commande "cXXX.Say", non ? Dans ce cas, est-ce possible de créer une fonction demandant à AGS d'interpréter tous les "cXXX.Say" comme des "cXXX.SayAt" ? Ça j'imagine que ce n'est pas très compliqué, en espérant que le système de dialogue fonctionne bien comme je l'imagine.

Merci d'avance sourire

EDIT : Bon alors j'ai trouvé la commande qui retourne la longueur de la chaîne de caractères d'un texte, il s'agit de la commande length. Sauf que chez moi, rien à faire elle ne fonctionne pas. Même en reprenant l'exemple de l'aide à l'identique, il n'y a rien à faire.

2 erreurs obtenues selon les essais :
- ".Length" n'est pas valable pour une variable string
-  La variable "string" est déjà attribuée.

L'aide est-il à jour à ce sujet ?

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.


Dernière édition par valoulef le Mer 21 Aoû 2013 - 23:50, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]Dialogues en sous-titres   Mer 6 Mar 2013 - 9:26

Salut valoulef,

Je n'ai pas vraiment d'idée sur la raison de ce décalage vertical pour SayAt, mais je pense toujours qu'il y a moyen de configurer l'affichage général des messages dans AGS sans passer par tout un script. Je regarderai ça bientôt.

EDIT : Bon, finalement, je n'ai pas trouvé non plus de manière simple de faire. À la rigueur tu peux peut-être essayer de mettre une image d'animation de la hauteur de l'écran pour tes personnages, histoire que le style Sierra aligne le texte en bas de l'écran plutôt qu'au milieu, mais je ne garantis pas que ça fonctionne.
Ce qui te reste comme solution, c'est de passer par une autre commande que Say (SayAt éventuellement, mais comme tu le notes il va falloir faire des petits calculs pour s'assurer d'obtenir ce que tu veux, donc une commande personnalisée faisant elle-même appelle à SayAt plutôt). En ce qui concerne les dialogues, pour l'instant la seule solution que je vois c'est de décocher "Prononcer" et de lancer ta commande personnalisée pour chaque option dans le script de dialogues.
Si en revanche tu fais un système personnalisé de dialogues, tu peux automatiser ce comportement.
Voilà, pour le moment je ne vois pas plus facile, désolé.


valoulef a écrit:
Autre chose : Dans le dialogue, chaque réplique est assimilée à la commande "cXXX.Say", non ? Dans ce cas, est-ce possible de créer une fonction demandant à AGS d'interpréter tous les "cXXX.Say" comme des "cXXX.SayAt" ? Ça j'imagine que ce n'est pas très compliqué, en espérant que le système de dialogue fonctionne bien comme je l'imagine.
Ça je suis pas certain que ça soit possible malheureusement. On ne peut pas remplacer une fonction interne dans AGS (c'est bien le problème dont vous parliez avec Billbis sur ce sujet).

valoulef a écrit:
EDIT : Bon alors j'ai trouvé la commande qui retourne la chaîne de caractères d'un texte, il s'agit de la commande =length#length]length.
Oui, elle retourne le nombre de caractères dans la chaîne. Pour autant, elle ne retourne pas la largeur de la chaîne à l'écran, pour cela il faut utiliser la commande GetTextWidth.

valoulef a écrit:
Sauf que chez moi, rien à faire elle ne fonctionne pas. Même en reprenant l'exemple de l'aide à l'identique, il n'y a rien à faire.

2 erreurs obtenues selon les essais :
- ".Length" n'est pas valable pour une variable string
- La variable "string" est déjà attribuée.

L'aide est-il à jour à ce sujet ?
Es-tu certain de l'avoir reprise à l'identique ?
Parce que quand tu recopies les erreurs là, tu écris string et non pas String, ce qui fait une grande différence.
Aussi, le deuxième message laisse penser que tu essaies d'attribuer une valeur à string ou quelque chose comme ça, c'est-à-dire que tu cherches à utiliser string comme nom de variable, alors que c'est déjà un mot-clé d'AGS qui définit une variable de type string (ancien format de chaîne de caractères d'AGS <= 2.*).

PS : petite note quand tu recopies un lien du manuel d'aide après une recherche de mot-clé, enlève la partie "&s[]=mot-clé", les crochets passent pas dans le paramètre url du forum clin d\\\\'oeil

_________________
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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php En ligne
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Dialogues en sous-titres   Mer 6 Mar 2013 - 14:43

Merci de prendre le temps de m'aider. D'autant que j'en demande pas mal en ce moment ! Mais ça devrait se calmer une fois que j'aurais configuré mon moteur et que j'aurais progressé en script.



Kitai a écrit:

À la rigueur tu peux peut-être essayer de mettre une image d'animation de la hauteur de l'écran pour tes personnages, histoire que le style Sierra aligne le texte en bas de l'écran plutôt qu'au milieu, mais je ne garantis pas que ça fonctionne.

Je ne suis pas sûr de mieux m'en sortir avec le style Sierra, d'autant que le peu que j'ai essayé, quand je change l'option, ça n'a aucun effet. Et puis ça me paraît un peu bricolage (ce que je préfère éviter dans la mesure du possible) d'autant que comme tu dis, ce n'est pas sûr de marcher. Je privilégierai donc la deuxième solution (quitte à me prendre la tête, je préfère que ce soit sur du code, au moins j'en sortirai grandi).

Kitai a écrit:

Oui, elle retourne le nombre de caractères dans la chaîne. Pour autant, elle ne retourne pas la largeur de la chaîne à l'écran, pour cela il faut utiliser la commande GetTextWidth.
Certes, je ne pensais pas que cette commande existerait, c'est pourquoi j'ai cherché plutôt la commande "length". Je n'aurais pas eu trop de mal à déterminer à partir de combien de caractères on passe à deux lignes (même si c'est vrai que ça peut vrarier). Enfin du coup c'est sûr qu'avec la commande GetTextWidth ça parait plus simple encore.


Kitai a écrit:
Es-tu certain de l'avoir reprise à l'identique ?
Parce que quand tu recopies les erreurs là, tu écris string et non pas String, ce qui fait une grande différence.
Aussi, le deuxième message laisse penser que tu essaies d'attribuer une valeur à string ou quelque chose comme ça, c'est-à-dire que tu cherches à utiliser string comme nom de variable, alors que c'est déjà un mot-clé d'AGS qui définit une variable de

Bon, ben j'ai retesté, en fait j'avais recopié le "readonly int String.Length;" de l'aide, qui ne faisait en fait pas partie de l'exemple. Bref, la suite dans la deuxième partie sourire


Deuxième partie du post (après un nouveau test) :

Youpiiiiie !!! J'ai réussi à créer ma première vraie fonction ! C'est assez satisfaisant de réussir à faire quelque chose par soi même d'autant que je n'étais pas sûr du résultat. Hier impossible d'y arriver, la fatigue, tout ça, rien à faire. Aujourd'hui, je réessaye, je met 2 minutes, je fais le test, pas une erreur du premier coup, et ça marche. Cool ! Bon pour des codeurs en herbe comme vous, ça ne va pas être très impressionnant, mais pour moi c'est déjà un bon début.

Alors comme je l'ai déjà fait dans mes topics d'entraide et comme je ferai à chaque fois que je progresse dans la résolution d'un problème, je vous fait part de ma façon de procéder. C'est pas pour raconter ma vie mais ça a plusieurs intérêts, notamment pour ceux qui passent derrière moi avec le même problème. Donc :

GlobalScript.asc
Code:
 
function Dit (this Character*, const string message) {
  int ydial; //la coordonnée y à laquelle doit apparaître le texte
  String text = message; //le texte en question
  if (text.Length < 5) ydial = 600; //Si le texte fait moins de 5 caractères, il apparait à la coordonnée y 600
  else ydial = 200; //Sinon il apparait à la coordonne y 200
  this.SayAt(300,  ydial, 600, message); //le message apparait aux coordonnées spécifiées.
 
}

Simple comme bonjour ! Évidemment ce n'est qu'un test. Les coordonnées sont bidon et du coup je vais plutôt me pencher sur la commande que tu m'as suggérée (GetTextWidth).

EDIT : Nickel pour cette commande, ce qui est pratique, c'est que du coup la valeur X de : "if (largeur < X)" est égale à l'argument width de la commande "SayAt".

Par contre :

Kitai a écrit:
Si en revanche tu fais un système personnalisé de dialogues, tu peux automatiser ce comportement.

Qu'entends tu par-là ? Je pourrais faire appel à ma commande personnalisée dans un dialogue de ce type ? :
EGO : "Blablabla"
XXX : "Bliblibli"
EGO : "Bloubloublou"

... sans avoir à taper à chaque fois "cEgo.Dit("Blablabla") (ce qui de toute façon ne serait pas un très gros calvaire à côté du point ou j'en étais tout à l'heure, mais bon...).
Sinon il faut que j'importe ma fonction dans chaque script de dialogue, non ? Parce que ça pour l'instant, je n'y arrive pas. L'import fonctionne en revanche dans le script d'une room.


_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]Dialogues en sous-titres   Mer 6 Mar 2013 - 16:19

valoulef a écrit:
Code:
function Dit (this Character*, const string message) {
  int ydial; //la coordonnée y à laquelle doit apparaître le texte
  String text = message; //le texte en question
  if (text.Length < 5) ydial = 600; //Si le texte fait moins de 5 caractères, il apparait à la coordonnée y 600
  else ydial = 200; //Sinon il apparait à la coordonne y 200
  this.SayAt(300,  ydial, 600, message); //le message apparait aux coordonnées spécifiées.
 
}
Marrant, je savais pas qu'on pouvait placer le mot-clé const dans une déclaration de fonction sans soucis dans AGS. Mais pourquoi pas, au moins ça évite de modifier la valeur du paramètre par mégarde dans le corps de la fonction.

Kitai a écrit:
Si en revanche tu fais un système personnalisé de dialogues, tu peux automatiser ce comportement.

valoulef a écrit:
Qu'entends tu par-là ? Je pourrais faire appel à ma commande personnalisée dans un dialogue de ce type ? :
EGO : "Blablabla"
XXX : "Bliblibli"
EGO : "Bloubloublou"

... sans avoir à taper à chaque fois "cEgo.Dit("Blablabla") (ce qui de toute façon ne serait pas un très gros calvaire à côté du point ou j'en étais tout à l'heure, mais bon...).
Je crois avoir parlé un peu vite là en fait.
Ce que tu peux faire, c'est afficher des options de dialogue séparément du dialogue et choisir de passer le texte de l'option en question à ta commande personnalisée.

En revanche, je ne pense pas que tu puisses gérer automatiquement les autres lignes de dialogue... Ce qui est assez bizarre car du coup je vois peu d'intérêt à utiliser les dialogues uniquement pour des options de dialogue !
Désolé pour cette fausse piste.

valoulef a écrit:
Sinon il faut que j'importe ma fonction dans chaque script de dialogue, non ? Parce que ça pour l'instant, je n'y arrive pas. L'import fonctionne en revanche dans le script d'une room.
Alors là je ne sais pas trop en fait... Mais tu as la commande de script run-script qui te permet d'appeler la fonction dialog_request du script global afin d'y exécuter du code. Ainsi, tu peux y utiliser ta commande personnalisée.

[/quote]

_________________
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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php En ligne
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Dialogues en sous-titres   Mer 6 Mar 2013 - 16:59

Kitai a écrit:
Mais tu as la commande de script run-script qui te permet d'appeler la fonction dialog_request du script global afin d'y exécuter du code. Ainsi, tu peux y utiliser ta commande personnalisée

Ah ouais, du coup je ne peux pas écrire les dialogues directement dans les script de dialogues... Chiant ça. Du coup effectivement, c'est à se demander si je vais les utiliser. Enfin peut-être quand même, on verra bien.

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Dialogues en sous-titres   Jeu 7 Mar 2013 - 19:21

Quelqu'un sait quelle commande peut permettre de vérifier si un dialogue est actif ? Pour par exemple rendre invisible un Gui si un dialogue est en cours ?

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: [résolu]Dialogues en sous-titres   Ven 8 Mar 2013 - 18:54

Je n'ai pas encore trouvé mais je ne désespère pas...
Au pire, vu qu'on peu appeler du script dans les dialogues, tu peux faire un truc du genre :

Code:
@S  // Dialog startup entry point
  gValoulefSuperGui.Visible= false;
Hugo: Slurp.
return
@5
Hugo: Hik, hik, Hik!
  gValoulefSuperGui.Visible= true;
stop
... mais ça voudrait dire le faire à chaque dialogue... Je vais creuser le sujet.

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]Dialogues en sous-titres   Ven 8 Mar 2013 - 19:34

Je n'ai pas de solution non plus. Il y aurait bien moyen de hacker (comme vous dites) la fonction Start pour déclarer une variable au lancement d'un dialogue, mais on n'a aucun moyen de réinitialiser la variable à la fin du dialogue, puisqu'on n'a aucun moyen de savoir qu'un dialogue est fini !

Décidément, les dialogues sont le véritable point faible d'AGS. Un peu un comble pour un logiciel dont le manuel d'aide prétend traiter d'un logiciel qui permet de faire un jeu principalement basé sur les dialogues ! clin d\\\\'oeil

_________________
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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php En ligne
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 1278

Age : 27

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Dialogues en sous-titres   Sam 9 Mar 2013 - 14:28

Billbis a écrit:
Je vais creuser le sujet.

Te fatigues pas trop hein, au pire je ferais ta technique, de toute façon je suis bien parti pour m'emmerder avec les dialogues ^^

Kitai a écrit:
Décidément, les dialogues sont le véritable point faible d'AGS. Un peu un comble pour un logiciel dont le manuel d'aide prétend traiter d'un logiciel qui permet de faire un jeu principalement basé sur les dialogues ! clin d\\\\'oeil

Héhé, je vais commencer à m'inquiéter si je vais jusqu'à te faire douter d'AGS ^^

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]Dialogues en sous-titres   Sam 9 Mar 2013 - 15:11

Bon j'ai dit des bêtises. En fait les dialogues bloquent bien l'exécution du script, donc repeatedly_execute (sans le always !) ne sera exécutée que lorsque le dialogue sera terminé. Source

Tu peux donc faire comme ça :
Code:
bool dialogueLance = false;
function Lance(this Dialog*) {
  gMonGui.Visible = false;
  dialogueLance = true;
  this.Start();
}

function repeatedly_execute() {
  if (dialogueLance) {
    dialogueLance = false;
    if (!gMonGui.Visible) gMonGui.Visible = true;
  }
}
Attention par contre, la commande Start n'exécute le dialogue qu'après exécution du script qui l'a appelée (mais je ne pense pas que repeatedly_execute soit appelée entre-temps, donc tout devrait marcher comme voulu).

_________________
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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php En ligne
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: [résolu]Dialogues en sous-titres   Dim 1 Sep 2013 - 11:59

Tu peux Kitai a écrit:
Tu peux donc faire comme ça :
Super astuce ! Ça marche nickel, merci Kitai !
Oui je fait mon système de dialogue avec 6 mois de retard par rapport à valoulef.

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
Contenu sponsorisé




MessageSujet: Re: [résolu]Dialogues en sous-titres   Aujourd'hui à 17:19

Revenir en haut Aller en bas
 
[résolu]Dialogues en sous-titres
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Régler la vitesse des sous-titres
» Trailer d'entrée de DOA5 (avec sous titres Français)
» Inazuma eleven go 45 anglais sous titres
» [RESOLU]Pas de sous-titres..
» Hymne national soviétique sous-titre français

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: