Skocz do zawartości

Odczyt ds_list z pliku i błąd struktury danych


TO_mek

Rekomendowane odpowiedzi

Witam!

Mam taki błąd przy ładowaniu danych za pomocą poniższych skryptów:

 

ERROR in

action number 1

of Key Press Event for L-key Key

for object hero_obj:

 

Data structure with index does not exist.

 

 

Save pod klawiszem "S"

GML
var _duchy;

_duchy:=ds_list_create();

 

with (duch_obj) {

ds_list_add(_duchy, x);

ds_list_add(_duchy, y);

ds_list_add(_duchy, energia);

ds_list_add(_duchy, energia_max);

ds_list_add(_duchy, uciekac);

ds_list_add(_duchy, panika);

ds_list_add(_duchy, pietro);

ds_list_add(_duchy, swiatlosc);

}

 

var _duchy_lista;

_duchy_lista:=ds_list_write(_duchy);

 

var gdzie;

gdzie = get_save_filename('zapisy|*.sav','zapis.sav');

if gdzie != '' then {

if file_exists(gdzie) then file_copy(gdzie,"zapis_old.sav");

file_open_write(gdzie);

file_write_string(_duchy_lista);

file_close();

}

 

show_message(string(ds_list_size(_duchy) div 8));

ds_list_destroy(_duchy);

 

Odczyt na klawiszu "L"

GML
var _duchy_lista;

_duchy_lista:='';

 

var _duchy;

_duchy:=ds_list_create();

 

var gdzie;

gdzie = get_open_filename('zapisy|*.sav','zapis.sav');

if gdzie != '' then {

if file_exists(gdzie) then {

file_open_read(gdzie);

_duchy_lista:=file_read_string();

file_readln();

ds_grid_read(_duchy,_duchy_lista); //W TEJ LINII POJAWIA SIE BLAD

show_message('4');

file_close();

}

}

 

show_message(_duchy_lista); //POKAZUJE ZAWARTOSC STRINGA Z LISTA - PRZYNAJMNIEJ POCZATEK LISTY ZGADZA SIE Z TYM CO JEST W PLIKU

with (duch_obj) {

instance_destroy(); //niszczy wszystkie obecne duchy

}

 

var _duch;

_duch:=0;

 

for (i=0; i< (ds_list_size(_duchy) div 8); i+=1) {// div 8 bo jest 8 wartosci dla kazdego ducha

_duch:=instance_create(x+100,y,duch_obj);

_duch.x:=ds_list_find_value(_duchy, 0+(i*8))

_duch.y:=ds_list_find_value(_duchy, 1+(i*8))

_duch.energia:=ds_list_find_value(_duchy, 2+(i*8))

_duch.energia_max:=ds_list_find_value(_duchy, 3+(i*8))

_duch.uciekac:=ds_list_find_value(_duchy, 4+(i*8))

_duch.panika:=ds_list_find_value(_duchy, 5+(i*8))

_duch.pietro:=ds_list_find_value(_duchy, 6+(i*8))

_duch.swiatlosc:=ds_list_find_value(_duchy, 7+(i*8))

}

 

Podpowie ktoś co sknociłem?

Odnośnik do komentarza
Udostępnij na innych stronach

A gdzie tworzysz siatkę? Tzn grid?

 

 

Właśnie mnie też przed chwilką olśniło. Robiłem to na podstawie mojego innego skryptu gdzie zapisywałem i odczytywałem GRIDa a nie LISTe i wdarł mi się błąd bo zapisywałem owszem listę ale odczytać chciałem grida :(

 

Kocham czeskie błędy.

 

W sumie temat do skasowania.

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ę...