Skocz do zawartości

game_save i game_load w show_message


Rekomendowane odpowiedzi

Przede wszystkim, kod:

 

game_save

switch(show_message_ext("WOULD YOU LIKE TO SAVE YOUR PROGRESS BEFORE LEAVING TO MAIN MENU?","YES","","NO"))

{

case 0:{break}

case 1:{switch(show_message_ext("CHOOSE YOUR SAVE SPOT.","1","2","3"))

{

case 0:{break}

case 1:{game_save("Savefile 1") show_message("GAME SAVED!") room_goto(roo_menu) transition_kind=21 break}

case 2:{game_save("Savefile 2") show_message("GAME SAVED!") room_goto(roo_menu) transition_kind=21 break}

case 3:{game_save("Savefile 3") show_message("GAME SAVED!") room_goto(roo_menu) transition_kind=21 break}

}

}

case 2:{break}

case 3:{room_goto(roo_menu) transition_kind=21 break}

}

 

game_load

sound_play(sou_buttonin)

switch(show_message_ext("CHOOSE YOUR SAVE SPOT.","1","2","3"))

{

case 0:{break}

case 1:{game_load("Savefile 1") break}

case 2:{game_load("Savefile 2") break}

case 3:{game_load("Savefile 3") break}

}

 

A tutaj moje pytania:

1. Wczytywanie w ogóle nie działa, wybieram powiedzmy przycisk "1" i nie działa. Czemu? Przez breaki?

2. Jak zrobić, żeby gdy wyświetla się message z ładowaniem i 3 buttony "1,2,3" to zamiast tych numerków żeby była nazwa postaci tam gdzie slot zajęty? Global.name jest już generowane przed zapisywaniem, ale nie wiem jak tego użyć. Chciałbym też, żeby przy menu z zapisywaniem też zamiast 1,2,3 tam gdzie już zajęte sloty, występowały imiona postaci.

 

 

Przy tym drugim sie godzinę głowiłem i nic nie wymyśliłem, bardziej mi zależy na odpowiedzi na pierwsze pytanie.

Odnośnik do komentarza
Udostępnij na innych stronach

1. Kod wygląda dobrze, plik "Savefile 1" istnieje w folderze z grą?

2. Wstawiasz imiona zamiast numerków...

 

 

1. Tak

2. Nie moge wpisac imion, bo zalezy mi zeby byly zalezne od gracza, czyli uprzednio od global.name=get_string

 

moze w 1wszym poscie nie jasno sie wyrazilem, chodzi mi o to, ze gra pyta gracza o nick, gracz wpisuje swoj nick, czyli jego nick=global.name. gracz zapisuje gre, nazwa savefile to jego nick, gdy wczytuje gre to zamiast tych buttonow jest ten stary nick pod jakim wczesniej zapisal gre. gdy tworzy nowa gre i zapisuje, to widzi, ze zamiast buttonow kolejno 1, 2, 3 button 1 jest zajety nickiem wczesniejszej postaci

Odnośnik do komentarza
Udostępnij na innych stronach

Powinno działać, ale ręki nie dam sobie uciąć.

Zapis:

GML
global.name = get_string("Podaj nick:", "");

sound_play(sou_buttonin);

ini_open("nicks.ini");

if !ini_section_exists("NICKS")

{

ini_write_string("NICKS", "nick1", "Zapis 1");

ini_write_string("NICKS", "nick2", "Zapis 2");

ini_write_string("NICKS", "nick3", "Zapis 3");

}

zapis[0] = ini_read_string("NICKS", "nick1", "Zapis 1");

zapis[1] = ini_read_string("NICKS", "nick2", "Zapis 2");

zapis[2] = ini_read_string("NICKS", "nick3", "Zapis 3");

switch(show_message_ext("CHOOSE YOUR SAVE SPOT.",zapis[0],zapis[1],zapis[2]))

{

case 0:{break}

case 1:{game_save(zapis[0]); ini_write_string("NICKS", "nick1", global.name); break;}

case 2:{game_save(zapis[1]); ini_write_string("NICKS", "nick2", global.name); break;}

case 3:{game_save(zapis[2]); ini_write_string("NICKS", "nick3", global.name); break;}

}

ini_close();

Pamiętaj o zadeklarowaniu tablicy "zapis" w create. Wczytywanie będzie wyglądać podobnie.

Odnośnik do komentarza
Udostępnij na innych stronach

Heh dziala, na poczatku dostalem oczaplasu ale juz kod zrozumialem, wczytywanie sam sobie zrobie, dzieki ^_^

tylko jedno pytanie co rozumiesz przez "zadeklarowanie tablicy 'zapis'"? dziala i bez tego, cokolwiek to znaczy

 

no i bardzo bylbym wdzieczny gdyby ktos moglby mi wyjasnic czemu wczytywanie w kodzie podanym przeze mnie nie dziala : *

Odnośnik do komentarza
Udostępnij na innych stronach

nie ma rozszerzenia, we wlasciwosciach widnieje typ:plik, nic wiecej, jak wrzuce do archiwum to tez widnieje tylko 'plik'

a jeszcze zeby nie zakladac nowego tematu, po co sa te znaczki ";" jesli dobrze z matmy pamietam to 1;7 znaczy od 1 do 7

Odnośnik do komentarza
Udostępnij na innych stronach

odswiezam :P kot troche zmienilem

 

load

 

if pressed=true

{

sound_play(sou_buttonin)

ini_open("Savefiles.ini")

save[0]=ini_read_string("Savefiles","Savefile 1","Savefile 1")

save[1]=ini_read_string("Savefiles","Savefile 2","Savefile 2")

save[2]=ini_read_string("Savefiles","Savefile 3","Savefile 3")

switch(show_message_ext("CHOOSE YOUR SAVE SPOT.",save[0],save[1],save[2]))

{

case 0:{break}

case 1:{game_load(save[0]) show_message("GAME LOADED!"); break}

case 2:{game_load(save[1]) show_message("GAME LOADED!"); break}

case 3:{game_load(save[2]) show_message("GAME LOADED!"); break}

}

ini_close()

}

 

save

 

if room=roo_game

{

switch(show_message_ext("WOULD YOU LIKE TO SAVE YOUR PROGRESS BEFORE LEAVING TO MAIN MENU?","YES","","NO"))

{

case 0:{break}

case 1:{

ini_open("Savefiles.ini")

if not ini_section_exists("Savefiles")

{

ini_write_string("Savefiles","Savefile 1","Savefile 1")

ini_write_string("Savefiles","Savefile 2","Savefile 2")

ini_write_string("Savefiles","Savefile 3","Savefile 3")

}

save[0]=ini_read_string("Savefiles","Savefile 1","Savefile 1")

save[1]=ini_read_string("Savefiles","Savefile 2","Savefile 2")

save[2]=ini_read_string("Savefiles","Savefile 3","Savefile 3")

switch(show_message_ext("CHOOSE YOUR SAVE SPOT.",save[0],save[1],save[2]))

{

case 0:{break}

case 1:{game_save(save[0]) ini_write_string("Savefiles","Savefile 1",global.name) break}

case 2:{game_save(save[1]) ini_write_string("Savefiles","Savefile 2",global.name) break}

case 3:{game_save(save[2]) ini_write_string("Savefiles","Savefile 3",global.name) break}

}

show_message("GAME SAVED!") room_goto(roo_menu) transition_kind=20 ini_close() break}

case 2:{break}

case 3:{room_goto(roo_menu) transition_kind=20 break}

}

}

else switch(show_message_ext("DO YOU REALLY WANT TO LEAVE?","YES","","NO"))

{

case 0:{break}

case 1:{game_end() break}

case 2:{break}

case 3:{break}

}

poprawione

ale nie dziala :( jakies rady?

Odnośnik do komentarza
Udostępnij na innych stronach

haha beka, znowu fail z mojej strony, zly kod dalem, zaraz uzupelnie co usunalem przypadkiem

 

if room=roo_game

{

switch(show_message_ext("WOULD YOU LIKE TO SAVE YOUR PROGRESS BEFORE LEAVING TO MAIN MENU?","YES","","NO"))

{

case 0:{break}

case 1:{

ini_open("Savefiles.ini")

if not ini_section_exists("Savefiles")

{

ini_write_string("Savefiles","Savefile 1","Savefile 1")

ini_write_string("Savefiles","Savefile 2","Savefile 2")

ini_write_string("Savefiles","Savefile 3","Savefile 3")

}

save[0]=ini_read_string("Savefiles","Savefile 1","Savefile 1")

save[1]=ini_read_string("Savefiles","Savefile 2","Savefile 2")

save[2]=ini_read_string("Savefiles","Savefile 3","Savefile 3")

switch(show_message_ext("CHOOSE YOUR SAVE SPOT.",save[0],save[1],save[2]))

{

case 0:{break}

case 1:{game_save(save[0]) ini_write_string("Savefiles","Savefile 1",global.name) break}

case 2:{game_save(save[1]) ini_write_string("Savefiles","Savefile 2",global.name) break}

case 3:{game_save(save[2]) ini_write_string("Savefiles","Savefile 3",global.name) break}

}

show_message("GAME SAVED!") room_goto(roo_menu) transition_kind=20 ini_close() break}

case 2:{break}

case 3:{room_goto(roo_menu) transition_kind=20 break}

}

}

else switch(show_message_ext("DO YOU REALLY WANT TO LEAVE?","YES","","NO"))

{

case 0:{break}

case 1:{game_end() break}

case 2:{break}

case 3:{break}

}

 

tak mialo byc i nie dziala :P

 

@edit

w ogóle teraz ja Cie poprawilem :D

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if room=roo_game

{

switch(show_message_ext("WOULD YOU LIKE TO SAVE YOUR PROGRESS BEFORE LEAVING TO MAIN MENU?","YES","","NO"))

{

case 0:{break}

case 1:{

ini_open("Savefiles.ini")

if not ini_section_exists("Savefiles")

{

ini_write_string("Savefiles","Savefile 1","Savefile 1")

ini_write_string("Savefiles","Savefile 2","Savefile 2")

ini_write_string("Savefiles","Savefile 3","Savefile 3")

}

save[0]=ini_read_string("Savefiles","Savefile 1","Savefile 1")

save[1]=ini_read_string("Savefiles","Savefile 2","Savefile 2")

save[2]=ini_read_string("Savefiles","Savefile 3","Savefile 3")

switch(show_message_ext("CHOOSE YOUR SAVE SPOT.",save[0],save[1],save[2]))

{

case 0:{break}

case 1:{game_save(global.name) ini_write_string("Savefiles","Savefile 1",global.name) break}

case 2:{game_save(global.name) ini_write_string("Savefiles","Savefile 2",global.name) break}

case 3:{game_save(global.name) ini_write_string("Savefiles","Savefile 3",global.name) break}

}

show_message("GAME SAVED!") room_goto(roo_menu) transition_kind=20 ini_close() break}

case 2:{break}

case 3:{room_goto(roo_menu) transition_kind=20 break}

}

}

else switch(show_message_ext("DO YOU REALLY WANT TO LEAVE?","YES","","NO"))

{

case 0:{break}

case 1:{game_end() break}

case 2:{break}

case 3:{break}

}

Albo, jeśli wolisz inaczej:

GML
if pressed=true

{

sound_play(sou_buttonin)

ini_open("Savefiles.ini")

save[0]=ini_read_string("Savefiles","Savefile 1","Savefile 1")

save[1]=ini_read_string("Savefiles","Savefile 2","Savefile 2")

save[2]=ini_read_string("Savefiles","Savefile 3","Savefile 3")

switch(show_message_ext("CHOOSE YOUR SAVE SPOT.",save[0],save[1],save[2]))

{

case 0:{break}

case 1:{game_load("Savefile 1") show_message("GAME LOADED!"); break}

case 2:{game_load("Savefile 1") show_message("GAME LOADED!"); break}

case 3:{game_load("Savefile 1") show_message("GAME LOADED!"); break}

}

ini_close()

}

Odnośnik do komentarza
Udostępnij na innych stronach

Daj to jako kod do odczytywania, musi działać.

GML
if pressed=true

{

sound_play(sou_buttonin)

ini_open("Savefiles.ini")

save[0]=ini_read_string("Savefiles","Savefile 1","Savefile 1")

save[1]=ini_read_string("Savefiles","Savefile 2","Savefile 2")

save[2]=ini_read_string("Savefiles","Savefile 3","Savefile 3")

switch(show_message_ext("CHOOSE YOUR SAVE SPOT.",save[0],save[1],save[2]))

{

case 0:{break}

case 1:{game_load("Savefile 1") show_message("GAME LOADED!"); break}

case 2:{game_load("Savefile 2") show_message("GAME LOADED!"); break}

case 3:{game_load("Savefile 3") show_message("GAME LOADED!"); break}

}

ini_close()

}

i to jako zapis:

GML
if room=roo_game

{

switch(show_message_ext("WOULD YOU LIKE TO SAVE YOUR PROGRESS BEFORE LEAVING TO MAIN MENU?","YES","","NO"))

{

case 0:{break}

case 1:{

ini_open("Savefiles.ini")

if not ini_section_exists("Savefiles")

{

ini_write_string("Savefiles","Savefile 1","Savefile 1")

ini_write_string("Savefiles","Savefile 2","Savefile 2")

ini_write_string("Savefiles","Savefile 3","Savefile 3")

}

save[0]=ini_read_string("Savefiles","Savefile 1","Savefile 1")

save[1]=ini_read_string("Savefiles","Savefile 2","Savefile 2")

save[2]=ini_read_string("Savefiles","Savefile 3","Savefile 3")

switch(show_message_ext("CHOOSE YOUR SAVE SPOT.",save[0],save[1],save[2]))

{

case 0:{break}

case 1:{game_save("Savefile 1") ini_write_string("Savefiles","Savefile 1",global.name) break}

case 2:{game_save("Savefile 2") ini_write_string("Savefiles","Savefile 2",global.name) break}

case 3:{game_save("Savefile 3") ini_write_string("Savefiles","Savefile 3",global.name) break}

}

show_message("GAME SAVED!") room_goto(roo_menu) transition_kind=20 ini_close() break}

case 2:{break}

case 3:{room_goto(roo_menu) transition_kind=20 break}

}

}

else switch(show_message_ext("DO YOU REALLY WANT TO LEAVE?","YES","","NO"))

{

case 0:{break}

case 1:{game_end() break}

case 2:{break}

case 3:{break}

}

Odnośnik do komentarza
Udostępnij na innych stronach

serio to nie działa :P jutro wkleje to do nowego projektu i sprawdze czy moze cos mi blokuje bo dzis juz padam

 

a co do tego jak mi nie dziala to daje load i wyskakuje message game loaded ale nic sie nie zmienia :P

czy to ze wczytuje z innego rooma ma jakies znaczenie?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...