Ergebnis 1 bis 6 von 6

Thema: Hilfe beim berechnen von Money!!!!

  1. #1

    Hilfe beim berechnen von Money!!!!

    Also, ich arbeite mit dem Rpg-maker 2003

    Ich will, wie in den Zelda Games, das Geld das man hat als Pictures anzeigen!
    Nur kriege ich die Rechnung, das er es korrekt anzeigt, nicht hin!
    Hoffe auf Hilfe!

    Hoffe immer noch!!!!

    Geändert von Teflo (30.07.2006 um 14:23 Uhr)

  2. #2
    Wenn ich richtig verstanden habe, möchtest du wissen wie du eine variable Geldzahl außerhalb von Messages anzeigen kannst. Ich habe zwar den RM2k und nicht den 2k3, aber ich schätze, dass das meiste ähnlich abläuft .

    Für die Anzeige brauchst du Ziffern von 0-9 (logisch, da es nur 10 Ziffern gibt ) als Pictures und evt. ein Hintergrund-Pic.
    Die Rechnung ist eigentlich einfach, basierent auf das Zehnerprinzip ist sie unendlich erweiterbar und somit sowohl für 2stellig wie für 6stellige Anzeigen geeignet. Du musst zunächst einmal "Money" in so viele Variablen einfliessen lassen, wie die Anzeige Stellen hat (bei 3 Stellen nimmst du z.B. die Variable 21-23 und nennst sie meinetwegen Geld1-3). Dann fragst du mit Forks ab, ob Variable Geld1 über 900 liegt, im Ja-Fall zeigst du die Picture mit der Ziffer 9 an einer bestimmten Stelle (die du festlegen musst) und ziehst dann von den Variablen Geld2 und Geld3 900 ab ; als Else Case fragst du dann ob Geld1 denn über 800 liegt, im Ja-Fall wiederum Show Pic 8 und Geld2 sowie Geld3 minus 800 usw.
    Nachdem diese 10 Forks beendet sind kommst du zu den Zehnerstellen, das funktioniert genau gleich, nur halt jedesmal mit 10 weniger und mit den Variablen Geld2 und Geld3, also z.B. Fork Condition : Geld2 : 90 above -> Show Pic 9 und Var. Geld3 minus 90.
    Schlussendlich gehts zu den Einerstellen, hier wird mit Geld3 gearbeitet, du musst nichts mehr abziehen. Beispiel : Fork Condition : Geld3 : 9 same -> Show Pic 9.

    Hier noch der Code aus dem RM2k (grün markierte Zahlen sind nur Beispiel und unabhängig).
    Code:
    <>Variable Ch[0021*0023] Set, Money#
    <>Fork Optn:Varbl[0021:Geld1]-900abov
     <>Show Picture :  17, Ziffer 9, (43,12)
     <>Varbl Ch:[0022:Geld2] - , 900
     <>
     :Else Case
     <>Fork Optn:Varbl[0021:Geld1]-800abov
      <>Show Picture :  17, Ziffer 8, (43,12)
      <>Varbl Ch:[0022:Geld2] - , 800
      <>
      :Else Case (für 700-000)
    ... bis zum END Case
    Code:
    <>Fork Optn:Varbl[0022:Geld2]-90abov
     <>Show Picture :  18, Ziffer 9, (55,12)
     <>Varbl Ch:[0023:Geld3] - , 90
     <>
     :Else Case
     <>Fork Optn:Varbl[0022:Geld2]-80abov
      <>Show Picture :  18, Ziffer 8, (55,12)
      <>Varbl Ch:[0023:Geld3] - , 80
      <>
      :Else Case (für 70-00)
    ... bis zum END Case
    Code:
    <>Fork Optn:Varbl[0023:Geld3]-9
     <>Show Picture :  19, Ziffer 9, (67,12)
     <>
     :Else Case
     <>Fork Optn:Varbl[0023:Geld3]-8
      <>Show Picture :  19, Ziffer 8, (67,12)
      <>
      :Else Case (für 7-0)

    So, ich hoffe, ich konnte weiterhelfen, wenn nicht ist es ein Tutorial um Zahlen von 0-999 mit Pictures anzuzeigen .

    Geändert von Ralph (30.07.2006 um 16:19 Uhr)

  3. #3
    Weißt du, oder jemand anderes auch eine Lösung mit Mod?
    Hab nämlich schon die Anzeige mit den variablen 1000er, 100er, 10er und 1er gemacht. Soll heißen: ich mache eine Fork in der abgefragt wird, ob die variable 1000er 9 same or above ist und zeige dann die Zahl 9 als Picture. das mach ich dann auch mit den restlichen zahlen 8-0. dann mach ich das selbe noch mit der variable 100er und 10er und 1er.

  4. #4
    Mit der Mod-Funktion kenne ich mich nicht so aus, aber das funktioniert ähnlich (nur muss man nicht minus-rechnen). Habe diesen Beitrag von Aurae zu dem Thema gefunden.

    Edit : @ Phönix Tear : Hätte ich früher gesucht, hätte ich auch keine seitenlange Erklärung meiner Variante schreiben müssen .

    Geändert von Ralph (31.07.2006 um 14:35 Uhr)

  5. #5
    Joa, das ist glaub ich sogar einfacher, oder zumindest übersichtlicher.

    Mod ist ja eine ganzzahlige Division bei der der Rest ausgegeben wird, das heißt wir kommen mit "mod 10" leicht an die einzelnen Ziffern heran. So kann man es machen (in meinem Beispiel mache ich aus Faulheit nur eine 3stellige Anzeige):

    Code:
    <>Change Variable "Geld 100er", set [(Hero) Money]
    <>Change Variable "Geld 10er", set [(Hero) Money]
    <>Change Variable "Geld 1er", set [(Hero) Money]
    <>
    <>Change Variable "Geld 100er" / 100
    <>Change Variable "Geld 10er" / 10
    <>Change Variable "Geld 10er" mod 10
    <>Change Variable "Geld 1er" mod 10
    <>
    <>Fork Variable "Geld 100er" > 9
    <><>Show Picture '2' "Geld Ziffer 9" -> [X|Y]
    <>Else:
    <>...
    Soo, wenn du nun die Forks (wie du es ja schon gemacht hast) weiterführst, sollte es klappen. Das Prinzip dahinter ist recht einfach:
    Zu Beginn weist du erstmal allen Variablen den Wert "Geld des Helden" zu. Nun besteht die Aufgabe darin die einzelnen Ziffern herauszufiltern. Das macht man am besten, in dem man erstmal alle Ziffern die rechts von der gesuchten Ziffer stehen per / X herauslöscht (da der Maker nicht rundet ist das sehr gut machbar). Danach willst du auch noch alle Ziffern links von der gesuchten Ziffer löschen was durch ein mod 10 geschehen kann. Da eine ganzzahlige Division durch 10 immer als Rest die Einerstelle der Zahl hat erhältst du dadurch die 1er Stelle.
    Noch mal an einem Beispiel:

    Held Money: 732456
    z.B. 1000er Stelle = 732456
    732456 / 1000 = 732
    732 mod 10 = 2

    Fertig ^^

    Hoffe es hilft dir...

    mfg
    Phönix Tear

    Edit:
    T_T, warum bin ich bloß immer zu langsam XD

  6. #6
    OKE!!!(=siehe Sig, in diesem Fall: Danke!!!)
    Funzt perfekt!!!!

    Und weg mit dem Fred!!

    Geändert von Teflo (05.08.2006 um 17:54 Uhr)

Berechtigungen

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