Registrierung Häufig gestellte Fragen Suche Mitgliederliste Portal - Planet Skyrim.de Kalender Moderatoren und Administratoren Startseite
Morrowind&OblivionForum.de - PMM-Projects Network » The Elder Scrolls IV: Oblivion » Oblivion Editor Help » Zeit im Script abfragen (Sehr, sehr wichtig) » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag
Genuigr
Acrobat




Dabei seit: Dezember 2009
Geschlecht:
Herkunft: Die Provinz Stormarn
Beiträge: 118

Genuigr ist offline
Zeit im Script abfragen (Sehr, sehr wichtig)Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Man ich bin echt abhängig von diesem Forum...ähm...Hallo

Ich möchte in einem Script etwas immerwieder überprüfen:
Ich habe 2 Wände in 1 Gang. Nacheinander folgend.

Von 6 Uhr bis 18 Uhr soll die erste Wand "Disable" sein.
Von 18 Uhr bis 6 Uhr soll die zweite Wand "Disable" sein.
Natürlich soll von 6 Uhbr bis 18 Uhr Wand 2 nicht zu sehen sein.
Bei Wand 1 ebenfalls, nur umgedreht.

Wie kann ich es überprüfen?

Begin OnTime(...)
Wall01.Disable
Wall02.Enable
End

Begin OnTime(...)
Wall01.Enable
Wall02.Disable
End

So stelle ich mir das vor...
OnTime(...) wird es wohl kaum sein aber eventuell in diese
Richtung ...


__________________
Des Denkers Seele liegt nicht im Kopf!
Meine Rätselquest:GFM: Zweiter Keller
--------------------------------------------
Um den Spruch auszudenken hab ich 2 Stunden gebraucht,
also sag mal nicht ne ?!

08.01.2010, 20:32 Profil von Füge  deiner Freunde-Liste hinzu Email an Genuigr senden Füge Genuigr in deine Contact-Liste ein
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9269

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

OnTime wär ne schöne ergänzung, hoffentlich bauen die das für das nächste TES-Game mit ein...


die Uhrzeit bekommst Du in form der globalen Variable GameHour präsentiert, und zwar als float zwischen 0 und 24 - Achtung: halb zehn ist 9,5 und nicht 9,30. Gamehour kannst Du ohne definition in jedem Script nutzen und dann Deine passenden If-Abfragen konstruieren.


bleibt die Frage, wie oft man das ganze Abfragt - bei kurzen scripts kann das jeden frame passieren (also im Gamemode-Block), bei längeren hat sich folgendes bewährt:


short counter

begin Gamemode

set counter to counter - 1

if counter > 0
return
endif

set counter to 30

[...eigentliches Script...]


die 30 sind natürlich nur ein beispiel. Bei mehreren dieser Abfragen nimm verschiedene Zahlen, dass nicht immer alles im selben Frame abläuft. pluspunkt der methode: je besser die performance, desto öfter läuft das potentiell bremsende script - wenn der rechner eh schon stöhnt kümmert er sich auch seltener um das script....




übrigens kannst Du Gamehour auch setzen:

set Gamehour to 23.99

und schon ist fast geisterstunde - aber vorsicht: NPCs mit Tagesablauf wechseln dann in den "aufgescheuchte Hühner"-Modus, weil sie plötzlich merken, dass sie wo ganz anders sein sollten.


__________________
drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen

08.01.2010, 21:25 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Genuigr
Acrobat




Dabei seit: Dezember 2009
Geschlecht:
Herkunft: Die Provinz Stormarn
Beiträge: 118

Genuigr ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Angenommen ich würde es im GameMod überprüfen,
müsste es dann so aussehen?

Begin Gamemod
If ( GameHour > 6 && GameHour < 18 )
Wall01.Disabled
Wall02.Enable
Elseif
Wall01.Enable
Wall02.Disable
Endif
End

Und noch eine Frage: Return => Script beenden ?


__________________
Des Denkers Seele liegt nicht im Kopf!
Meine Rätselquest:GFM: Zweiter Keller
--------------------------------------------
Um den Spruch auszudenken hab ich 2 Stunden gebraucht,
also sag mal nicht ne ?!

09.01.2010, 10:19 Profil von Füge  deiner Freunde-Liste hinzu Email an Genuigr senden Füge Genuigr in deine Contact-Liste ein
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9269

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

return= ausführung für dieses mal beenden. Funktioniert meist ohne überraschungen , es sei denn bei einem Ausführungsdurchgang werden mehrere Blöcke ausgeführt - dann werden auch die weiteren Blöcke nicht mehr ausgeführt - tritt aber eher selten auf.

allerdings möcht ich ein E kaufen: Gamemode

und wenn keine weitere bedingung folgt, dann else, nicht elseif - sonst passt das


__________________
drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen

09.01.2010, 11:39 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Genuigr
Acrobat




Dabei seit: Dezember 2009
Geschlecht:
Herkunft: Die Provinz Stormarn
Beiträge: 118

Genuigr ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Eigentlich dachte ich, dass Thema sei durch aber nochmal:

Wenn man etwas im GameMode-Block schreibt, dann wird
es jede Frame überprüft, aber fällt das bei einen 3 GHz Prozessor
auf?. Nicht jeder hat 3 aber was ist mit ca. 2 ?!


__________________
Des Denkers Seele liegt nicht im Kopf!
Meine Rätselquest:GFM: Zweiter Keller
--------------------------------------------
Um den Spruch auszudenken hab ich 2 Stunden gebraucht,
also sag mal nicht ne ?!

09.01.2010, 19:45 Profil von Füge  deiner Freunde-Liste hinzu Email an Genuigr senden Füge Genuigr in deine Contact-Liste ein
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9269

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

wie gesagt: bei so nem kleinen Script kein problem - sorgen musst Du Dir machen, wenn es deutlich mehr als 10 Vergleiche gibt oder wenn böse dinge wie GetLOS verwendet werden.


__________________
drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen

09.01.2010, 20:54 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
  « Vorheriges Thema Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu:

Design by: Garak - Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR