Ergebnis 1 bis 13 von 13

Thema: [RM2k] Stelle in Variable selektieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    @Kelven
    Danke für den Link, dass sieht mir nach etwas aus, womit ich arbeiten kann.
    Jetzt habe ich nur ne Frage:

    Wie genau hast du die Variablen hier gekennzeichnet? Wenn ich es richtig verstanden habe ist es so gedacht...

    - SCRIPT -
    <> Change Variable: [100er] = 0
    <> Change Variable: [10er] = 0
    <> Change Variable: [1er] = 0
    <> Fork Condition: If Variable [11] >= 100 then ...
    <> Comment: <<< Werte größer/gleich 100 >>>
    <> Change Variable: [8 - 100er] = V[11 - HELD HP]
    <> Change Variable: [8 - 100er] /= 100
    <> Change Variable: [11 - HELD HP] Mod= 100
    <> Fork Condition: If Variable [11 - HELD HP] >= 10 then ...
    <> Comment: <<< Werte größer/gleich 10 >>>
    <> Change Variable: [9 - 10er] = V[11]
    <> Change Variable: [9 - 10er] /= 10
    <> Change Variable: [11 - HELD HP] Mod= 10
    <>
    : End of fork
    <> Comment: <<< Einerstelle >>>
    <> Change Variable: [10 - 1er] = V[11]

    Geteilt durch...
    _________________________________________________________________

    Wenn ich also diesem Script folge, werden die aktuellen HP Werte meines Helden angezeigt?
    Ich frage dass weil ich fragen muss, da ich es jetzt in dieser Sekunde erst umsetze zum Test xD und auch weil ich nicht weiß ob noch irgendwas fehlt, oder ich vielleicht etwas missverstanden habe


    EDIT: So sieht es bei mir umgesetzt aus...



    Und es funktioniert nicht xD (ist auf Parralel Process ...daran kanns also nicht liegen xD).
    Die Events sind alle richtig eingestellt...denke ich xD

    Geändert von Kvote (24.07.2015 um 13:07 Uhr) Grund: Screen hinzugefügt

  2. #2
    Das Script zerlegt eine Zahl nur in seine Bestandteile (z. B. 1785 in 1 7 8 5). Die HPs musst du dann per Pictures oder Events anzeigen.

    Bei deinem Code haben sich zwei Fehler eingeschlichen. Ich zeige das mal mit meinem Code:

    Code:
    <> Fork Condition: If Variable [11] >= 100 then ...
     <> Comment: <<< Werte >= 100 >>>
     <> Change Variable: [8] = V[11]
     <> Change Variable: [8] /= 100 <------ Hier nicht Mod, sondern normal teilen
     <> 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  <------ Hier nicht Mod, sondern normal teilen
     <> Change Variable: [11] Mod= 10
     <>
    : End of fork

  3. #3
    Zitat Zitat von Kvote Beitrag anzeigen
    ...
    Halt dir auch beim (bzw. gerade) beim Nachbauen von Scripten immer vor Augen, was die jeweiligen Befehle tun bzw. tun sollen. Wenn du die Hunderterstelle einer Zahl möchtest, macht mod 100 keinen Sinn. Wenn du 237 als Ausgangszahl hast, gibt dir mod 100 die 37 aus (237/100=2, Rest=37).
    Darüber hinaus brauchst du bei diesem Script weder die Variablen auf Null setzen, noch die Abfrage, wie groß die Ausgangszahl ist: Wenn die Zahl zu klein ist, gibt ein mod 100 (/mod 10/ ...) eh Null aus (sofern du dir bei sowas nicht sicher bist, ist es aber immer eine gute Idee, Variablen am Anfang auf 0 zu setzen, damit keine Unfälle passieren, wenn du die selbe Variablen für mehrere Scripte verwendest), ist die Zahl groß genug, wird die Variable auf einen anderen Wert gesetzt. Und selbst wenn durch einen Zufall die Variable von Anfang an einen anderen Wert haben sollte, setzt du sie ja eh dann zuerst mit der Ausgangszahl gleich.

    Wenn du Werte übrigens einfach nur anzeigen möchtest, würde ich dir auf Dauer davon abraten, an der Variable mit der Ausgangszahl etwas zu ändern, zumindest, sofern du nicht auf Zahlen aus der Database zurückgreifst (bspw. Statuswerte oder HP, sofern du die nicht durch eigene Scripte ersetzt). So kannst du nämlich später mit der selben Variable weiterarbeiten und riskierst nicht, dass du durch ein vorheriges Script den Wert verfälscht hast. Wenn du irgendwelche Variablen hast, die Werte speichern, die du nicht im Nachhinein einfach wieder abrufen kannst, kann das sonst sehr ärgerlich werden.

    Wenn Variable 1 deine Ausgangszahl hat und du in den Variablen 2, 3 und 4 die einzelnen Stellen haben möchtest (danke an Leana für die Korrektur!):
    Code:
    <>Set V[0002] bis V[0004] = V[0001: Ausgangszahl]
    <>V[0002: 100er] / 100
    <>V[0003: 10er] mod 100
    <>V[0003: 10er] / 10
    <>V[0004: 1er] mod 10
    fertig. Wenn du jetzt 945 für V1 da reinwirfst, kommt V2=9, V3=4 und V4=5 da raus. Setzt du V1 nur auf 3, sind V1 und V2=0 und V3=3.

    Geändert von BDraw (04.08.2015 um 10:26 Uhr)

  4. #4
    Stimmt, das lässt sich wirklich noch vereinfachen.

  5. #5
    Zitat Zitat von BDraw Beitrag anzeigen
    Wenn Variable 1 deine Ausgangszahl hat und du in den Variablen 2, 3 und 4 die einzelnen Stellen haben möchtest:
    Code:
    <>Set V[0002] bis V[0004] = V[0001: Ausgangszahl]
    <>V[0002: 100er] / 100
    <>V[0003: 10er] mod 10
    <>V[0003: 10er] / 10
    <>V[0004: 1er] mod 100
    fertig. Wenn du jetzt 945 für V1 da reinwirfst, kommt V2=9, V3=4 und V4=5 da raus. Setzt du V1 nur auf 3, sind V1 und V2=0 und V3=3.
    Bei deiner Version ergibt das aber für V3 = 0 und für V4 = 45. Korrigierte Version:

    Code:
    <>Set V[0002] bis V[0004] = V[0001: Ausgangszahl]
    <>V[0002: 100er] / 100
    <>V[0003: 10er] mod 100
    <>V[0003: 10er] / 10
    <>V[0004: 1er] mod 10

Berechtigungen

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