| Fonction "Say" & Fond item dans Inventaire | |
|
|
|
Auteur | Message |
---|
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire Sam 15 Nov 2008 - 22:06 | |
| Quoi donc ?
Au pire compresse le dossier du jeu et envoie-le moi (le dossier du projet, pas du jeu compilé) en me précisant sous quelle version de AGS tu tournes. |
|
| |
mikosworld Adepte de la Grande Tasse Bleue
Nombre de messages : 130
Date d'inscription : 18/06/2006
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire Dim 16 Nov 2008 - 1:23 | |
| ok mais comme j'aimerais comprendre Est-ce que tu appelles une fonction dans la room ? autre quand dans le GlobalScript ? |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire Lun 17 Nov 2008 - 21:27 | |
| non non, tout est posté ici, j'ai même mis quelques petits commentaires dans le code :clindoeil: Telle quelle, le code fonctionne (puisque chez moi, par exemple, il fonctionne). C'est lorsqu'il y a d'autre code (SaveCursorUntilItLeaves) qu'il peut y avoir des conflits. Une façon de s'assurer que "ChangeCurseur" ne sauvegarde pas le mode de la souris lorsque le curseur ne survole rien (à part une walkable aera), c'est de placer la commande SaveCursorUntilItLeaves dans un if (GetLocationType(mouse.x, mouse.y) == eLocationNothing). Après je sais pas si c'est ça qui pose problème chez toi, c'est pour ça que je te proposais de m'envoyer le projet. EDIT : Bon, le problème est en fait tout simple :dd: Tu as créé des propriétés personnalisées pour les pièces, mais pas pour les objets et hotspots. Des propriétés personnalisées pour chaque objet et hotspot, ça te permet de mettre "Ouvrir fenêtre" pour l'interaction avec la fenêtre et "Fouiller sac" pour l'interaction avec le sac, par exemple. Une fois la propriété personnalisée définie pour chaque objet et hotspot, ça marche parfaitement : : _________________ 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 ! |
|
| |
mikosworld Adepte de la Grande Tasse Bleue
Nombre de messages : 130
Age : 44
Localisation : Ain - France
Date d'inscription : 18/06/2006
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire Lun 17 Nov 2008 - 21:47 | |
| Trop fort Effectivement Je souhaite coupler le résultat d'une propriété personnalisée avec @OVERHOTPSPOT@, comme ceci : - Code:
-
label1.text = texte + "OVERHOTPSOT"; Mais AGS me renvoie une erreur, avec l'opérateur, comment puis-je fais correctement la concaténation ? Autre question, comment faire un retour de ligne dans un dialogue ? le "\n" n'est pas pris en compte on dirait ex.: - Code:
-
cEgo.say("Je m'appelle Nico\net j'ai 50 ans ..."); Merci encore et encore |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire Lun 17 Nov 2008 - 22:11 | |
| - mikosworld a écrit:
- Je souhaite coupler le résultat d'une propriété personnalisée avec @OVERHOTPSPOT@, comme ceci :
- Code:
-
label1.text = texte + "OVERHOTPSOT"; Déjà, si tu veux mettre "@OVERHOTSPOT@", oublie-pas les @ :clindoeil: Ensuite, je ne sais pas si @OVERHOTSPOT@ détecte aussi les objets... Enfin, pour concaténer du texte, il faut utiliser la fonction String.Append. - mikosworld a écrit:
- Autre question, comment faire un retour de ligne dans un dialogue ? le "\n" n'est pas pris en compte on dirait
ex.: - Code:
-
cEgo.say("Je m'appelle Nico\net j'ai 50 ans ..."); Le retour à la ligne s'exprime avec le symbole [, depuis AGS 3.0 en tout cas (il n'existait pas sur la 2.71 à ma connaissance). _________________ 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 ! |
|
| |
mikosworld Adepte de la Grande Tasse Bleue
Nombre de messages : 130
Age : 44
Localisation : Ain - France
Date d'inscription : 18/06/2006
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire Lun 17 Nov 2008 - 22:17 | |
| Ok, c'est bon pour la concaténation Par contre dans l'aide pour la nouvelle ligne, c'est pas très clair Ce serait genre : - Code:
-
Display("A normal string [with no variables.");
Enfin, dans ton code, ta fonction "MouseGetsOn" y a pas moyen d'éclater de façon à séparer le GUI, les Hotspots, perso et les objets ? Car j'aimerais désactiver mon curseur "eModeTalkto" sur tous les objets, mais pas les hotspots ... |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire Lun 17 Nov 2008 - 22:38 | |
| - mikosworld a écrit:
- Par contre dans l'aide pour la nouvelle ligne, c'est pas très clair
Ce serait genre : - Code:
-
Display("A normal string [with no variables.");
Certes, on est pas au summum de la clarté, mais tu as tout de même trouvé la bonne syntaxe :clindoeil: Et rien ne vaut l'expérimentation. : : - mikosworld a écrit:
- Enfin, dans ton code, ta fonction "MouseGetsOn" y a pas moyen d'éclater de façon à séparer le GUI, les Hotspots, perso et les objets ?
Car j'aimerais désactiver mon curseur "eModeTalkto" sur tous les objets, mais pas les hotspots ... À vrai dire c'est déjà le cas. Si tu regardes bien, la fonction "MouseGetsOn" appelle la fonction "ChangeLabel" avec pour argument GetLocationType(mouse.x, mouse.y), ce qui correspond au type d'élément pointé par le curseur. "ChangeLabel" elle va retourner le texte de la propriété personnalisée de l'objet ou du hotspot selon ce type. Tu as donc deux endroits où désactiver ce type de curseur : dans "MouseGetsOn", dans une condition sur GameLocation(mouse.x, mouse.y) ou dans "ChangeLabel", dans une condition du même type (déjà présente pour distinguer les propriétés personnalisées des objets ou des hotspots). Par contre la version de "MouseGetsOn" que je t'ai filée dernièrement ne prend pas en compte les GUIs (c'est la contrepartie à une économie de code), mais je pense que ça ne te gênera pas, si ? _________________ 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 ! |
|
| |
mikosworld Adepte de la Grande Tasse Bleue
Nombre de messages : 130
Age : 44
Localisation : Ain - France
Date d'inscription : 18/06/2006
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire Lun 17 Nov 2008 - 22:48 | |
| - Citation :
Si tu regardes bien, la fonction "MouseGetsOn" appelle la fonction "ChangeLabel" avec pour argument GetLocationType(mouse.x, mouse.y), ce qui correspond au type d'élément pointé par le curseur.
Oui, comment je fais pour dire que je suis sur un objet ou un hotspot ? faut bien que je le détecte, non ? Dans ce genre : - Code:
-
// Si mon curseur est sur un hotspot, je joue le son 1, si c'est sur un objet, je joue le son 2 if (GetLocationType(mouse.x, mouse.y) == hotspot[0]) PlaySound(1); else if (GetLocationType(mouse.x, mouse.y) == objet PlaySound(2);
|
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire Lun 17 Nov 2008 - 23:06 | |
| - mikosworld a écrit:
- Oui, comment je fais pour dire que je suis sur un objet ou un hotspot ? faut bien que je le détecte, non ?
C'est ce que font ces lignes : - Code:
-
if (type == eLocationObject) { // On récupère l'objet aux coordonnées de la souris. et - Code:
-
if (type == eLocationHotspot) { // On va faire la même chose avec le Hotspot pointé qu'on // fait avec l'objet pointé dans la fonction "ChangeLabel". La fonction "GetLocationType" retourne une valeur de type LocationType (les différents types pré-intégrés dans AGS sont disponibles ici) Du coup tu ne peux pas passer une condition - Code:
-
if (GetLocationType(mouse.x, mouse.y) == hotspot[0]) puisque "GetLocationType" ne retournera jamais un hotspot, mais plutôt la valeur eLocationHotspot. Voilà, je te laisse te débrouiller un peu pour la suite : : _________________ 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 ! |
|
| |
mikosworld Adepte de la Grande Tasse Bleue
Nombre de messages : 130
Age : 44
Localisation : Ain - France
Date d'inscription : 18/06/2006
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire Lun 17 Nov 2008 - 23:18 | |
| Oh my GOD :dd: Le code est en plein milieu de l'écran ! quel quiche ! |
|
| |
Contenu sponsorisé
| Sujet: Re: Fonction "Say" & Fond item dans Inventaire | |
| |
|
| |
| Fonction "Say" & Fond item dans Inventaire | |
|