Ergebnis 1 bis 11 von 11

Thema: Errechnen und Ausgabe der Level...

  1. #1

    Errechnen und Ausgabe der Level...

    Ich wollte in meinem selbstgebauten Menue die Level meine Charaktere ausgeben.

    Mein Code in CE zur Berechnung der Level:

    Var Oper:[1-3] set, 0
    Var Oper:[1-3] set, Level Zack
    Var Oper: [2 Hero Level [Z] set, Var [1 Hero Level [H]]'s Value
    Var Oper: [2 Hero Level [Z] mod, 100
    Var Oper: [2 Hero Level [E] set, Var [1 Hero Level [Z]]'s Value
    Var Oper: [2 Hero Level [E] mod, 100

    Funktioniert aber irgendwie nicht... Wo liegt das Problem? Weis jemand wie ich das Problem loesen kann?

  2. #2
    Erstmal:
    Var Oper:[1-3] set, 0
    unnötig, nächste Zeile is auch ein Set

    ansonsten öhm die letzte Zeile muss
    Var Oper: [2 Hero Level [E] mod, 10
    heißen, nicht
    Var Oper: [2 Hero Level [E] mod, 100

    und die beiden Zeilen
    Var Oper: [2 Hero Level [Z] set, Var [1 Hero Level [H]]'s Value
    Var Oper: [2 Hero Level [E] set, Var [1 Hero Level [Z]]'s Value
    sind unnötig, ob du jetzt Zehner oder Hunderter mod 10 machst, ist egal, kommt aufs gleiche Ergebnis raus

    btw, wieso ist Variable 2 sowohl Z wie auch E?

    Also: du brauchst:
    Var Oper:[1-3] set, Level Zack
    Var Oper: [2 Hero Level [Z] mod, 100
    Var Oper: [3 Hero Level [E] mod, 10
    würde mit der eingabe 546 machen:
    V1,V2,V3 = 546
    V2 = V2 mod 100 = 546 mod 100 = 46
    V3 = V3 mod 10 = 546 mod 10 = 6
    Also als Endergebnis wird 546 aufgesplittet in 546, 46 und 6, das was du wohl willst

  3. #3
    [Klugscheissmodus]
    Warum wird bei der Zehnerstelle eigentlich Mod 100 genommen? Die Level gehen doch nur bis 50 bzw. 99.

    Ich würde einfach Variable 1 = Level setzen, dann den Wert durch 10. Damit hab ich die Zehnerstelle. Dann Variable 2 = Level und Mod 10, dann hab ich die Einerstelle.
    [/Klugscheissmodus]

  4. #4
    Wie muessen dann die Events auf der Menue Map aussehen?

    Wenn mein Charakter das Level 1 besitz wird immer 11 ausgegeben.

    Erster Event

    If Hero Level [E] >= 1 (dann das "einer" charset, dabei auf action key gestellt)

    Zweiter Event

    If Hero Level [Z] >= 0 (dann das "nuller" charset, dabei auf action key gestellt)

    Was mache ich falsch???

  5. #5
    Die Anzeigeevents müssen jeweils 10 Eventseiten haben, bei denen du mit 0 anfängst und dann aufsteigend die weiteren Zahlen einbaust. Also Seite 1 hat Bedingung "Wenn Variable > 0", dann die nächste Seite "Wenn Variable > 1" usw. Als Charset wählst du für die Seiten dann die entsprechende Zahl.

  6. #6
    Ok hab Variabel 1 und 2 auf Zack Level gesetzt und beide mod 10 genommen. Bei der Ausgabe von Level 1, wird aber bei mir 11 ausgegeben.

    Was mach ich falsch?

    Kann mir jemand die Ausgabe mal schicken??

  7. #7
    Du mußt bei der Zehnerstelle durch 10 teilen, nicht Modulo nehmen. So sieht es bei mir im Maker aus:

    Code:
    Change Var: Var[0001:Zehnerstelle] (Set)-Alex's Level
    Change Var: Var[0002:Einerstelle] (Set)-Alex's Level
    Change Var: Var[0001:Zehnerstelle] (/)-10
    Change Var: Var[0002:Einerstelle] (Mod)-10

  8. #8
    Die Zehnerstelle braucht man eigentlich gar nicht berechnen.

    Und wenn man das mit / 10 macht, kann es passieren das der Maker bei z.B. 45 4,5 anfängt zu runden und das Ergebniss stimmt nicht mehr.

    Ich würde mir ganz einfach die Einerstelle per Mod 10 holen und dann folgernde Abfragen durchführen:

    Code:
    //für die Zehner:
    if (Var: Zehnerstelle>90) {
    Showpicture Id:1, zahl_9.png;
    } else {
       if (Var: Zehnerstelle>80) {
       Showpicture Id:1, zahl_8.png;
       } else {
        //und so weiter
       }
    }
    
    
    //für die Einer:
    if (Var: Einerstelle=9) {
    Showpicture Id:2, zahl_9.png;
    } else {
       if (Var: Einerstelle=8) {
       Showpicture Id:2, zahl_8.png;
       } else {
        //und so weiter
       }
    }
    Zitat Zitat
    Ok hab Variabel 1 und 2 auf Zack Level gesetzt und beide mod 10 genommen. Bei der Ausgabe von Level 1, wird aber bei mir 11 ausgegeben.

    Was mach ich falsch?
    Die Zehnerstelle darf man modulo nehmen. Aber nicht 10. Modulo gibt den Rest einer Division aus.

    Effekt:
    45 / 10 = 4 Rest 5 (Mod gibt 5 aus).

    45 / 100 = 0 Rest 45 (Mod gibt 45 aus).

    Daher kommt es das du zweimal eine 1 bekommst.

    1 / 10 = 0 Rest 1.

    Wenn du das auf Einer als auch auf Zehner anwendest haben beide den Wert 1 und so kommt das halt...

    Geändert von Caine Luveno (19.06.2006 um 19:06 Uhr)

  9. #9
    lokipoki zeigt das aber gar nicht mit Pictures an, außerdem rundet der Maker soweit ich weiß nicht, sondern schneidet den Rest weg.

    Mal angenommen der Held hat Level 35, dann würde das nach meiner Vorgehensweise so aussehen:

    35/10 = 3
    35 mod 10 = 5

    Sollte richtig sein. Es stimmt aber, dass man sich die Zehnerstelle sparen kann, in dem man bei der Anzeige direkt abfragt, ob der Wert >10, 20, 30 usw. ist.

  10. #10
    Wozu /10? Man kann doch auch abfragen > 30 > 40 > 50 etc, muss man ja nicht mit > 3 > 4 > 5 machen


    edit: @Kelven: uh joa jetz seh ichs ^^ in zu großem Zeitdruck posten bringts nech stell ich fest ^^

    Geändert von Dhan (23.06.2006 um 19:20 Uhr)

  11. #11
    Jo, das hab ich im Beitrag vorher ja auch geschrieben.

Berechtigungen

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