Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-25%
Le deal à ne pas rater :
PC Portable Gamer 16,1” HP Victus 16 – 16 Go /512 Go
749.99 € 999.99 €
Voir le deal

 

 Avoir plusieurs Speech.CustomPortraitPlacement

Aller en bas 
4 participants
AuteurMessage
filoulefilou
Cliqueur Amateur
Cliqueur Amateur
filoulefilou


Nombre de messages : 359

Date d'inscription : 24/05/2010


Avoir plusieurs Speech.CustomPortraitPlacement  Empty
MessageSujet: Avoir plusieurs Speech.CustomPortraitPlacement    Avoir plusieurs Speech.CustomPortraitPlacement  EmptyMer 21 Mai 2014 - 18:36

Désolé , encore moi.
J'ouvre un autre topic, pour une nouvelle question et permettre une meilleure lisibilitée par la suite.

Voici mon 2eme problème.
Je voulais une manière de Speecher pour le perso principal et une autre pour tous les autres.
Alors naïvement, j'ai écrit dans function_Game Star() :

Code:

  Speech.CustomPortraitPlacement = true;
  
  if(player.Speaking){
    
  Speech.PortraitXOffset = 18;
  Speech.PortraitY = 155;
  Speech.TextAlignment = eAlignLeft;
  Game.SpeechFont = eFontFont1;}
  
  if(!player.Speaking) {
    
 Speech.PortraitXOffset = 720;
 Speech.PortraitY = 145;
 Speech.TextAlignment = eAlignLeft;
  Game.SpeechFont = eFontFont1;}

Et ça ne fonctionne pas, j'ai alors essayé de remplacer player par le vrai nom de mon personnage principal, c'est à dire cCharacter; ça ne marche pas non plus.
Aussi bien le personne avec qui je parle que Mon perso player, ils parlent tous les deux à droite (soit la 2eme option)

Une idée ?

Cordialy
Revenir en haut Aller en bas
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Avoir plusieurs Speech.CustomPortraitPlacement  Empty
MessageSujet: Re: Avoir plusieurs Speech.CustomPortraitPlacement    Avoir plusieurs Speech.CustomPortraitPlacement  EmptyMer 21 Mai 2014 - 19:01

Je pense qu'il faut plutôt le mettre dans un repeatidly_execute_always, mais en trouvant une astuce pour ne pas changer les coordonnées 40 fois par seconde, mais seulement lorsqu'un personnage commence à parler...

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


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Avoir plusieurs Speech.CustomPortraitPlacement  Empty
MessageSujet: Re: Avoir plusieurs Speech.CustomPortraitPlacement    Avoir plusieurs Speech.CustomPortraitPlacement  EmptyMer 21 Mai 2014 - 21:28

Par ailleurs je crois qu'il y a une petite erreur de syntaxe dans ton code :

Code:
 if(!player.Speaking)
ne signifie pas "Si un autre personnage que le joueur est en train de parler" mais "Si le joueur n'est pas en train de parler".

Instinctivement, je ne vois pas comment désigner tous les personnages sauf le joueur, mais je pense que d'autres te le diront mieux que moi.

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
Revenir en haut Aller en bas
filoulefilou
Cliqueur Amateur
Cliqueur Amateur
filoulefilou


Nombre de messages : 359

Date d'inscription : 24/05/2010


Avoir plusieurs Speech.CustomPortraitPlacement  Empty
MessageSujet: Re: Avoir plusieurs Speech.CustomPortraitPlacement    Avoir plusieurs Speech.CustomPortraitPlacement  EmptyMer 21 Mai 2014 - 22:08

J'ai essayé avec un if(player.Speaking) et de mettre un else après
et ça ne fonctionne pas.

Et le truc du repeatidly_execute_always, ça n'a pas l'air de fonctionner.
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Avoir plusieurs Speech.CustomPortraitPlacement  Empty
MessageSujet: Re: Avoir plusieurs Speech.CustomPortraitPlacement    Avoir plusieurs Speech.CustomPortraitPlacement  EmptyMer 21 Mai 2014 - 22:47

Ok alors plusieurs choses.

Tout d'abord, tu as mis toutes ces commandes dans la fonction game_start, qui est exécutée lots du tout premier cycle de jeu uniquement (avant tout le reste, donc). En gros, à ce moment-là, tu te trouves avant le Big Bang, donc il est impossible que ton personnage principal soit en train de parler. Dès lors la condition qui sera remplie sera if (!player.Speaking) et le code effectivement exécuté sera celui qui se trouve dans cette condition.

Comme le suggère Billbis, il faut donc passer par repeatedly_execute_always : cela nous permettra de consulter le personnage à chaque cycle de jeu de façon à déterminer s'il parle ou non.
Code:
function repeatedly_execute_always() {
  if (player.Speaking) // Le personnage principal est en train de parler durant ce cycle
  else // Le personnage principal n'est pas en train de parler durant ce cycle
}
Mais se pose de suite un problème (insoluble ?) : ce script te permet de déterminer quand le personnage est déjà en train de parler et non pas quand il s'apprête à parler. Cela signifie que quel que soit le code que tu mets dans la condition, celui-ci ne sera exécuté qu'une fois le discours entamé, et donc ses effets ne seront visibles (au mieux) que pendant le discours (à vrai dire ils ne seront visibles qu'après la première ligne prononcée par le joueur principal). Imaginons que tu places malgré tout tes instructions dans la condition et qu'à un moment dans le jeu, ton personnage principal prend la parole dans un dialogue pour prononcer deux lignes : la première ligne sera prononcée avant l'exécution du code (donc sera affichée avec un certain aspect) et la deuxième ligne après l'exécution de ce code (donc sera affichée avec un autre aspect). Le raisonnement est similaire pour la partie else.

Je ne vois donc pas de bonne solution actuellement, mais j'y réfléchis ^^(Peut-être faudrait-il regarder du côté des modules de remplacement du système de dialogue natif)

_________________
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
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
filoulefilou
Cliqueur Amateur
Cliqueur Amateur
filoulefilou


Nombre de messages : 359

Date d'inscription : 24/05/2010


Avoir plusieurs Speech.CustomPortraitPlacement  Empty
MessageSujet: Re: Avoir plusieurs Speech.CustomPortraitPlacement    Avoir plusieurs Speech.CustomPortraitPlacement  EmptyJeu 22 Mai 2014 - 1:19

Houla !
Merde ...je me sens tout petit là ...face à cet inexplicable problème.
On va dire que je vais faire autrement. sourire
Revenir en haut Aller en bas
Contenu sponsorisé





Avoir plusieurs Speech.CustomPortraitPlacement  Empty
MessageSujet: Re: Avoir plusieurs Speech.CustomPortraitPlacement    Avoir plusieurs Speech.CustomPortraitPlacement  Empty

Revenir en haut Aller en bas
 
Avoir plusieurs Speech.CustomPortraitPlacement
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu] Plusieurs views speech pour 1 même perso, possible?
» Avoir plusieurs inventaires
» [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ?
» [résolu] Comment fonctionne "Speech.SkipStyle" :(
» [résolu]speech

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: