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

Partagez | 
 

 Message qui s'affiche au fur et à mesure

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

Nombre de messages : 2553

Date d'inscription : 01/08/2006


MessageSujet: Message qui s'affiche au fur et à mesure   Ven 26 Sep 2008 - 0:01

Voilà, j'ai fait un petit module pour que le texte des messages s'affiche au fur et à mesure, c'est-à-dire lettre par lettre.



C'est un module, donc pour le charger, dans l'éditeur d'AGS, vous faites un clic droit sur "Scripts" à droite, et vous sélectionnez "Import script...". Là, vous allez dans le dossier où vous avez téléchargé le fichier .scm et vous cliquez sur "Ouvrir". Tadaa !! C'est magique clin d'oeil

ATTENTION : Ce module est fait pour les versions 3 et plus d'AGS, c'est-à-dire que vous ne pourrez pas l'utiliser sur les versions 2.72 et antérieures. Si vous le voulez tout de même, n'hésitez pas à faire signe, je devrais pouvoir l'adapter très rapidement (ou faites-le vous-même si vous vous sentez d'attaque clin d'oeil)
Les commandes changent selon la version que vous utilisez.


Utilisation : Pour une fois, j'ai fait une chose plutôt simple.

Commandes :

  • Character.Dire(String message, optionnal BlockingStyle blocking)
  • Parler.Afficher(int X, int Y, String message, optionnal int color, optionnal BlockingStyle blocking)


Pour lancer un message à partir d'un personnage, vous utilisez habituellement la commande Say de cette façon :
Code:
cPerso.Say("Le message ici");
L'équivalent de cette commande pour le module que je vous propose est
Code:
cPerso.Dire("Le message ici");
A noter que, si vous le désirez, vous pouvez spécifier que le message ne doit pas bloquer l'exécution ainsi :
Code:
cPerso.Dire("Le message ici", eBlock)

Plutôt simple, non ? Là où ça se corse, c'est pour utiliser des variables dans les messages (mais rassurez-vous, ça reste accessible langue ).

Alors qu'avec Say vous entriez
Code:
cPerso.Say("J'ai %d bananes sur moi", bananes);
avec Dire il faut entrer
Code:
cPerso.Dire(String.Format("J'ai %d bananes sur moi", bananes));
Utile, cette commande String.Format !

Vous pouvez également afficher un message général de cette façon :
Code:
Parler.Afficher(30, 20, "Votre message ici");
Par défaut, la couleur d'affichage est la 15ème de la palette de votre jeu, mais vous pouvez la préciser comme ceci :
Code:
Parler.Afficher(30, 20, "Votre message ici", 13);
pour utiliser la couleur 13 de la palette de votre jeu.
Comme pour Dire, vous pouvez spécifier qu'elle ne doit pas bloquer l'exécution, comme ceci :
Code:
Parler.Afficher(30, 20, "Votre message ici", 15, eNoBlock);
(Si vous passez le paramètre blocking, vous DEVEZ passer le paramètre color)

In-Game : Lorsque vous lancerez le jeu, tous les messages que vous passerez par Dire ou Afficher s'afficheront lettre par lettre (pas trop lentement non plus, rassurez-vous clin d'oeil) et le personnage qui parle sera animé avec l'animation de dialogue par défaut.

Vous pourrez cliquer avec le bouton gauche de la souris pour passer le "défilement" du message si le message bloque l'exécution.


Malheureusement, ce module ne modifie pas l'affichage des messages que vous mettez dans la partie "Dialogs" d'AGS, pour la bonne raison qu'ils passent par la fonction intégrée d'AGS : on ne peut pas choisir d'utiliser Dire plutôt que Say :!:


Voilà voilà, si vous avez des questions/requêtes/suggestions/remerciements/insultes/etc., n'hésitez pas à me faire signe ^^

Bonne création ! :bball:

_________________
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 !


Dernière édition par Kitai le Ven 10 Juil 2009 - 23:33, édité 5 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5529

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Ven 26 Sep 2008 - 8:42

C'est sympa ça ! Merci ! :sourire:

Ca marche seulement quand le perso parle ou on peut l'utiliser avec des messages (Display) ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://marionpoinsot.fr/video
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 2553

Date d'inscription : 01/08/2006


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Ven 26 Sep 2008 - 18:51

Hmm, j'avais pas pensé à la fonction Display c'est vrai...

Du coup, pour le moment, la seule solution me semble être de créer un personnage invisible et de le passer en paramètre ainsi :
Code:
Dire(cPersoInvisible, "Le message à afficher en display");

Je vais voir pour faire une version Display ^^

_________________
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
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5529

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Ven 26 Sep 2008 - 19:49

Oui, j'y avais pensé, ça peut être une solution :clindoeil:
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://marionpoinsot.fr/video
Crazy Legs
Grand Cliqueur Royal
Grand Cliqueur Royal
avatar

Nombre de messages : 1513

Age : 24

Localisation : La Rochelle

Date d'inscription : 09/01/2008


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Sam 27 Sep 2008 - 23:13

C'est super Kitai merci, ça peut être c'est intéressant.

_________________
VOUS POURREZ BIENTÔT RÉAPPRENDRE À UTILISER AGS SUR LE SITE DU ZÉRO !
Le tuto est actuellement en refonte totale activement depuis le 20 juillet, prochaine sortie en août ou septembre si tout se passe bien.
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
avatar

Nombre de messages : 2553

Date d'inscription : 01/08/2006


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Sam 4 Oct 2008 - 18:07

Voilà, nouvelle version avec possibilité d'afficher à la "Display".

A noter que l'utilisation s'est simplifiée (du moins je trouve) : on utilise désormais la commande Dire directement sur le personnage, comme ceci
Code:
cPerso.Dire("Salut la compagnie !");

_________________
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
googi
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 119

Date d'inscription : 14/06/2009


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Jeu 9 Juil 2009 - 13:50

J'utilise "Parler.Afficher(30, 20, "Votre message ici", 15, eNoBlock);" à chaque entrée dans une room (after fade-in) pour afficher une brève description du lieue.

eNoBlock permet de pas attendre que ça s'affiche pour bouger... sauf que.. quand je rechange de room avant que le message se soit complètement affiché ça plante.

Il me dit "invalid overlay ID specified" et me renvoit à la ligne 173 de Lettre11.asc:
Bulle.X = x - Propos.xport;

Y a moyen d'y remédier ou il faut que j'utilise eBlock?

_________________________

Autre soucis: La première fois que je rentre dans la 1ère room du jeu, le message ne s'affiche pas. Par contre quand je change de room et que je reviens dans la 1ère, là, pas de soucis, il s'affiche. Normal?

Code:
function room_AfterFadeIn()
{
room = 1;
DisplayTopBar(25, 8, 7, "Prairie", "Bon, y a 2 ou 3 boulets, mais ca a l'air sympa ici!");
Parler.Afficher(5, 170, "Le petit chemin dans la prairie", 15, eNoBlock);
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Asraroth
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1431

Age : 43

Date d'inscription : 20/10/2006


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Ven 10 Juil 2009 - 22:41

J'ai pas testé, mais en regardant rapidement le code du module, je pense qu'en faisant un "If (Bulle != null) Bulle.Remove();" sur l'évènement "Leave Room", çà devrait régler ton problème. Faudrait que Kitai le rajoute dans son module directement ^^
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
avatar

Nombre de messages : 2553

Date d'inscription : 01/08/2006


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Ven 10 Juil 2009 - 23:22

Bien vu Asra, c'était presque ça ! clin d'oeil

La ligne est
Code:
if ((Bulle != null) && (Bulle.Valid != 0)) Propos.Stop();
Propos.Stop() pour éviter que les fonctions contenues dans repeatedly_execute_always() rencontrent des problèmes en manipulant le calque, et la double condition pour éviter les problèmes de référence.

En revanche je ne sais pas si ça résoud le problème de l'affichage à la première room, j'en doute.
A noter que je ne recontre pas ce problème lors de mes tests : le message s'affiche correctement lorsque je place Propos.Afficher(5, 170, "Le petit chemin dans la prairie", 15, eNoBlock); dans le room_AfterFadeIn() de la pièce de départ.

googi, télécharge cette version du module ça devrait résoudre le premier problème 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
Asraroth
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1431

Age : 43

Date d'inscription : 20/10/2006


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Ven 10 Juil 2009 - 23:52

Oki ! tu peux le mettre dans ton module dans une fonction du genre :
[Edit] J'avais pas vu que tu avais déjà sortie une nouvelle version ! lol !

Code:
function on_event (int event, int data) {
  if (event == eEventLeaveRoom) {
    if ((Bulle != null) && (Bulle.Valid != 0)) Propos.Stop();
  }
}



Encore que le test (if bull != null...), tu devrais peut-être le mettre directement dans la fonction Stop avant de faire le remove de l'Overlay. clin d'oeil
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
googi
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 119

Date d'inscription : 14/06/2009


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Dim 12 Juil 2009 - 7:48

Impec, premier soucis réglé. Merci à vous 2.

Par contre toujours pas de message quand j'arrive dans la room de départ, mais c'est pas dramatique.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Le fous de LUCASART
Chevalier d'Honneur de la Grande Tasse Bleue
Chevalier d'Honneur de la Grande Tasse Bleue
avatar

Nombre de messages : 2096

Age : 25

Localisation : Dans l'univers d'un de ses bons vieux jeux d'aventures!!

Date d'inscription : 07/08/2006


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Dim 12 Juil 2009 - 9:10

Eh googi c'est super de te voir utiliser les modules d'ags mais pourquoi n'irais tu pas te présenter et surtout poster dans "jeux en prépa"...

_________________
Scénariste
Mai 2008 : background cimetière
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.fan-naheulbeuk.fr.st
googi
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 119

Date d'inscription : 14/06/2009


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Dim 12 Juil 2009 - 9:43

Eheh! Bonjour "Fou" :ihih:

Me présenter n'aurait pas grand intérêt. Quant à mon projet, j'en parlerai une fois qu'il sera bien avancé ou fini, pas avant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Godzillu
Grand Cliqueur Royal
Grand Cliqueur Royal
avatar

Nombre de messages : 1558

Date d'inscription : 12/03/2007


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Dim 12 Juil 2009 - 10:47

Mais se présenter peut présenter un intérêt pour les autres. Alors n'hésite pas.

_________________
Ma vie, mon oeuvre au jour semestre à la semaine le jour semestre la semaine quand j'y pense : http://godzillu.blogspot.fr/ ou FB ou Twitter ou Instagram
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://godzillu.blogspot.fr/
Le fous de LUCASART
Chevalier d'Honneur de la Grande Tasse Bleue
Chevalier d'Honneur de la Grande Tasse Bleue
avatar

Nombre de messages : 2096

Age : 25

Localisation : Dans l'univers d'un de ses bons vieux jeux d'aventures!!

Date d'inscription : 07/08/2006


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Dim 12 Juil 2009 - 11:55

Enfin tu fais se que tu veux mais bon vu que la présentation est assez banal dans la vie des forum ça parait être utile...

_________________
Scénariste
Mai 2008 : background cimetière
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.fan-naheulbeuk.fr.st
googi
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 119

Date d'inscription : 14/06/2009


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Dim 12 Juil 2009 - 12:03

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
googi
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 119

Date d'inscription : 14/06/2009


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Mer 15 Juil 2009 - 17:46

googi a écrit:
Autre soucis: La première fois que je rentre dans la 1ère room du jeu, le message ne s'affiche pas. Par contre quand je change de room et que je reviens dans la 1ère, là, pas de soucis, il s'affiche. Normal?

Code:
function room_AfterFadeIn()
{
room = 1;
DisplayTopBar(25, 8, 7, "Prairie", "Bon, y a 2 ou 3 boulets, mais ca a l'air sympa ici!");
Parler.Afficher(5, 170, "Le petit chemin dans la prairie", 15, eNoBlock);

Problème réglé maintenant que je suis passé en 640x480 (j'étais en 320x200).
Seuls différences:
-résolution
-j'ai viré (pour le moment) le module de jauges qui posait problème.

Voilà Kitai.. Si ça peut t'aider à comprendre ce qui allait pas...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Crazy Legs
Grand Cliqueur Royal
Grand Cliqueur Royal
avatar

Nombre de messages : 1513

Age : 24

Localisation : La Rochelle

Date d'inscription : 09/01/2008


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Mer 15 Juil 2009 - 18:18

Pourquoi as-tu créé une variable room ?

_________________
VOUS POURREZ BIENTÔT RÉAPPRENDRE À UTILISER AGS SUR LE SITE DU ZÉRO !
Le tuto est actuellement en refonte totale activement depuis le 20 juillet, prochaine sortie en août ou septembre si tout se passe bien.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
googi
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 119

Date d'inscription : 14/06/2009


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Mer 15 Juil 2009 - 20:42

Pour savoir dans quelle room on est. Mais je l'ai renommée "roomactive" vu la merde que ça foutait.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Crazy Legs
Grand Cliqueur Royal
Grand Cliqueur Royal
avatar

Nombre de messages : 1513

Age : 24

Localisation : La Rochelle

Date d'inscription : 09/01/2008


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Mer 15 Juil 2009 - 21:20

Pas besoin, utilise cEgo.Room.

_________________
VOUS POURREZ BIENTÔT RÉAPPRENDRE À UTILISER AGS SUR LE SITE DU ZÉRO !
Le tuto est actuellement en refonte totale activement depuis le 20 juillet, prochaine sortie en août ou septembre si tout se passe bien.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
googi
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 119

Date d'inscription : 14/06/2009


MessageSujet: Re: Message qui s'affiche au fur et à mesure   Jeu 16 Juil 2009 - 12:44

Oui effectivement, c'est bien mieux. J'avais mis cette variable quand je découvrais AGS.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Message qui s'affiche au fur et à mesure   

Revenir en haut Aller en bas
 
Message qui s'affiche au fur et à mesure
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Message qui s'affiche au fur et à mesure
» Pastorale ou cérémonie? Lisez cette affiche
» Affiche publicitaire
» Affiche porte d'entrée AAJH
» Message Vocal.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Modules et plugins-
Sauter vers: