Funktioninert nicht.Code:If ( GameHour > 22) && ( GameHour < 6 )
Wie soll GameHour gleichzeitig größer 22 und kleiner 6 sein?
Das hier funktioniert:
Allerdings währe das 23-6 Uhr. Für 22-6 Uhr wäre es:Code:If ( GameHour > 22 ) || ( GameHour < 6 )
Code:If ( GameHour >= 22 ) || ( GameHour < 6 )
short doOnce
begin OnActivate player
if (doOnce == 0)
[TargetRef].disable
set doOnce to 1
endif
end
scn Name
Begin GameMode
If ( RefIdMob1.GetDeath == 1 ) && ( RefIdMob2.GetDeath == 1 )....
RefIddesMobderSichRaushält.SetUnconscious 0
RefIddesMobderSichRaushält.SetGhost 0
DisablePlayerControls ; Hier würde sich irgenein Effekt gutmachen, der klarmacht, dass der Spieler sich nicth bewegen kann, eine Mauer oder ein Lähmzauber
RefIddesMobderSichRaushält.StartConversation Player IddesTopics
else
RefIddesMobderSichRaushält.SetUnconscious 1
RefIddesMobderSichRaushält.SetGhost 1
SetEssential BaseIddesNpcdersichRaushält 0
scn irgendwas
short doonce
Begin OnActivate
if doonce ==0
[IDdesdisabletenMonsters].enable
set doonce to 1
endif
end
scn irgendwas2
Begin OnActivate
[IDdeszuspawnendenMonster] moveto [IDzueinemvorhergesetztenXmarker]
end
scn Blubb
Begin OnActivate
RefIDdesMonster.Resurrect
RefIddesMonsters.MoveTo Player
end
scn Blubb
Begin OnActivate
Player.PlaceAtMe BaseMobId, 1 ; Hierfür muss das Monster als PC-Level OffSet markiert werden.
end
Scriptname MeinBegleiterMod ;Typ QuestScript
short SaphiriaMakePotion
float SaphiriaPotionMakingTimer
short SaphiriaHasGotAPotionInProgress
short SaphiriaShouldMakeAPotion
float TrankTimer
short TrankTimerStart
short TrankStart
begin GameMode
if SaphiriaMakePotion == 1 ; Wir vom Dialog Brau mir einen Trank ausgeworfen.
if SaphiriaHasGotAPotionInProgress != 1 && SaphiriaShouldMakeAPotion != 1
set SaphiriaPotionMakingTimer to 15
set SaphiriaHasGotAPotionInProgress to 1
set SaphiriaShouldMakeAPotion to 1
SaphiriaRef.AddItem MortarPestle 1
SaphiriaRef.AddScriptPackage SaphiriaAlchemy
else
if SaphiriaPotionMakingTimer >= 0
set SaphiriaPotionMakingTimer to SaphiriaPotionMakingTimer - GetSecondsPassed
else
set SaphiriaHasGotAPotionInProgress to 0
set SaphiriaShouldMakeAPotion to 0
SaphiriaRef.StartConversation Player, SaphiriaTrankFertig ;Wirft "set TrankTimerStart to 1 aus"
SaphiriaRef.removeItem MortarPestle 1
endif
endif
endif
else
endif
; Bis hier funktioniert das Script einwandfrei.
if TrankTimerStart == 1
set TrankTimerStart to 2
set TrankTimer to 10
Message "In 10 Tagen kann Saphiria wieder einen Trank brauen"
elseif TrankTimerStart == 2
if TrankTimer > 0
set TrankTimer to ( TrankTimer - GameDaysPassed )
endif
if TrankTimer <= 9
Message "In 8 Tagen kann Saphiria wieder einen Trank brauen"
elseif TrankTimer <= 6
Message " In 6 Tagen kann Saphiria wieder einen Trank brauen"
elseif TrankTimer <= 4
Message "In 4 Tagen kann Saphiria wieder einen Trank brauen"
elseif TrankTimer <= 2
Message "In 2 Tagen kann Saphiria wieder einen Trank brauen"
elseif TrankTimer <= 0
Message "Saphiria kann wieder einen Trank brauen"
set TrankTimerStart to 0
endif
endif
[COLOR=#000000][COLOR=#007700]if [/COLOR][COLOR=#0000bb]TrankTimer [/COLOR][COLOR=#007700]<= [/COLOR][COLOR=#0000bb]9
Message [/COLOR][COLOR=#dd0000]"In 8 Tagen kann Saphiria wieder einen Trank brauen"
[/COLOR][COLOR=#007700]elseif [/COLOR][COLOR=#0000bb]TrankTimer [/COLOR][COLOR=#007700]<= [/COLOR][COLOR=#0000bb]6
Message [/COLOR][COLOR=#dd0000]" In 6 Tagen kann Saphiria wieder einen Trank brauen"
[/COLOR][COLOR=#007700]elseif [/COLOR][COLOR=#0000bb]TrankTimer [/COLOR][COLOR=#007700]<= [/COLOR][COLOR=#0000bb]4[/COLOR][/COLOR]
if TrankTimerStart == 1 && TrankTimer <= 0
set TrankTimer to 10
Message "In 10 Tagen kann Saphiria wieder einen Trank brauen"
endif
if TrankTimer > 0
set TrankTimer to ( TrankTimer - GameDaysPassed )
elseif TrankTimer == 9
Message "In 8 Tagen kann Saphiria wieder einen Trank brauen"
elseif TrankTimer == 6
Message " In 6 Tagen kann Saphiria wieder einen Trank brauen"
elseif TrankTimer == 4
Message "In 4 Tagen kann Saphiria wieder einen Trank brauen"
elseif TrankTimer == 2
Message "In 2 Tagen kann Saphiria wieder einen Trank brauen"
elseif TrankTimer == 0 && TrankTimerStart == 1
Message "Saphiria kann wieder einen Trank brauen"
set TrankTimerStart to 0
endif
end
@LordKain
Genau so ist es. Es blinkt permanent die Message "In 8 Tagen usw."
@AjAeXx
Habe den Scriptteil geändert, wie du es gepostet hast. Habe TrankTimer auch in eine short Variable geändert. (Dachte Timer müsse man immer als float deklarieren:huh: Aber viel lernen ich noch muss)
Nun blinkt immer die Message "In 10 Tagen usw" auf. Also die erste.
&& TrankTimer <= 0