level up erstellen

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Es gibt etliche Möglichkeiten das Umzusetzen, aber hier ein sehr simples Beispiel:

    1. Du brauchst erstmal natürlich eine Variable die den Level fest hält, zu Beginn auf "1" setzen, also etwa im Create-Event vom Player "level = 1".
    2. Dann brauchst Du natürlich die Variable, die Erfahrung fest hält. Im Create-Event "experience = 0", von mir aus.
    3. Nun musst Du jedes Mal wenn XP erhalten werden (etwa bei einem Kill) checken, ob es für einen Levelaufstieg reicht. Das kannst Du etwa so machen:

    GML-Quellcode

    1. if experience >= level*50
    2. level+=1


    level*50 bedeutet nun, dass die vorausgesetzten XP für Levelaufstieg pro Level um 50 XP steigen werden. Bei Faktor 100 statt 50 natürlich um 100. Das ist allerdings nun ein linearer Anstieg, was nicht gut ist. Du kannst da mit der Formel experimentieren (etwa level*level*50 für exponenziellen Anstieg, so wird Level 2 50 XP brauchen, Level 3 200 XP und Level 4 450 XP etc.).
  • Zum Beispiel:

    GML-Quellcode

    1. if experience >= level*level*50 // Exponenzieller Anstieg der nötigen XP für Aufstieg pro Level
    2. {
    3. level += 1; // Erhöhung des Levels um 1
    4. maxhp = level*20; // Erhöhung der maximalen HP um 20 pro Level
    5. hp = maxhp; // Auffüllen der HP bei Levelaufstieg
    6. }

    Alles was irgendwie mit dem Level aufsteigen soll kannst Du nach dem Prinzip erweitern. Einfach die entsprechende Variable dem Level mit einem Faktor deiner Wahl gleichsetzen.
  • ich bekomme immer die fehlermeldung:

    FATAL ERROR in
    action number 1
    of Destroy Event
    for object Gegner:

    Push :: Execution Error - Variable Get -1.experience(100002, 0)
    at gml_Object_Gegner_Destroy_0 (line 1) -experience += 20

    der fehler tritt auf wenn ich den Spieler erfahrung geben will.
    Ich hab geschrieben:

    experience += 20
  • Du musst der Variable experience zuerst einen Wert zuweisen. Dein Ausdruck entspricht

    GML-Quellcode

    1. experience = experience + 20;

    und dafür muss experience ja bereits einen Wert haben. Du könntest ihn beispielsweise im Create Event auf 0 setzen...

    GML-Quellcode

    1. experience = 0;

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ghost ()