2 Highscores

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

  • 2 Highscores

    Ich weiß das es diese Frage schon gibt, aber ich konnte mit dem Script leider nicht so viel anfangen.
    Wie der Titel schon verrät sollte mein Spiel 2-3 Highscores haben, aber mit der normalen funktion würde das nicht gehen, aber ich hab echt keine Ahnung wie ich das anstehlen könnte. Ich hab schon mehrere Scripte von Highscoren gefunden, meisten aber waren die Links veraltet und somit nicht erreichbar. Ich hoffe irh könnt mir einen einfachen Highscore machen, wirklick einfach. Danke schon im Vorhinaus.

    LG Afroman
  • Ich habe jetzt mal einen kleinen Code erstellt:

    Dieser Code muss in das Event, wen die Bestenliste aufgerufen werden soll:

    GML-Quellcode

    1. name = get_string("Name", "Name"); //Name für die Bestenliste


    Und dieser Coden muss ins Draw Event:

    GML-Quellcode

    1. draw_text(32, 32, name); //Der angegebene Name
    2. draw_text(240,32,"Punkte: "+string(score));


    Damit die Bestenliste gespeicher wird, musst du einfach noch nen:

    GML-Quellcode

    1. game_save("bestenliste");

    Code einfügen.

    Ich hoffe es hilft dir weiter!
    Nicht mehr alle Tassen im Schrank?
    Dann stell doch Gläser rein!!!
    xD
  • Naja, ist nicht das was ich meine, ich meine mehrere Namen, sozusagen eine Highscore liste mit 10 Namen, so wie die normale Game maker funktion. ICh weiß das ganze mit string und so. Eine Frage hab ich, würden mehrere Highscores auch mit dem Highscore von Asteroids gehen?
  • Tschuldigung wegen dem Doppelpost, aber ich hab ganz vergessen denn Script zu Psoten, mit dem ich es probier:
    Script
    Aber da kommen immer eine Fehlermeldung:

    GML-Quellcode

    1. for ( nr = 1, nr <= 10, nr += 1)

    mit dem stimmt was nicht. Schaut es euch einfach bitte mal an.
    Wenn es geht, könnt ihr mir erklären wie ich das Scoresystem benutze?
    Ist sehr wichtig, ich brauch es nämlich für den Advents Kalender.

    Danke schon im Vorhinaus

    LG Afroman
  • Also ich habe dafür die folgenden Skripts gemacht:
    sr_writescore:
    Spoiler anzeigen

    GML-Quellcode

    1. argument0=sr_append("saves\",argument0);
    2. if !(directory_exists(sr_append(working_directory,"\saves\")))
    3. directory_create(sr_append(working_directory,"\saves\"));
    4. if(file_exists(argument0))
    5. {
    6. file_delete(argument0);
    7. }
    8. dat=file_text_open_write(argument0);
    9. for (i=1;i<=10;i+=1)
    10. {
    11. name=highscore_name(i);
    12. val=string(highscore_value(i));
    13. file_text_write_string(dat,name);
    14. file_text_writeln(dat);
    15. file_text_write_string(dat,val);
    16. file_text_writeln(dat);
    17. }
    18. file_text_close(dat);
    Alles anzeigen

    sr_loadscore:
    Spoiler anzeigen

    GML-Quellcode

    1. //highscore aus der Datei argument0 laden
    2. argument0=sr_append("saves\",argument0);
    3. if !(directory_exists(sr_append(working_directory,"\saves\")))
    4. directory_create(sr_append(working_directory,"\saves\"));
    5. if (file_exists(argument0)==false)
    6. {
    7. //Datei erzeugen und füllen
    8. dat=file_text_open_write(argument0);
    9. for (i=1;i<=10;i+=1)
    10. {
    11. file_text_write_string(dat,"???????");
    12. file_text_writeln(dat);
    13. file_text_write_real(dat,0);
    14. file_text_writeln(dat);
    15. }
    16. file_text_close(dat);
    17. }
    18. highscore_clear();
    19. dat=file_text_open_read(argument0);
    20. for (i=1;i<=10;i+=1)
    21. {
    22. name=file_text_read_string(dat);
    23. file_text_readln(dat);
    24. //string lesen, alles was keine Zahl ist rausschmeißen und konvertieren
    25. v1=file_text_read_string(dat);
    26. v2=string_digits(v1);
    27. val=real(v2);
    28. //val=file_text_read_real(dat);
    29. file_text_readln(dat);
    30. highscore_add(name,val);
    31. }
    32. file_text_close(dat);
    Alles anzeigen


    Damit kannst du dann die Highscore-liste jderzeit in eine Datei sichern bzw. wieder aus der Datei laden.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Könntest du mir etl auch sagen wie ich den verwende, da kommen immer fehler.(Den von Spellmaker). Tut mir leid wenn ich mich dumm anstelle, doch ich hab bis jetzt immer die Standartfunktion verwendet.
    Danke schon (wiedermal)im Vorhinaus.

    LG Afroman
  • Irgendwas wegen einem unbekannten Script. Ich hab mal die Datei angehängt, hoffe ihr könnt mir erklären was ich falsch gemacht habe, höchst warscheinlich so ein dummer Fehler... :rolleyes:
    Dateien
    • so_machs_ich.zip

      (2,29 kB, 232 mal heruntergeladen, zuletzt: )
  • Also, die Scripts übernehmen jeweils den Namen der Datei, in den der Highscore gespeichert
    bzw. von der er ausgelesen wird. (natürlich relativ zum Spielverzeichnis)
    Wegen meinen Voreinstellungen werden alle Scores noch in einem Unterordner saves gespeichert,
    dürfte sich allerdings relativ einfach wieder rausnehmen lassen.
    Und zum benutzen musst du einfach vor dem anzeigen des Highscores sr_loadscore anwenden
    und nach dem ändern des Highscores sr_writescore.
    Edit: also, zunächst benutzt du die Skripts in der falschen Reihenfolge: sr_writescore speichert
    den Highscore und sr_loadscore lädt ihn wieder. Und dann hast du keine Werte übergeben, da
    kann das natürlich nicht klappen.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Hmmm, okey, aber jetzt kommt immer dieser Error:
    argument0=sr_append("saves\",argument0);
    unknow Script sr_append.
    Ich hab die beiden jetzt ausgetauscht, im Game Start event sr_loadscore, und im animations-end event sr_writescore. Aber es will nicht funktionieren, da kommt immer der obere Fehler. Ach ich verzweifel noch... :S
  • Oh s*****, Tschuldigung, mein Fehler :D
    Ich hab in meinem Spiel noch ein Skript sr_append drin und das hab ich dadrin
    benutzt
    ich schreib mal schnell die Skripte so um, dass sie nicht mehr im Ordner saves speichern,
    dann dürfte auch das sr_append weg sein
    sr_writescore:
    Spoiler anzeigen

    GML-Quellcode

    1. if(file_exists(argument0))
    2. {
    3. file_delete(argument0);
    4. }
    5. dat=file_text_open_write(argument0);
    6. for (i=1;i<=10;i+=1)
    7. {
    8. name=highscore_name(i);
    9. val=string(highscore_value(i));
    10. file_text_write_string(dat,name);
    11. file_text_writeln(dat);
    12. file_text_write_string(dat,val);
    13. file_text_writeln(dat);
    14. }
    15. file_text_close(dat);
    Alles anzeigen

    sr_loadscore:
    Spoiler anzeigen

    GML-Quellcode

    1. //highscore aus der Datei argument0 laden
    2. if (file_exists(argument0)==false)
    3. {
    4. //Datei erzeugen und füllen
    5. dat=file_text_open_write(argument0);
    6. for (i=1;i<=10;i+=1)
    7. {
    8. file_text_write_string(dat,"???????");
    9. file_text_writeln(dat);
    10. file_text_write_real(dat,0);
    11. file_text_writeln(dat);
    12. }
    13. file_text_close(dat);
    14. }
    15. highscore_clear();
    16. dat=file_text_open_read(argument0);
    17. for (i=1;i<=10;i+=1)
    18. {
    19. name=file_text_read_string(dat);
    20. file_text_readln(dat);
    21. //string lesen, alles was keine Zahl ist rausschmeißen und konvertieren
    22. v1=file_text_read_string(dat);
    23. v2=string_digits(v1);
    24. val=real(v2);
    25. //val=file_text_read_real(dat);
    26. file_text_readln(dat);
    27. highscore_add(name,val);
    28. }
    29. file_text_close(dat);
    Alles anzeigen



    Jetzt dürfts gehen^^
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • :headtouch: Ich bin dumm. Es funktioniert noch immer nicht.
    Error opening for file
    Der neue Error. Hier meine Datei.
    PS: Ihr müsst durchhalten, bald haben wir es geschafft, meine Dummheit zu überwinden, nein Spaß... :P
    Dateien
    • test2.zip

      (2,23 kB, 208 mal heruntergeladen, zuletzt: )
  • :headtouch: Ich verstehs noch immer nicht... :headtouch:
    Ich hab alles genau so gemacht wie ihr es gesagt habt, aber es funktioniert einfach nicht, ich häng die Datei nochmal dran, wie ichs jetzt habe...
    Dateien
    • test2.zip

      (2,26 kB, 224 mal heruntergeladen, zuletzt: )