Jastey
Matron Modderholic
- Registriert
- 16.05.2004
- Beiträge
- 12.946
Update: ich habe eine funktionierende Lösung gefunden. Vielen Dank an alle Mitwirkenden!
Wieso das ursprünglich nicht geklappt hat verstehe ich zwar noch immer nicht wirklich, aber zumindest klappt meine neuste Version jetzt.
--------
Ich habe folgenden Testdialog gescripted. Wie man beim state "ingredient_04" landet ist irrelevent (EDIT: war es natürlich nicht, s.u.). Es geht darum, dass der Dialog zwischen dem State "ingredient_05" und State "ingredient_06" looped, und zwar ohne Ende.
Da ich globale Variablen setze und Abfrage, dürfte das eigentlich nicht sein. Es befinden sich genug States zwischen dem Setzen und dem Abfragen der Variablen. Beide States dürften nach den normalen Regeln der Engine nur einmal erscheinen und dann müsste der Dialog enden, da die Variablen auf "1" stehen. Tun sie aber nicht, es loopt. Ich weiß nicht mehr weiter, sieht jemand was?
Wieso das ursprünglich nicht geklappt hat verstehe ich zwar noch immer nicht wirklich, aber zumindest klappt meine neuste Version jetzt.
--------
Ich habe folgenden Testdialog gescripted. Wie man beim state "ingredient_04" landet ist irrelevent (EDIT: war es natürlich nicht, s.u.). Es geht darum, dass der Dialog zwischen dem State "ingredient_05" und State "ingredient_06" looped, und zwar ohne Ende.
Da ich globale Variablen setze und Abfrage, dürfte das eigentlich nicht sein. Es befinden sich genug States zwischen dem Setzen und dem Abfragen der Variablen. Beide States dürften nach den normalen Regeln der Engine nur einmal erscheinen und dann müsste der Dialog enden, da die Variablen auf "1" stehen. Tun sie aber nicht, es loopt. Ich weiß nicht mehr weiter, sieht jemand was?
Code:
/* octopus ink */
IF ~~ THEN ingredient_04
SAY @754 /* ~Octopus ink!~ */
= @759 /* ~Always needed for the right consistency of magical ink.~ */
IF ~~ THEN DO ~SetGlobal("C#Br_HaveSaphire","GLOBAL",1)~ + ingredient_06
END
/* potion of regeneration */
IF ~~ THEN ingredient_05
SAY @762 /* ~A potion of Regeneration!~ */
= @983 /* ~A powerful magic, and useful in more than one way if you know how.~ */
IF ~~ THEN EXIT
IF ~Global("C#Br_HaveSaphire","GLOBAL",0)~ THEN DO ~SetGlobal("C#Br_HaveSaphire","GLOBAL",1)~ + ingredient_06
END
/* star spahire */
IF ~~ THEN ingredient_06
SAY @984 /* ~A Star Saphire!~ */
= @985 /* ~Always a sight for sore eyes.~ */
IF ~~ THEN EXIT
IF ~Global("C#Br_HavePotion","GLOBAL",0)~ THEN DO ~SetGlobal("C#Br_HavePotion","GLOBAL",1)~ + ingredient_05
END
Zuletzt bearbeitet: