hier ist mein vollständiger Code ini ein benutzerdefinierten High-Score-Systems zur Anzeige:Benutzerdefinierte High-Score-System Schreiben nicht richtig
// instance vars
var buffer = 0
var trigger = 0
// display setup
draw_set_font(fnt_highscores)
draw_set_color(c_white)
draw_set_halign(fa_left)
draw_set_valign(fa_middle)
// open save
ini_open("highscores.sav")
// reads file into 2d array
for (var i=0; i<10; i++)
{
scores[0,i] = ini_read_string(string(i+1), "place", 0)
scores[1,i] = ini_read_string(string(i+1), "name", 0)
scores[2,i] = ini_read_string(string(i+1), "score", 0)
}
// cycles through array to look for new high score
for (var i=0; i<10; i++)
{
// found one, run once.
if (global.points >= int64(scores[2,i]) && trigger == 0)
{
// starting from bottom, move value from number above to current
for (var j=9; j>i; j--)
{
scores[0,j] = scores[0,j-1]
scores[1,j] = scores[1,j-1]
scores[2,j] = scores[2,j-1]
}
// new high score
var initials = "beef"
scores[0,i] = string(i+1)
scores[1,i] = initials
scores[2,i] = global.points
trigger++
}
// display score
var j = i + 1
draw_text(global.centerw - 150, global.centerh - 220 + buffer, string(j) + ".")
draw_text(global.centerw - 100, global.centerh - 220 + buffer, scores[1,i])
draw_text(global.centerw + 20, global.centerh - 220 + buffer, scores[2,i])
buffer += 40
}
// write to file - NOT WORKING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
for (var i=0; i<10; i++)
{
ini_write_string(string(i+1), "place", scores[0,i])
ini_write_string(string(i+1), "name", scores[1,i])
ini_write_string(string(i+1), "score", string(scores[2,i]))
}
// close save
ini_close()
// draws flashing text
scr_flash_alpha(300)
draw_text(50,room_height - 50, "Start or R Key to Restart. Q to quit")
draw_set_alpha(1)
Des "schreiben to file" (in der Nähe der Buttom) Linien, um die Probleme zu verursachen. Hier ist, was er tut, wenn ich eine hohe Punktzahl zu schlagen:
Interessanterweise, wenn ich das Schreiben in ini Zeilen auskommentieren, alles perfekt wie beabsichtigt funktionieren (nur nicht die Informationen zu der ini nicht speichert, offensichtlich)
Also, alle meine Looping funktioniert, gerade wenn es um die ini zu schreiben geht es nicht um die Werte korrekt writting. Irgendwelche Hinweise? Ich schreibe dies stundenlang neu und bekomme keine wo lacht
Vielen Dank im Voraus !!!
(BEARBEITEN: Hier ist meine highscores.sav - beachten Sie, dass die Einträge 10 und 9 bis auf den "Ort" Wert identisch sind. Interessant ist auch, dass es bei 10 beginnt und bis zum 1. funktioniert Standard speichert, ich sie 1-10 nummeriert)
[10]
score="2500"
name="beef"
place="9"
[9]
score="2500"
name="beef"
place="9"
[8]
score="3000"
name="ASS"
place="8"
[7]
score="3800"
name="MAL"
place="7"
[6]
score="4600"
name="ADO"
place="6"
[5]
score="5500"
name="DSK"
place="5"
[4]
score="5500"
name="DIS"
place="4"
[3]
score="5900"
name="PPS"
place="3"
[2]
score="6100"
name="DSK"
place="2"
[1]
score="6800"
name="PSF"
place="1"
(Randnotiz:. ich weiß, es gibt ein paar schlampig Dinge im Code hier und da, es wird einmal alle werden Reinigungs dies funktioniert)
.