Hallo zusammen.
Ich dacht mir einfach mal ich lasse meine neu gewonnen Erkenntnis, in einem Tutorial hier ein fließen.
Das Thema lautet.
-Wie erstelle ich ein Speicherstand System das auch variable Spielstandnamen ermöglicht und diese auch im Laden Menü anzeigt.-
1.Schritt...... was brauchen wir.
Eigentlich nicht viel.
Nur eine "*.ini" Datei.
Die ich hier einfach mal "savegame.ini" nenne.
Diese habe ich wie folgt aufgebaut, für zb 6 zur verfügung stehende Speicherplätzte.
Natürlich könnt ihr mehr hinzufügen, wenn ihr das wollt.
Bestehend aus 2 sections. und jeweils 6 key's
Die Section "[save values]", gibt an ob ein Spielstand belegt ist oder nicht.
Die Section "[save string]", beinhaltet den von Euch im Spiel vergebenen Namen des zu speichernden Spielstandes.
2. Menü Gestalltung / Daten ausgabe
Beispiel

Die Daten für die Spielstände müst Ihr euch nun aus der "savegame.ini" herholen.
Das gilt für das Speicher, sowie für das Lademenü.
Damit ihr beim Spieln auch immr wist.Welchen Spielstand habe ich bereits.
Das geht wie folgt.
Alles anzeigen
Dies gibt euch erstmal Information, wie der Stand der Dinge ist.
Wie und wo ihr euch die Text ausgeben last ist Eure Entscheidung. Oben ist ein Beispiel wie es aussehen könnte
Ich habe sie mit "draw_text" unter einander aufgelistet. // PS die Zahl 1-6vor den Speicherstand Plaätzen ist per extra draw_Text gezeichnet. Dies übernicht nicht dieses Tutrial hier.
Die Variablen save_1-6 geben euch Information ob ein Spielstand 1-6 vorhanden ist bzw die Variable save_info_1-6 wie der dazu gehörige Name ist.
3.Schritt....Das Speichern
Der Code für das Speichern sieht wie folgt aus, inklusive einer Überprüfung, zwecks Überschreiben eine Spielstandes.
Alles anzeigen
Nun könnt Ihr in eure "savegame.ini" datei schauen und sehen, das sie sich verändert hat.
4.Schritt....Das Laden
Hier wird wieder die "savegame.ini" ausgelesen um euch erstmal mit Informationen zu versorgen, ob Spielständer vorhanden sind und wie sie heisen.
Erneut gebt Ihr die abfrage ein...
Alles anzeigen
Um nun ein Spielstand zu laden der Verfügbar ist, könnt ihr nun mit den Variablen save_1-6 abfragen ob sie vorhanden sind oder nicht.
Kurzgesagt sieht das wie folgt aus
Natürlich muss über all ein Maustasten abfrage vor...ist ja klar.
Wie ihr das einbaut und durch welche aktionen ist ja euch über lassen.
Bei mir hab ich das durch kleine anzeige hilfen aus gebaut.
zb durch farbliche abhebung der Schrift, im Fall ein Spielstand ist vorhanden.
So könnt ihr gleich mit einem Blick sehen was zu laden, möglich ist.
Hier noch mal ein Anwendungsbeispiel...

Anmerkung. Dieses Speicher Menü macht es einen recht einfach. Zumindest wenn das Gerüst drum herum stimmt. Bis ich es so hatte wie ich es brauchte sind es schon ein paar 100 zeilen mehr als im Tutrial geworden.
Mann kann auch jeder Zeit von außen an die "*.ini" Datei heran und die Variablen per Hand ändern. Was einen aber auch keinen direkten Vor- und/oder Nachteil bringt.
Die Spielstände verschwinden ja nicht. Nur das Programm gibt sie auf Grund der Variablen änderung von 1 auf 0 nicht frei.
Ich hoffe das ich etwas Konstruktieves zum Tutorial Bereich hinzufügen konnte.
Für Schreibfehler entschuldige ich mich schon mal im voraus. //Die werden beim 2 Mal lesen erst ausgebessert
Ich dacht mir einfach mal ich lasse meine neu gewonnen Erkenntnis, in einem Tutorial hier ein fließen.
Das Thema lautet.
-Wie erstelle ich ein Speicherstand System das auch variable Spielstandnamen ermöglicht und diese auch im Laden Menü anzeigt.-
1.Schritt...... was brauchen wir.
Eigentlich nicht viel.
Nur eine "*.ini" Datei.
Die ich hier einfach mal "savegame.ini" nenne.
Diese habe ich wie folgt aufgebaut, für zb 6 zur verfügung stehende Speicherplätzte.
Natürlich könnt ihr mehr hinzufügen, wenn ihr das wollt.
Bestehend aus 2 sections. und jeweils 6 key's
[save values]
1=0
2=0
3=0
4=0
5=0
6=0
[save string]
1=unbenannt
2=unbenannt
3=unbenannt
4=unbenannt
5=unbenannt
6=unbenannt
Die Section "[save values]", gibt an ob ein Spielstand belegt ist oder nicht.
Die Section "[save string]", beinhaltet den von Euch im Spiel vergebenen Namen des zu speichernden Spielstandes.
2. Menü Gestalltung / Daten ausgabe
Beispiel
Die Daten für die Spielstände müst Ihr euch nun aus der "savegame.ini" herholen.
Das gilt für das Speicher, sowie für das Lademenü.
Damit ihr beim Spieln auch immr wist.Welchen Spielstand habe ich bereits.
Das geht wie folgt.
GML-Quellcode
- ini_open("savegame.ini")
- save_1=ini_read_real("save values","1",0)
- save_2=ini_read_real("save values","2",0)
- save_3=ini_read_real("save values","3",0)
- save_4=ini_read_real("save values","4",0)
- save_5=ini_read_real("save values","5",0)
- save_6=ini_read_real("save values","6",0)
- save_1_info=ini_read_string("save string","1",0)
- save_2_info=ini_read_string("save string","2",0)
- save_3_info=ini_read_string("save string","3",0)
- save_4_info=ini_read_string("save string","4",0)
- save_5_info=ini_read_string("save string","5",0)
- save_6_info=ini_read_string("save string","6",0)
- ini_close()
Dies gibt euch erstmal Information, wie der Stand der Dinge ist.
Wie und wo ihr euch die Text ausgeben last ist Eure Entscheidung. Oben ist ein Beispiel wie es aussehen könnte
Ich habe sie mit "draw_text" unter einander aufgelistet. // PS die Zahl 1-6vor den Speicherstand Plaätzen ist per extra draw_Text gezeichnet. Dies übernicht nicht dieses Tutrial hier.
Die Variablen save_1-6 geben euch Information ob ein Spielstand 1-6 vorhanden ist bzw die Variable save_info_1-6 wie der dazu gehörige Name ist.
3.Schritt....Das Speichern
Der Code für das Speichern sieht wie folgt aus, inklusive einer Überprüfung, zwecks Überschreiben eine Spielstandes.
GML-Quellcode
- if save_1=0 then{
- if show_question("Spielstand speicher ?")=1 then
- {
- save_text=get_string("Spiestand Bezeichnung","Spielstand 1")//wirdder Spielstandbezeichnung gefragt
- ini_open("savegame.ini")
- ini_write_real("save values","1",1)
- ini_write_string("save string","1",string(save_text))
- ini_close()
- game_save("01")
- }
- }
- else
- if show_question("Spielstand überschreiben ?")=1 then
- {
- save_text=get_string("Spiestand Bezeichnung","Spielstand 1") //wirdder Spielstandbezeichnung gefragt
- ini_open("savegame.ini")
- ini_write_real("save values","1",1)
- ini_write_string("save string","1",string(save_text))
- ini_close()
- game_save("01")
- }
Nun könnt Ihr in eure "savegame.ini" datei schauen und sehen, das sie sich verändert hat.
[save values]
1=1 //hier steht nun eine 1 da spielstand ein verwendet wurde aber immer überschrieben werden kann von euch
2=0
3=0
4=0
5=0
6=0
[save string]
1=euer Name //steht dann euer im Spiel eingegeben text
2=unbenannt
3=unbenannt
4=unbenannt
5=unbenannt
6=unbenannt
4.Schritt....Das Laden
Hier wird wieder die "savegame.ini" ausgelesen um euch erstmal mit Informationen zu versorgen, ob Spielständer vorhanden sind und wie sie heisen.
Erneut gebt Ihr die abfrage ein...
GML-Quellcode
- ini_open("savegame.ini")
- save_1=ini_read_real("save values","1",0)
- save_2=ini_read_real("save values","2",0)
- save_3=ini_read_real("save values","3",0)
- save_4=ini_read_real("save values","4",0)
- save_5=ini_read_real("save values","5",0)
- save_6=ini_read_real("save values","6",0)
- save_1_info=ini_read_string("save string","1",0)
- save_2_info=ini_read_string("save string","2",0)
- save_3_info=ini_read_string("save string","3",0)
- save_4_info=ini_read_string("save string","4",0)
- save_5_info=ini_read_string("save string","5",0)
- save_6_info=ini_read_string("save string","6",0)
- ini_close()
Um nun ein Spielstand zu laden der Verfügbar ist, könnt ihr nun mit den Variablen save_1-6 abfragen ob sie vorhanden sind oder nicht.
Kurzgesagt sieht das wie folgt aus
Natürlich muss über all ein Maustasten abfrage vor...ist ja klar.
Wie ihr das einbaut und durch welche aktionen ist ja euch über lassen.
Bei mir hab ich das durch kleine anzeige hilfen aus gebaut.
zb durch farbliche abhebung der Schrift, im Fall ein Spielstand ist vorhanden.
So könnt ihr gleich mit einem Blick sehen was zu laden, möglich ist.
Hier noch mal ein Anwendungsbeispiel...
Anmerkung. Dieses Speicher Menü macht es einen recht einfach. Zumindest wenn das Gerüst drum herum stimmt. Bis ich es so hatte wie ich es brauchte sind es schon ein paar 100 zeilen mehr als im Tutrial geworden.
Mann kann auch jeder Zeit von außen an die "*.ini" Datei heran und die Variablen per Hand ändern. Was einen aber auch keinen direkten Vor- und/oder Nachteil bringt.
Die Spielstände verschwinden ja nicht. Nur das Programm gibt sie auf Grund der Variablen änderung von 1 auf 0 nicht frei.
Ich hoffe das ich etwas Konstruktieves zum Tutorial Bereich hinzufügen konnte.
Für Schreibfehler entschuldige ich mich schon mal im voraus. //Die werden beim 2 Mal lesen erst ausgebessert

Meine Signatur hat kein Visum für das GM Forum erhalten.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von x-sascha ()