Attente

Bonjour,

Dans mon projet je veux afficher des bouts de texte avec un certain temps d’attente entre chaque morceaux.
J’ai déjà regardé en ligne et j’ai trouvé l’extension « Real-Time Delays » par Erik Temple, et d’après la documentation j’ai essayé ce code :

say "texte";
wait 1500 milliseconds before continuing;
say "texte ";

Malheureusement j’obtiens cette erreur :

Fatal Error: Printing text to a window that is waiting for line or character input is not allowed.

étant donné que je n’ai rien trouvé de plus je m’en remet a vous :slight_smile:

Merci d’avance !

Bienvenue !

Je n’ai pas Inform sous la main, alors je ne peux pas vérifier, mais je ne vois pas où est le problème avec ton code. J’imagine que tu as compris l’erreur, qui indique qu’on ne peut pas afficher de texte si le jeu attend une commande du joueur au même moment (ça ne peut arriver qu’avec du temps réel puisque sinon, on ne peut qu’afficher du texte pendant un tour, entre deux commandes).

Mais je ne vois pas comment c’est possible avec ton code. Peux-tu donner un exemple de code complet et compilable qui donne cette erreur ?

Aussi, quelle version d’Inform utilises-tu, et où as-tu téléchargé l’extension ? C’est important parce qu’on peut trouver plein de versions différentes de la même extension à plein d’endroits différents.

Merci pour ta réponse !

L’extension je l’ai téléchargé sur le site d’inform 7 :
http://inform7.com/extensions/Erik%20Temple/Real-Time%20Delays/index.html

Pour le code compilable j’ai fais une capture du code dans inform 7 avec le résultat :
https://www.dropbox.com/s/oyox9rh08bvcuwy/Capture.PNG?dl=0

Après j’ai peut-être (certainement) mal compris a quoi sert l’extension.
Mon but étant d’afficher des phrases avec quelques seconde entre chaque apparition.

Non non, tu as bien compris à quoi sert l’extension.

Mais j’ai testé chez moi, avec 6L38, ça marche… Du coup, je ne vois pas trop ce que ça peut être. Désolé ! J’y réfléchirai.

Au passage, c’est mieux si tu mettais ton code directement sur le forum avec les balises [code] plutôt que de prendre une capture d’écran. Comme ça il suffit de faire du copier-coller pour tester. Et aussi, tes indentations dans le code ne sont pas idéales, ça pourra te poser problème quand tu utiliseras des conditions.

Merci pour les conseils, je vais essayer de les prendre en compte.

Pour ce qui est du problème j’ai trouvé une solution je sais pas pourquoi ça fonctionne mais voilà :

say "blabla";
wait 1450 milliseconds before continuing, strictly;
say "blabla";

Il m’a juste suffit de rajouter un " , strictly" à la fin de la ligne pour que ça fonctionne.

Merci beaucoup pour tes réponses et bonne journée !

Le « strictly » est juste là pour dire que le joueur ne pourra pas sauter le délai en appuyant sur une touche. Du coup ça correspond peut-être mieux à ce que tu voulais, mais ça reste bizarre que ça marche… Mais maintenant qu’on a une piste, je vais quand même essayer de chercher la raison au problème initial.