Hallo,
ich wollte gerne das folgende Beispiel-Script für meine Mod übernehmen:
http://www.creationkit.com/Complete...ync_between_the_two_moons_and_day_of_the_week
Hier sagt er mir beim Versuch zu speichern das ihn folgendes stört.
Zu meiner Überraschung da ich mit Papyrus noch am Anfang stehe akzeptiert der Compiler meine Korrekturmassnahmen aber anscheinend (siehe Anhang). Ich würde allerdings gerne mal wissen ob das jemand Ahnung hat mal durchsehen könnte ?
Das wäre meine korrigierte Fassung die der Compiler akzeptiert - Ich hatte nur die "int" über die er gemeckert hat in "float" umgeschrieben bzw. umgekehrt.
Wenn ich das korrekt verstanden habe auf den Seiten wo ich versucht hatte die Fehler zu goggeln - Dann ist das eine ältere Schreibweise von Papyrus weshalb der aktuelle Compiler meckert ?
gruss Patrick
ich wollte gerne das folgende Beispiel-Script für meine Mod übernehmen:
http://www.creationkit.com/Complete...ync_between_the_two_moons_and_day_of_the_week
Hier sagt er mir beim Versuch zu speichern das ihn folgendes stört.
G:\Tools und Apps\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\ExtendedUtility.psc(17,1): type mismatch while assigning to a int (cast missing or types unrelated)
G:\Tools und Apps\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\ExtendedUtility.psc(19,1): cannot return a float from getpassedgamedays, the types do not match (cast missing or types unrelated)
G:\Tools und Apps\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\ExtendedUtility.psc(33,1): type mismatch while assigning to a int (cast missing or types unrelated)
G:\Tools und Apps\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\ExtendedUtility.psc(35,1): cannot return a float from getpassedgamehours, the types do not match (cast missing or types unrelated)
Zu meiner Überraschung da ich mit Papyrus noch am Anfang stehe akzeptiert der Compiler meine Korrekturmassnahmen aber anscheinend (siehe Anhang). Ich würde allerdings gerne mal wissen ob das jemand Ahnung hat mal durchsehen könnte ?
Das wäre meine korrigierte Fassung die der Compiler akzeptiert - Ich hatte nur die "int" über die er gemeckert hat in "float" umgeschrieben bzw. umgekehrt.
Code:
Scriptname ExtendedUtility
Import Utility
Import Math
;/++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ GetPassedGameDays() returns the number of fully passed ingame days
+ as int.
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/;
Int Function GetPassedGameDays() Global
Float GameTime
Float GameDaysPassed
GameTime = GetCurrentGameTime()
GameDaysPassed = GameTime As int
Return GameDaysPassed as int
EndFunction
;/++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ GetPassedGameHours() returns the number of passed ingame hours of
+ the current day as int.
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/;
Int Function GetPassedGameHours() Global
Float GameTime
Float GameHoursPassed
GameTime = GetCurrentGameTime()
GameHoursPassed = ((GameTime - (GameTime As Int)) * 24) As Int
Return GameHoursPassed as int
EndFunction
;/++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ GetCurrentMoonPhase() returns an integer representing the current
+ phase of the moons Masser and Secunda based on "SkyrimClimate".
+ Between 12:00 AM and 11:59 AM the phase during the night from last
+ day to this day is returned. Between 12:00 PM and 11:59 PM the
+ phase for the night from this day to next day is returned. Thus
+ a call to the function at night (between 8:00 PM and 6:00 AM) all-
+ ways returns the currently visible phase.
+
+ The returncodes are as follows:
+ 0 - Full Moon
+ 1 - Decreasing Moon 3/4
+ 2 - Decreasing Moon 1/2
+ 3 - Decreasing Moon 1/4
+ 4 - New Moon
+ 5 - Increasing Moon 1/4
+ 6 - Increasing Moon 1/2
+ 7 - Increasing Moon 3/4
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/;
Int Function GetCurrentMoonphase() Global
Int GameDaysPassed
Int GameHoursPassed
Int PhaseTest
GameDaysPassed = GetPassedGameDays()
GameHoursPassed = GetPassedGameHours()
If (GameHoursPassed >= 12.0)
GameDaysPassed += 1
EndIf
PhaseTest = GameDaysPassed % 24 ;A full cycle through the moon phases lasts 24 days
If PhaseTest >= 22 || PhaseTest == 0
Return 7
ElseIf PhaseTest < 4
Return 0
ElseIf PhaseTest < 7
Return 1
ElseIf PhaseTest < 10
Return 2
ElseIF PhaseTest < 13
Return 3
ElseIf PhaseTest < 16
Return 4
ElseIf PhaseTest < 19
Return 5
ElseIf PhaseTest < 22
Return 6
EndIf
EndFunction
;/++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ GetCurrentMoonSync() returns an integer that resembles where we are
+ in the 5 day cycle of the Snychronisation between the moons.
+
+ Returncodes:
+ 0 - Moons appear at the same time
+ 1 - not yet determined how far ahead/behind Secunda is
+ 2 - not yet determined how far ahead/behind Secunda is
+ 3 - not yet determined how far ahead/behind Secunda is
+ 4 - not yet determined how far ahead/behind Secunda is
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/;
Int Function GetCurrentMoonSync() Global
Int GameDaysPassed
Int GameHoursPassed
Int SyncTest
GameDaysPassed = GetPassedGameDays()
GameHoursPassed = GetPassedGameHours()
If (GameHoursPassed >= 12)
GameDaysPassed += 1
EndIf
SyncTest = GameDaysPassed % 5
return SyncTest
EndFunction
;/++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ GetDayOfWeek() returns the current ingame day of the week as int.
+
+ Returncodes:
+ 0 - Sundas
+ 1 - Morndas
+ 2 - Tirdas
+ 3 - Middas
+ 4 - Turdas
+ 5 - Fredas
+ 6 - Loredas
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/;
Int Function GetDayOfWeek()
Int GameDaysPassed
GameDaysPassed = GetPassedGameDays()
return GameDaysPassed % 7
EndFunction
Wenn ich das korrekt verstanden habe auf den Seiten wo ich versucht hatte die Fehler zu goggeln - Dann ist das eine ältere Schreibweise von Papyrus weshalb der aktuelle Compiler meckert ?
gruss Patrick