E
Ehemaliger Benutzer 14796
Gast
Hallo allerseits,
ich beschäftige mich zur Zeit mit der Questerstellung und damit auch mit der Erstellung verschiedener Scripts. Grds. ist Erfahrung im Scripting-Bereich vorhanden, wenn hauptsächlich auch von x³ Terran Conflict (sowie html und ein wenig php, aber das tut hier nichts zur Sache).
Ich habe eine Quest, mit zwei zusätzlichen Scripts, im Script-Abteil des Quest-Fensters (vgl. Quest CW -> der Bürgerkrieg).
Das erste Script ist ein Beispiel vom CK-Wiki und soll die aktuelle Ingame-Zeit, bzw. den Tag, auslesen und dann ausgeben.
Die Frage, die sich mir stellt ist, wie ich den ausgegebenen Wert in eine Variable übergeben kann, wenn ich die oben gezeigte Funktion in einem zweiten Script aufrufe. Zur Zeit sieht das zweite Script wie folgt aus:
Ob das so auch funktioniert, muss ich gleich noch testen, was ich aber gerne wüsste ist, ob es nicht wirklich einen Weg gibt, das, was die aufgerufene Funktion ausgibt, in eine Variable zu übergeben. Ich hatte das so versucht:
Wenn ich es so mache, erhalte ich aber die Fehlermeldung, "too many arguments passed to function".
Ich habe auch folgendes versucht:
Das gibt zwar keine Fehlermeldung, aber die Variable scheint keinen Wert zu kennen. Wenn ich additionen durchführe, oder vergleiche (==) sagt mir der Compiler, dass das nicht geht, weil die Variable currenttome keinen Wert hat, nur "none".
ich beschäftige mich zur Zeit mit der Questerstellung und damit auch mit der Erstellung verschiedener Scripts. Grds. ist Erfahrung im Scripting-Bereich vorhanden, wenn hauptsächlich auch von x³ Terran Conflict (sowie html und ein wenig php, aber das tut hier nichts zur Sache).
Ich habe eine Quest, mit zwei zusätzlichen Scripts, im Script-Abteil des Quest-Fensters (vgl. Quest CW -> der Bürgerkrieg).
Das erste Script ist ein Beispiel vom CK-Wiki und soll die aktuelle Ingame-Zeit, bzw. den Tag, auslesen und dann ausgeben.
Code:
Scriptname CWEquipCurrentTime extends TopicInfo
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 = Floor(GameTime)
return GameDaysPassed as Int
EndFunction
Die Frage, die sich mir stellt ist, wie ich den ausgegebenen Wert in eine Variable übergeben kann, wenn ich die oben gezeigte Funktion in einem zweiten Script aufrufe. Zur Zeit sieht das zweite Script wie folgt aus:
Code:
Scriptname CWEquipLegatTime extends Quest Conditional
int Property timereached Auto Conditional Hidden
function setfinaltime()
int finaltime
finaltime = (CWEquipCurrentTime.GetPassedGameDays() + 2)
while finaltime >= CWEquipCurrentTime.GetPassedGameDays()
If finaltime == CWEquipCurrentTime.GetPassedGameDays()
timereached = 1
EndIf
EndWhile
EndFunction
Ob das so auch funktioniert, muss ich gleich noch testen, was ich aber gerne wüsste ist, ob es nicht wirklich einen Weg gibt, das, was die aufgerufene Funktion ausgibt, in eine Variable zu übergeben. Ich hatte das so versucht:
Code:
int currenttime
CWEquipCurrentTime.GetPassedGameDays(currenttime)
Ich habe auch folgendes versucht:
Code:
currenttime = CWEquipCurrentTime.GetPassedGameDays()
Zuletzt bearbeitet von einem Moderator: