Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[DLG] Problèmes divers de syntaxe empêchant la compilation d'un dialogue

Verrouillé
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne

[DLG] Problèmes divers de syntaxe empêchant la compilation d'un dialogue

.

Message par Grenouillebleue »

J'ai un souci de compilation.

Un PNJ de quête dispose du fichier barbe.d suivant:

Code : Tout sélectionner

BEGIN ~Barbe~

IF ~ Global("barbespeech","LOCALS",1) ~ THEN BEGIN 0
SAY ~ blabla...~
IF ~~ THEN EXTERN BKIM pirate0
END


IF ~~THEN BEGIN 1
SAY ~ blabla~
IF ~~ THEN REPLY ~ aaaa~ GOTO 2
IF ~~ THEN REPLY ~ bbbb~* GOTO 3
IF ~~ THEN REPLY ~ cccc~ GOTO 4
END


IF ~~ THEN BEGIN 2
SAY ~ blabla~
IF ~~ THEN DO ~SetGlobal("barbespeech","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN 3
SAY ~ blabla~
IF ~~ THEN DO ~SetGlobal("barbespeech","LOCALS",2)~ EXTERN BKIM pirate1
END


IF ~~ THEN BEGIN 4
SAY ~ blabla~
IF ~~ THEN REPLY ~ aaaa ~ GOTO 2
IF ~~ THEN REPLY ~ bbbb~ GOTO 5
END

IF ~~ THEN BEGIN 5
SAY ~ blabla~
IF ~~ THEN DO ~SetGlobal("barbespeech","LOCALS",2)~ EXIT
END


APPEND BKIM

IF ~~ THEN BEGIN pirate0
SAY ~ blabla~
IF ~~ THEN EXTERN BARBE 1
END

IF ~~ THEN BEGIN pirate1
SAY ~ blabla~
IF ~~ THEN DO ~LeaveParty()
GivePartyAllEquipment()
EscapeArea()~ EXIT
END
END
Or, le dialogue du début se déclenche bien, mais la réplique de Kim n'a rien à voir avec l'histoire... en gros, elle dit quelque chose qui fait partie des lovetalks (ligne 177) et qui normalement ne devrait rien avoir à faire dans tout ça... help !
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Lamnis Valnon
Statut : Hors ligne
.

Message par Lamnis Valnon »

Code : Tout sélectionner

IF ~~ THEN BEGIN Magasin2
SAY ~Vous ne le regretterez pas!~
IF ~~ THEN REPLY ~D'accord, allons-y!~ DO ~StartStore("lvmarch1",LastTalkedToBy())
END
Voici la clé de mon désespoir ;

Ligne 22 (SAY ~...), colonne 1-5 m'a dit WeiDU.

Et j'ai eu beau essayer tout ce qu'il y avait à faire pendant près d'une heure, la seule solution est de tout supprimer pour que cela marche... Une gentille personne pourrait m'indiquer quelle est la coquille dans ce script pourtant si simple ?

En même temps, Silk, pourrais tu créer une section de posts "éphémères", traitant de problèmes tels que celui ci, qui seraient effacer après résolution ? J'ai pas vraiment envie d'encombre le forum de post comme ça :notme2: ...
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Grenouillebleue »

Originally posted by Lamnis Valnon[/i]@dimanche 19 octobre 2003, 12:41

Code : Tout sélectionner

IF ~~ THEN BEGIN Magasin2
SAY ~Vous ne le regretterez pas!~
IF ~~ THEN REPLY ~D'accord, allons-y!~ DO ~StartStore("lvmarch1",LastTalkedToBy())
END
Voici la clé de mon désespoir. Ligne 22 (SAY ~...), colonne 1-5 m'a dit Weidu. Et j'ai eu beau essayer tout ce qu'il y avait à faire pendant près d'une heure, la seule solution est de tout supprimer pour que cela marche... Une gentille personne pourrait m'indiquer quelle est la coquille dans ce script pourtant si simple ?

En même temps, Silk, pourrais tu créer une section de posts "éphémères", traitant de problèmes tels que celui ci, qui seraient effacer après résolution ? J'ai pas vraiment envie d'encombre le forum de post comme ça :notme2: ...
Il te manque un tilde (~) et une sortie de dialogue (EXIT).

Ça devrait marcher avec ça:

Code : Tout sélectionner

IF ~~ THEN BEGIN Magasin2
SAY ~Vous ne le regretterez pas!~
IF ~~ THEN REPLY ~D'accord, allons-y!~ DO ~StartStore("lvmarch1",LastTalkedToBy())~ EXIT
END
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Silk
Statut : Hors ligne
.

Message par Silk »

Originally posted by Lamnis Valnon@dimanche 19 octobre 2003, 13:41
En même temps, Silk, pourrais tu créer une section de posts "éphémères", traitant de problèmes tels que celui ci, qui seraient effacer après résolution ? J'ai pas vraiment envie d'encombre le forum de post comme ça :notme2: ...
Pourquoi donc ? Ce forum est fait peut poser n'importe quelle type de question, de la plus stupide à la plus complexe... ;)
Lamnis Valnon
Statut : Hors ligne
.

Message par Lamnis Valnon »

Hé bien, je pense que ce genre de questions à six sous ne devrait pas encombrer ce forum, ce ne sont que des erreurs simples, étourderies, et non de réels problèmes. Enfin, merci Grenouillebleu de m'avoir aidé ;) .
Silk
Statut : Hors ligne
.

Message par Silk »

Ca n'encombre pas vraiment... Et les modérateurs ne peuvent pas s'amuser à jouer à la poubelle à chaque fois qu'un problème est résolu... M'enfin si tu souhaites vraiment une suppression, moi ça ne me dérange pas. En tout cas, je ferme le sujet, le problème ayant été résolu.
Silk
Statut : Hors ligne
.

Message par Silk »

Je ne vois pas où tu veux en venir... Tu peux éclaircir un peu ?
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Grenouillebleue »

Je ne sais pas comment, mais la réplique de Kim n'était pas celle qui était prévue. Mais le bug est résolu désormais, alors que je n'ai touché à rien... très étrange :..:

Espérons que ca marchera toujours bien :notme2:
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Silk
Statut : Hors ligne
.

Message par Silk »

Vi, c'est bizarre... Une variable double (deux fois le même nom), peut-être ?
Glim
Statut : Hors ligne
.

Message par Glim »

Voila la portion de script consernée:

Code : Tout sélectionner

IF ~~ THEN BEGIN Guildes
	SAY ~Je sais juste que c'est un massacre, et a moin que vous ne vouliez autre chose dégagé.~
	IF ~~ THEN REPLY ~Tres bien, au revoir.~ EXIT
	IF ~~ THEN REPLY ~En fait vous avez l'air d'être un voleur expérimenté et je voulais savoir si vous ne vouliez pas rejoindre mon groupe.~
	 (ligne 23) SAY ~Ca a l'air tentant, ok je vous suis.~ DO ~SetGlobal("GlimDansGroupe","LOCALS",1)JoinParty()~ EXIT
END
Lors de la compilation il m'est dit qu'il y a une erreur à la ligne 23 et "NEAR TEXT: SAY

Qu'est-ce qui cloche ?
Lamnis Valnon
Statut : Hors ligne
.

Message par Lamnis Valnon »

Hé bien il faut que tu changes de bloc pour que le perso te parle à nouveau:

Code : Tout sélectionner

IF ~~ THEN BEGIN Guildes
SAY ~Je sais juste que c'est un massacre, et a moin que vous ne vouliez autre chose dégagé.~
IF ~~ THEN REPLY ~Tres bien, au revoir.~ EXIT
IF ~~ THEN REPLY ~En fait vous avez l'air d'être un voleur expérimenté et je voulais savoir si vous ne vouliez pas rejoindre mon groupe.~ [color=yellow]GOTO 123[/color]
END

[color=yellow]IF ~~ THEN BEGIN 123[/color]
SAY ~Ca a l'air tentant, ok je vous suis.~ 
IF ~~ THEN DO ~SetGlobal("GlimDansGroupe","LOCALS",1)JoinParty()~ EXIT
END

La ligne bleu je suis pas très sûr de la syntaxe, mais c'est ce que j'aurais mis.
Glim
Statut : Hors ligne
.

Message par Glim »

Code : Tout sélectionner

BEGIN GlimCouteauvif

IF ~NumTimesTalkedTo(0)~ THEN BEGIN PremiereRencontre
	SAY ~Que voulez-vous?~ D0 ~SetGlobal("GlimDansGroupe","LOCALS",1) JoinParty()~ EXIT
END
Plus simple, là l'erreur se trouve de ~Set... à ...()~
Silk
Statut : Hors ligne
.

Message par Silk »

Tu peux additionner les commande Set et Join sans espace ? :8:
Lamnis Valnon
Statut : Hors ligne
.

Message par Lamnis Valnon »

Tu dois rajouter une ligne:

Code : Tout sélectionner

IF ~NumTimesTalkedTo(0)~ THEN BEGIN PremiereRencontre
SAY ~Que voulez-vous?~ 
[color=yellow]IF ~~ THEN[/color] DO ~SetGlobal("GlimDansGroupe","LOCALS",1) JoinParty()~ EXIT
END
A mon avis, c'est ça :p ! Et aussi... Écris DO pas D0 (d-o pas d-zéro) !
Glim
Statut : Hors ligne
.

Message par Glim »

Apparement ça vient pas de ça, mon ordi trouve encore à redire

Lamnis, merci c'était ça. Un de perdu 10 de retrouvé
Lamnis Valnon
Statut : Hors ligne
.

Message par Lamnis Valnon »

N'oublie pas que le bloc est composé en 4 temps:

1- IF ~~ THEN BEGIN "ReférenceDialogue"

2- SAY ~"Dialogue"~

3- IF ~~ THEN ... Action (=Réponse) (DO, EXIT, REPLY...). Plusieurs choix possibles.

4- END

Le 2ème temps doit rester SAY ~"Dialogue"~, les actions sont ajoutées à une RPONSE
Glim
Statut : Hors ligne
.

Message par Glim »

Ca à bien compilé maintenant, le problème est résolu
Silk
Statut : Hors ligne
.

Message par Silk »

Problème résolu, j'envoie le sujet dans la "poubelle syntaxe" :)
Verrouillé

Retourner vers « Dialogues »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités