Ich versuche nen Highscore den ich als Array mit drei Felder definiert habe über
Preferences abzuspeichern sowie ihn auch wieder aufzurufen.
Aber er Speichert immer nur ein Feld "HighScore(2)" ab und zeigt es nicht mal an.
Denke er überschreibt die vorherigen 2 Felder, richtig?
Aber warum zeigt er mir nicht wenigstens den "HighScore(2))" an sondern den vorgegebenen Wert 5000 bei allen drei Felder?
Was kann ich machen?
Hier der Code
Code: Alles auswählen
Global Dim High_Score.i(2)
High_Score(0) = Player\PLAYER_SCORE
High_Score(1) = Player\PLAYER_SCORE
High_Score(2) = Player\PLAYER_SCORE
OpenPreferences("Variablen.save")
High_Score(0) = ReadPreferenceLong(Str(Player\PLAYER_SCORE), 25000)
High_Score(1) = ReadPreferenceLong(Str(Player\PLAYER_SCORE), 10000)
High_Score(2) = ReadPreferenceLong(Str(Player\PLAYER_SCORE), 5000)
ClosePreferences()
DisplayTransparentSprite(#Sprite_gameover, 0, 0)
player\PLAYER_SCORE = player\POINTS
StartDrawing(ScreenOutput()) ;box
DrawText(500, 500, "Punkte: "+ player\POINTS)
DrawText(500, 540, "Kills: "+ player\KILLS)
DrawText(500, 580, "HighScore: ")
DrawText(500, 620, " "+ High_Score(0))
DrawText(500, 660, " "+ High_Score(1))
DrawText(500, 700, " "+ High_Score(2))
StopDrawing()
If CreatePreferences("Variablen.save")
If High_Score(0) > 2500
WritePreferenceLong(Str(Player\PLAYER_SCORE), High_Score(0))
EndIf
If High_Score(1) > 1000
WritePreferenceLong(Str(Player\PLAYER_SCORE), High_Score(1))
EndIf
If High_Score(2) > 500
WritePreferenceLong(Str(Player\PLAYER_SCORE), High_Score(2))
EndIf
ClosePreferences()
EndIf
NeoRon