Ergebnis 1 bis 20 von 296

Thema: Detail-Wissen und Geheimnise des RPG-Makers -vorallem für Erfahrene/Profis lehrreich

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #11
    Zitat Zitat
    Original geschrieben von Jinjukei
    ...wusstet ihr schon, dass sich ein "Parallel Prozess" jede Millisekunde wiederhohlt, also 60 mal in einer Sekunde....
    Das ist zum Beispiel sehr nützlich, um die Spielzeit zu speichern, ohne einen Timer zu benutzen.

    Und zwar so:
    (Common Event - Parallel Process)

    Code:
    <>If Switch(0065:Spielzeit annhalten) is OFF
     <>Change Var: Var[0058:SZTick] (+)- 1
     <>If Var(0058:SZTick) 60
      <>Change Var: Var[0059:SZSekunden] (+)- 1
      <>Change Var: Var[0058:SZTick] (Set)- 0
       <>If Var(0059:SZSekunden) 60
        <>Change Var: Var[0060:SZMinuten] (+)- 1
        <>Change Var: Var[0059:SZSekunden] (Set)- 0
         <>If Var(0060:SZMinuten) 60
          <>Change Var: Var[0061:SZStunden] (+)- 1
          <>Change Var: Var[0060:SZMinuten] (Set)- 0
          <>
         :End Case
         <>
        :End Case
        <>
       :End Case
       <>
      :End Case
      <>
    Wenn Schalter 0065 (Spielzeit anhalten) AN ist, wird die Spielzeit nicht gestoppt. Ist er hingegen AUS, wird dieser Parallel Process 60 Mal in der Sekunde wiederholt - Jedesmal wird der Wert der Variable 0058 (SZTick) um 1 erhöht. Ist der Wert 60, wird er auf 0 zurückgesetzt, die Variable 0059(SZSekunden) wird aber um 1 erhöht. Das geschieht so oft, bis der Wert von SZSekunden 60 ist. Dann wird der Wert wieder auf 0 gesetzt und es wird 1 zur Variable 0060(SZMinuten) hinzugefügt. Nach einer Stunde ist dann der Wert von SZMinuten auf 60 gestiegen - Es wird der Variable 0061 (SZStunden) 1 hinzugefügt, SZMinuten wird wieder auf Null gesetzt. Zur Abfrage der Spielzeit eignet sich am besten eine normale Message mit \V[xxxx]. Wenn die Spielzeit im Format hh:mm:ss dargestellt wird, sollte man aber mit Fork Conditions verhindern, dass Zeiten wie '2:0:34' ausgegeben werden (z.B.: Wenn SZMinuten < 10, führende 0 im Text der Message anzeigen).
    Es ist unmöglich, so lange zu spielen, wie dieses Skript stoppen kann, also ist es in jeder Situation zuverlässig (immerhin, dieses Skript müsste 114 Jahre, 56 Tage und 15 Stunden laufen, bevor die Variablen überfüllt sind)

    PS: Ich hab' keine Probleme mit diesem Skript, aber es könnte sein, dass es auf langsamen PC's nicht läuft (bei so etwas kann man ja keinen Wait einfügen, wenn man genau messen will und das Skript so einfach wie möglich halten möchte.

    Geändert von Helli (06.08.2004 um 18:38 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •