Ergebnis 1 bis 7 von 7

Thema: RPGMaker2000: Variabeln mit Pictures darstellen?

  1. #1

    RPGMaker2000: Variabeln mit Pictures darstellen?

    Wahrscheinlich eine ziemliche Anfängerfrage, aber seis drum:

    Ich bin gerade dabei, ein eigenes Menü mit Statuswerten und allem zu erstellen. Einzelne Zahlen von 0 bis 9 sind auch gepixelt. Jetzt hab ich folgendes Problem:

    Wenn ich beispielsweise beim Unterpunkt "Stärke" den in einer Variable gespeicherte Stärkewert anzeigen lassen will, habe ich keine Ahnung, wie ich ohne ein riesiges Skript da heran gehen soll. Einen Ansatz hab ich zwar schon, der bedeutet aber viele, viele verschachtelte Fork Conditions:

    Beispiel: Stärke auf 168
    Überprüfe, ob Variable Stärke über 100: Ja, show picture [1]
    Übertrage Variable Stärke in Variable Rechenoperator Stärke 1, ziehe 100 ab.
    Überprüfe, ob Variable Rechenoperator Stärke 1 größer als 10, Nein, dann als 20, nein, dann als 30 [...] als 80: Ja, show Picture [8] (Und hier sieht man das Problem schon).
    Same procedure with -80, Variable Rechenoperator Stärke 2, rinse, repeat.

    Wenn ich das jetzt für alle sechs Statuswerte mache, bin ich sehr schnell bei einer wenig überschaubaren Zahl an Variabeln. Die Frage ist jetzt: Geht das auch einfacher?

    Mit freundlichen Grüßen,
    Wolftatze

  2. #2
    Der Trick ist es, das Script clever zu machen.

    Es gibt da zB den PicturePointer Patch, damit kannst du den Dateinamen und die Picture-ID parametrieren und musst somit nur noch ein einziges ShowPicture aufrufen.

    Zahlen zerstückeln in 100er, 10er 1er? Ja, musst du run. Aber du musst die Rechenvariablen ja nicht für jeden Statuswert individuell anlegen, sondern nur einmal.
    Bau dir ein CE, dass eine gegebene Zahl in ihre Einzelteile zerlegt. Dann baust du dir ein CE, dass dem Inhalt dieser Variablen als Picture anzeigt. Mit PictureID aus Variable und Position aus Variablen.
    Auf einem anderen PC hab ich meine Scripte noch, ich kann die ja mal Screenshotten.

  3. #3
    Hört sich nicht sooo kompliziert an.

    - Du hast 478 Stärke.
    - Du fragst die Hunderter ab.
    - Dann ziehste bspw. 400 Stärke ab. In dieser Fork setzt du eine Variable auf 4, damit du weißt dass 400 abgezogen wurden. Die werden ganz am Ende der Prüfung nämlich wieder aufaddiert (if variable is 4: Add 400 Stärke to Hero X).
    - Dann fragste mit derselben Methode die Zehner ab. In diesem Falle ist die Reststärke 70. Neue Variable, Set 7, Stärke -70.
    - Nochmal die Einer mit derselben Methode und wieder einer anderen Variable.
    - Am Ende werden die 3 Variablen für den Stärkewert abgefragt (Hunderter, Zehner, Einer) und der tatsächliche Stärkewert wiederhergestellt.

    - Insgesamt jeweils eine Variable für die Statuswerte sind insgesamt 6 Variablen. Jede von diesen 6 Variablen hat 3 Extra-Variablen für Hunderter, Zehner, Einer.
    6x3=18

    Mit Conditional Branches (Forks, Bedingungen) und Labels solltest du im Grunde ganz gut zurechtkommen.

  4. #4
    Wow, danke für die schnelle Antwort O.o

    Ok, ich hab gar nicht dran gedacht, dass der Vorgang ja jedesmal derselbe ist. Brauch ich dann aber nicht trotzdem für jeden Statuswert ein eigenes CE, weil das System sonst durcheinander kommt? Immerhin bezieht sich das dann ja immer auf dieselben "Einzelteil"-Variabeln, und wenn alle Werte gleichzeitig berechnet werden...falls du verstehst was ich meine.

    Aber die Grundidee hab ich schon mal, danke dafür

  5. #5
    So mache ich es immer:

    Zitat Zitat von EasyEventExporter
    - SCRIPT -
    <> Change Variable: [5] = 0
    <> Change Variable: [6] = 0
    <> Change Variable: [7] = 0
    <> Change Variable: [8] = 0
    <> Change Variable: [8] = 0
    <> Change Variable: [9] = 0
    <> Fork Condition: If Variable [11] >= 100000 then ...
    . <> Comment: <<< Werte >= 100000 >>>
    . <> Change Variable: [5] = V[11]
    . <> Change Variable: [5] /= 100000
    . <> Change Variable: [11] Mod= 100000
    . <>
    : End of fork
    <> Fork Condition: If Variable [11] >= 10000 then ...
    . <> Comment: <<< Werte >= 10000 >>>
    . <> Change Variable: [6] = V[11]
    . <> Change Variable: [6] /= 10000
    . <> Change Variable: [11] Mod= 10000
    . <>
    : End of fork
    <> Fork Condition: If Variable [11] >= 1000 then ...
    . <> Comment: <<< Werte >= 1000 >>>
    . <> Change Variable: [7] = V[11]
    . <> Change Variable: [7] /= 1000
    . <> Change Variable: [11] Mod= 1000
    . <>
    : End of fork
    <> Fork Condition: If Variable [11] >= 100 then ...
    . <> Comment: <<< Werte >= 100 >>>
    . <> Change Variable: [8] = V[11]
    . <> Change Variable: [8] /= 100
    . <> Change Variable: [11] Mod= 100
    . <>
    : End of fork
    <> Fork Condition: If Variable [11] >= 10 then ...
    . <> Comment: <<< Werte >= 10 >>>
    . <> Change Variable: [9] = V[11]
    . <> Change Variable: [9] /= 10
    . <> Change Variable: [11] Mod= 10
    . <>
    : End of fork
    <> Comment: <<< Einerstelle >>>
    <> Change Variable: [10] = V[11]

  6. #6
    Wenn du Sachen immer wieder abfragen musst, würde ich auf jeden Fall Common Events benutzen und jeden Abschnitt zudem sorgfältig kommentieren. Cherrys RPG Maker 2009-Aufsatz färbt bspw. Variablen, Common Events und Kommentare individuell ein.

    Anmerkung:
    Dieser Maker 2009 ist keiner eigener Maker, sondern funktioniert nur mit dem 2k3 oder dem 2k. Dafür hat er aber auch ein paar nette Funktionen parat wie etwa unendlich lange BattleAnis, kein Größenlimit beim Import, die besagten farbigen Eventbefehle usw.
    Auch die Picture-Anzahl lässt sich mit einem kleinen Trick in den Tausender-Bereich hochschrauben.

  7. #7
    Ist halt ein Statusmenü, das wird gerne mal häufiger aufgerufen ^^' Aber ich denke, ich habs jetzt endgültig verstanden. Herzlichen Dank an alle.

Stichworte

Berechtigungen

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