Blödes Problem: Habe die Schriftrolle von Gorion bekommen und Brage hört nicht auf, das zu kommentieren. Bin ja nicht ganz blöd und hab die Global("C#BE_KnowOfBhaal","GLOBAL") auf 3 gesetzt. Hat aber nichts geholfen. Vor allem, weil ja eigentlich kein Fehler im Skript vorliegt, wenn man es liest. Hab keine Ahnung, was da falsch läuft, dass im Skript immer wieder der Dialog getriggert wird...
Ich probier mal noch ein bisschen rum.
BTW: NI sagt mir, da wäre ein Fehler im Brage1.bcs:
1044 CreateCreature("c#be1002",[2485.1190],SWW) // Commoner
Ich hab mal das zweite W entfernt....
Der Skriptblock:
IF
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
!StateCheck(Player1,CD_STATE_NOTVALID)
See(Player1)
!Detect([ENEMY])
!Detect([EVILBUTBLUE])
CombatCounter(0)
!Global("C#BE_KnowOfBhaal","GLOBAL",2)
OR(3)
Global("P#KnowBhaal","GLOBAL",1)
PartyHasItem("SCRL2J") // Letter
Global("C#BE_KnowOfBhaal","GLOBAL",1)
THEN
RESPONSE #100
SetGlobal("C#BE_KnowOfBhaal","GLOBAL",2)
END
Soweit alles gut, er setzt die Variable auf 2 dann kommt der nächste (und wenn sie auf 2 ist, sollte das Skript nicht mehr ausgeführt werden):
IF
InParty(Myself)
!StateCheck(Player1,CD_STATE_NOTVALID)
!StateCheck(Myself,CD_STATE_NOTVALID)
See(Player1)
!Detect([ENEMY])
!Detect([EVILBUTBLUE])
CombatCounter(0)
Global("C#BE_KnowOfBhaal","GLOBAL",2)
THEN
RESPONSE #100
RealSetGlobalTimer("C#BE_BrageDialogueTimer","GLOBAL",3200)
StartDialogNoSet(Player1)
END
Wenn man die Variable auf 3 setzt, dann sollte der Block nicht mehr getriggert werden und ich hab im ganzen Skript gesucht, ob die Variable nochmal abgefragt wird... wird sie nicht... Wenn man die Variable nicht hochzählt, verstehe ich, dass hier eine Schleife ist...
Setzt man sie auf 3 dann kommt der erste Block wieder und setzt sie auf 2...