Namen in Highscore ändern

  • GM 8

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

  • Namen in Highscore ändern

    Ursprünglich hieß der Beitrag anders, da das Problem aber von mir selber gelöst wurde, mache ich einfach einen neuen Beitrag daraus.

    In meiner Highscoreliste gibt es bis zu 10 Einträge. Alle Spieler haben ein eigenes Profil, natürlich mit eigenen Namen. Anstatt laufen den selben Namen in die Liste zu tragen und damit die Liste vielleicht zu fluten klettert man die Liste hoch. Somit gibt es einen Namen nur einmal in der Liste.

    Bei den Profilen kann man den Namen aber ändern. Da funktioniert nun alles, ich würde aber auch gerne den Namen in der HS-Liste ändern. Ich habe es so versucht:

    Spoiler anzeigen

    GML-Quellcode

    1. hsalt = global.profilname; // alter Name im Profil
    2. hsneu = keyboard_string; // neuer Name
    3. if highscore_value(1) > 0{
    4. var name;
    5. for (i=0; i<=9; i+=1){
    6. name = highscore_name(i+1)
    7. list[i,0] = name
    8. if name = hsalt{ //hier soll der Name abgeglichen und geänder werden.
    9. highscore_name = hsneu
    10. }
    11. }
    12. // Tabelle leeren
    13. highscore_clear()
    14. // Highscore Tabelle wieder füllen
    15. for (i=0; i<=9; i+=1){
    16. highscore_add(list[i,0],list[i,1]) // hier kommt der Fehler
    17. }
    18. }
    19. }
    Alles anzeigen


    Das Ganze wird mit dem Fehler "Unknown variable list or array index out of bounds" quittirt. Die entsprechende Zeile habe ich oben kommentiert.

    Kann mir jemand dabei helfen?

    Edit: Problem ist gelöst! Code muss so aussehen:

    Spoiler anzeigen

    GML-Quellcode

    1. hsalt = global.profilname;
    2. hsneu = keyboard_string;
    3. if highscore_value(1) > 0
    4. {
    5. for (i = 0; i <= 9; i += 1)
    6. {
    7. // Name und Punkte in Liste merken
    8. list[i,0] = highscore_name(i + 1)
    9. list[i,1] = highscore_value(i + 1)
    10. // Wenn gemerkter Name alt ist, in neuen ändern
    11. if list[i,0] = hsalt
    12. {
    13. list[i,0] = hsneu
    14. }
    15. }
    16. // Tabelle leeren
    17. highscore_clear()
    18. // Highscore Tabelle wieder füllen
    19. for (i = 0; i <= 9; i += 1)
    20. {
    21. highscore_add(list[i,0], list[i,1])
    22. }
    23. }
    Alles anzeigen

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Yamm ()