Beolo
Abenteurer
Was mir als erstes aufgefallen ist, Du nutzt die Variable fQuestDelayTime, aber sie wird im Skript nicht gesetzt, ist also wirkungslos. Ich halte es auch für unnötig das Questskript zu beschleunigen, in diesem Fall ist es ja wirklich egal, ob die Stage nun 5 Sekunden früher oder später gesetzt wird. Die Variable Timer hat auch keine Funktion im Skript.
Das Skript soll ja feststellen, ob ein Tag, also 24 Stunden vergangen ist. GamedaysPassed ist da schon mal richtig, nur es fehlt die Uhrzeit. Ich habe mal schnell was geschrieben, aber ohne Gewähr - bin gerade erst aufgestanden und der Kaffee hat seine Wirkung noch nicht voll entfacht. :lol:
Du musst hier eben zwei Variablen setzen um eine Stage hochzusetzen. Einmal Start und die Auswahl, also set QuestID.Start to 1 und set QuestID.Auswahl to 67, oder 210, oder welche auch immer. Ein aufploppendes Questlog kann in manchen Situationen unschön sein - in einem Kampfes beispielsweise. Einfach das Skript dann nach Belieben ergänzen.
Das Skript soll ja feststellen, ob ein Tag, also 24 Stunden vergangen ist. GamedaysPassed ist da schon mal richtig, nur es fehlt die Uhrzeit. Ich habe mal schnell was geschrieben, aber ohne Gewähr - bin gerade erst aufgestanden und der Kaffee hat seine Wirkung noch nicht voll entfacht. :lol:
Code:
Scn A67HQ01Warten
short Tag
float Zeit
short Start ; 1 = Zum Starten der 24-Stunden Abfrage
short Auswahl ; Wert der Stage die hochgesetzt werden soll
Begin GameMode
if Start == 1
set Zeit to GameHour
set Tag to GameDaysPassed
set Start to 2
endif
if Start == 2
if GameDaysPassed > Tag
if GameHour > Zeit
set Start to 0
set Auswahl to 0
SetStage A67HQ01 Auswahl
endif
endif
endif
End
Du musst hier eben zwei Variablen setzen um eine Stage hochzusetzen. Einmal Start und die Auswahl, also set QuestID.Start to 1 und set QuestID.Auswahl to 67, oder 210, oder welche auch immer. Ein aufploppendes Questlog kann in manchen Situationen unschön sein - in einem Kampfes beispielsweise. Einfach das Skript dann nach Belieben ergänzen.
Code:
if Start == 2
if GameDaysPassed > Tag
if GameHour > Zeit
if Player.IsInCombat == 0
if Player.IsSleeping == 0
if Player.GetInSameCell DieScharfeMaria == 0
set Start to 0
set Auswahl to 0
SetStage A67HQ01 Auswahl
endif
endif
endif
endif
endif
endif