Uhrzeit im Game (RPG-Maker)

Uhrzeit im Game (RPG-Maker)

Ich mache gerade ein Harvest Moon Spiel mit dem rpgmaker 2003. (Hier mal ein Bild vom Intro http://dennist.de.funpic.de/hm_1.JPG) Jetzt wollte ich, dass eine Uhrzeit läuft und dass ein Tag zum Beispiel 12 Spielstunden hat und das ein Monat 30 Tage hat. Wie kann man sowas machen?
Du machst ein Common-Event, stellst es auf Parallel Proccess und nennst es z.B. "Uhrzeit".
(Ich nehme mal ein Sekunden-Minuten-Stunden Uhr und eine Tage-Monate-Jahr-Rechnung in der jeder Monat 30 Tage hat, ja?)

Hier das Script:

<>Wait 1.0
<>Variable [0001:Sekunden] +1
<>Bedingung Variable [0001] ist 60:
<>Variable [0002:Minuten] +1
<>Variable [0001:Sekunden] Set 0
<>Bedingung Variable [0002] ist 60:
<>Variable [0003:Stunden] +1
<>Variable [0002:Minuten] Set 0
<>Bedingung Variable [0003] ist 24:
<>Variable [0004:Tag] +1
<>Variable [0003:Stunden] Set 0
<>Bedingung Variable [0004] ist 30:
<>Variable [0005:Monat] +1
<>Variable [0004:Tag] Set 0
<>Bedingung Variable [0005] ist 12:
<>Variable [0006: Jahr] +1
<>Variable [0005: Monat] Set 0

Das hier ist jetzt zumindest von der Uhrzeit her Echtzeit. Wenn du jetzt das ganze verkürzen möchtest (z.B. ein Tag = eine Stunde Echtzeit) musst du nur die Bedingungen anpassen.

Merke: Ein Wait von 0.1 Sekunde entspricht einer zehntel Sekunde. Somit ist 1.0 eine ganze Sekunde!

Sollte etwas nicht funktionieren, setze ganz an den Anfang des Codes den Befehl "Loop" und baue dort das ganze rein. (War mir gerade nicht ganz sicher, ob mit oder ohne... XD)

Wenn du wissen willst, wie man das ganze dann im Spiel anzeigt, sag bescheid. Das kann aber etwas dauern, da der Code länger ist und das verfahren geringfügig komplizierter. ;-)

Hoffe ich konnte helfen... ^^



Ps. Wenn ich dir einen Tipp zu dem Screen geben darf: Verwende kein RTP. Such dir ein paar schöne ChipSets von Seiten wie www.rpg2k.de (<-gute Qualität) und übe ein bisschen. Auch die Mappingtuts dort sind sehr gut!
jo cool. Weißt du wie man oben die uhr im game dann hat?
Das Script gibts morgen, ja?
Ich bin jetzt seit zwei Stunden an der Lightmap für n Pic für nen ScreenContest dran und das ganze aufzuschreiben dauert etwas... (~10 bis 15 Minuten... XD)
Okay, ich habe das erste Script überarbeitet, damit das ganze etwas einfacher wird (E=Einer, Z=Zehner):
<>Wait 1.0
<>Comment: Sekunden
<>Variable [0001:Sekunden-E] +1
<>Bedingung Variable [0001] = 10
<>Variable [0001:Sekunden-E] set 1
<>Variable [0002:Sekunden-Z] +1
<>EndCase
<>Comment: Minuten
<>Bedingung Variable [0002] = 6
<>Variable [0002:Sekunden-Z] set 0
<>Variable [0003:Minuten-E] +1
<>EndCase
<>Bedingung Variable [0003] = 10
<>Variable [0003:Minuten-E] set 0
<>Variable [0004:Minuten-Z] +1
<>EndCase
<>Comment: Stunden
<>Bedingung Variable [0004] = 6
<>Variable [0004:Minuten-Z] set 0
<>Variable [0005:Stunden-E] +1
<>EndCase
<>Bedingung Variable [0005] = 10
<>Variable [0005:Stunden-E] set 0
<>Variable [0006:Stunden-Z] +1
<>EndCase
<>Comment: Tage
<>Bedingung Variable [0006] = 2
<>Bedingung Variable [0005] = 4
<>Variable [0006:Stunden-Z] set 0
<>Variable [0005:Stunden-E] set 0
<>Variable [0007:Tage-E] +1
<>EndCase
<>EndCase
<>Bedingung Variable [0007] = 10
<>Variable [0007:Tage-E] set 0
<>Variable [0008:Tage-Z] +1
<>EndCase
<>Comment: Monate
<>Bedingung Variable [0008] = 3
<>Variable [0008:Tage-Z] set 0
<>Variable [0009:Monate-E] +1
<>EndCase
<>Bedingung Variable [0009] = 10
<>Variable [0009:Monate-E] set 0
<>Variable [0010:Monate-Z] +1
<>EndCase
<>Comment: Jahre
<>Bedingung Variable [0010] = 1
<>Bedingung Variable [0009] = 2
<>Variable [0010:Monate-Z] set 0
<>Variable [0009:Monate-E] set 0
<>Variable [0011:Jahre-E] +1
<>EndCase
<>EndCase
<>Bedingung Variable [0011] = 10
<>Variable [0011:Jahre-E] set 0
<>Variable [0012:Jahre-Z] +1
<>EndCase


Soweit, so gut. XD
Nun beginnt IMO die richtige Arbeit:
1. Erstelle die nötigen Grafiken (Zahlen (von 0-9), etc.)
2. Jede Zahl muss als ein einzelnes Bild abgespeichert werden.
3. Überlege dir, wo du die jewieligen Zahlen hinhaben willst, berücksichtige die Einer. und Zehner-Stellen!
4. Probiere mit dem "Show Picture"-Befehl solange verschiedene Koordinaten aus, bis alles feststeht (Wo kommt die Einer.Zahl von Jahr, wohin die Zehner-Zahl von Sekunde, etc.)
5. Screib dir um Himmels Willen die Koordinaten genau auf!

Wenn du das hast, kommt nun das eigentlich sehr einfache Script:


<>Bedingung Variable [0001]=0
<>Show Picture 1: [Zahlenbild 0] x,y (koord. eing.)
<>ELSE Case


In diesen ELSE Case machst du nun immer wieder das gleiche rein, nur das du abfragst, ob die Zahl 0, 1, 2, ... ist und das entsprechende Bild anzeigst.
Bist du mit der 9 fertig, gehst du ans Ende der Schlange und amchst das gleiche mit der nächsten Variable. Achte darauf, dass du immer die richtigen Koordinaten eingibst, sonst wird das auch noch hinterher ne Heidenarbeit!
Ja danke erstmal, ich probiers mal aus.
das ist zu hoch für mich o.O
Wieso?
Is doch im Grunde ganz einfach...
Du musst lediglich Variablen und Bedingungen kennen und anwenden können...
Der Rest is Logik...
bei mir gehts
danke
wollt mal fragen, da es hier ja auch um echtzeit geht für den rpgmaker. Kann man ein Script erstellen, so das das Spiel so abläuft ähnlich wie bei Animal Crossing Wild World für Nintendo DS, also das die Uhrzeit genauso ist, wie die Uhr auf dem PC und das es erst dunkel wird, wenn es ca. 19-20uhr ist. Kann man dieses Script oben für die einzelnen Tage verwenden?
Nein, das geht nicht.
Die Uhr würde stehen bleiben, während man gerade nicht spielt und somit haut das nicht hin.
Wenn du um 15 Uhr aufhörst mit spielen und um 18 Uhr wieder fortfährst, wäre es im Game immer noch 15 Uhr.
Um das umzusetzen müsste das Game im Hintergrund laufen, sprich immer mit der PC-Uhr verbunden sein.
Bei alten PCs würde das arge Probleme geben und da man ja eh nicht mit dem Maker auf Windows-Teile zurückgreifen kann auch nicht möglich.
ahja gut danke. aber diese funktion kann man ja sozusagen auch nich benutzen um trotzdem ein echtzeitspiel zu erstellen, hoff ich mal. so wie oben die genannte Funktion für den Tag (24h), womit man in der Nacht (im Spiel) nur dort jetzt dinge finden kann, die nur in der nacht erscheinen und dinge die am tag erscheinen. mit ein bissl hilfe kann man ja eine tag-nacht funktion einbauen wie bei zelda oot. trotzdem danke. ;-)
warum einfach, wenn's auch kompliziert geht?
Hier ist mein skript zur EINFACHSTEN Methode (2 kurze CommonEvents und dann war's das)
P.S.:Schöne Wände ^ ^
1. Bug: Eine Sekunde ist bei dir 0.1 Sekunde lang...
2. Bug so, wie es jetzt ist, kann man sich kaum noch bewegen, da mehr oder weniger die Komplette Rechenleistung in das Script fließt. (->rukclet extrem)
1. Problem: Das ruckeln verschwindet auch nach Korrektur des waits nicht.
2. Problem: Wie willst du Stunden darstellen? Der Timer des Maker hat seine Grenze bei 99 Minuten.
Und für Pictures wiederum wäre dein Script ungeeignet.

Die mit Abstand einfachtse Methode, wäre das ganze als Message anzeigen zu lassen, wie bei VD2 im Optionsmenü.
Da wird einfach der Wert der Variable abgefragt...
(Ist aber auch keine Lösung für dauerhaftes Anzeigen)
Für eine Zeitanzeige in einem Menü wären CharSets gut... *sich an ein "Uhr"altes Script erinner* XD
Folgendes: Das linke ist h.
Ich bin doch nich so bekloppt und mach das in echtzeit (sry an all die die's so machen)!
wenn du da jeden tag fast 1 h an dem spiel hockst, bräuchtest du da ja nen monat für 1 Spieltag.
das mit den 0,1s hab ich nur gemacht um zu sehen ob der wechsel von 23,59Uhr auf 00,00Uhr klappt und ich nicht so lange warten wollte. bei mir ruckelt das nicht, nur im Klein-Fenster-Modus.
Naja, das Problem ist nur, dass du die Variable "sekunde" genannt hast und wenn du mal einen Timer ins Spiel einbauen willst, würde sich das entweder überschneiden oder der Spieler würde denken, er hätte eine Stunde statt ner Minute Zeit... XD
ic hglaube ich hab das total falsch verstanden:
nämlich so, dass er eine Urzeit wie zb. in Pokémon Gold edition haben will.
Generell schon, aber etwas weiter sollte es gehen...

"Ich mache gerade ein Harvest Moon Spiel mit dem rpgmaker 2003. (Hier mal ein Bild vom Intro http://dennist.de.funpic.de/hm_1.JPG) Jetzt wollte ich, dass eine Uhrzeit läuft und dass ein Tag zum Beispiel 12 Spielstunden hat und das ein Monat 30 Tage hat. Wie kann man sowas machen?"

Daher meinte ich das mit den Stunden. Ich bevorzuge für meinen Teil ein Sekunden-Minuten-Stunden-Script, daher vergesse ich manchmal, dass viele die Sekunden auch einfach weglassen... XD
Nur, damit ich's richtig versteh':
Wenn ich ununterbrochen 12h sein Spiel spiele, ist im Game ein tag 'rum?
Nein, man kann ja das Script wenn man will verändern, ähnlich wie bei TLoZ-MM.
Aber bei ner Minuten-Sekunden, etc. Anzeige sollte man nicht unbedingt die Minuten vorebi"rasen" lassen...
Das würde etwas komisch wirken...

Was ich zu deinem Script meinte war eher, dass es merkwürdig erscheint, wenn die Zeit so vorbeirast.
Ich bin autmatisch davon ausgegangen, dass das rechte die Sekunden sind dadurch.
Außerdem kann man per Timer nur höchstens zwei zahlen anzeigen lassen; einmal vor dem Doppelpunkt, und einmal dahinter.
Tage, Monate, etc. müsste man da weglassen.
Logge dich ein um einen Beitrag zu schreiben.