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
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
Alles anzeigen
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:
GML-Quellcode
- hsalt = global.profilname; // alter Name im Profil
- hsneu = keyboard_string; // neuer Name
- if highscore_value(1) > 0{
- var name;
- for (i=0; i<=9; i+=1){
- name = highscore_name(i+1)
- list[i,0] = name
- if name = hsalt{ //hier soll der Name abgeglichen und geänder werden.
- highscore_name = hsneu
- }
- }
- // Tabelle leeren
- highscore_clear()
- // Highscore Tabelle wieder füllen
- for (i=0; i<=9; i+=1){
- highscore_add(list[i,0],list[i,1]) // hier kommt der Fehler
- }
- }
- }
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:
GML-Quellcode
- hsalt = global.profilname;
- hsneu = keyboard_string;
- if highscore_value(1) > 0
- {
- for (i = 0; i <= 9; i += 1)
- {
- // Name und Punkte in Liste merken
- list[i,0] = highscore_name(i + 1)
- list[i,1] = highscore_value(i + 1)
- // Wenn gemerkter Name alt ist, in neuen ändern
- if list[i,0] = hsalt
- {
- list[i,0] = hsneu
- }
- }
- // Tabelle leeren
- highscore_clear()
- // Highscore Tabelle wieder füllen
- for (i = 0; i <= 9; i += 1)
- {
- highscore_add(list[i,0], list[i,1])
- }
- }
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Yamm ()