Nie lubię takich skryptów jak ten którego używasz :P Dlatego napisałem własny:
Wszystko w scripts:
zapisz
//zapisz(nazwa_mapy);
//UWAGA!
//Wykonywac tylko 1 raz na 1 step!
//Nazwa pliku:
file_name = argument0;
zmienne_n = 0;
obiekty_n = 0;
//Lista obiektow do zapisania:
dadaj_obiekt('ob_gracz');
dadaj_obiekt('ob_przeciwnik');
dadaj_obiekt('ob_platforma');
dadaj_obiekt('ob_data');
//Lista zmiennych obiektow (wszystkich) do zapisania:
dodaj_zmienna('x',0);
dodaj_zmienna('y',0);
dodaj_zmienna('sprite_index',0);
dodaj_zmienna('image_index',0);
dodaj_zmienna('direction',0);
//Tylko dla obiektu 'ob_data':
dodaj_zmienna('skin','ob_data');
dodaj_zmienna('tlo','ob_data');
//Reszta Cie nie interesuje :P
instance_deactivate_all(1); instance_activate_all();
file_open_write(file_name);
for(n=0;n<instance_count;n+=1;)
{
i = instance_id[n];
if instance_exists(i)
{
for(a=0;a<obiekty_n;a+=1;)
{
if obiekty[a] = string(object_get_name(i.object_index))
{
file_write_string('['+string(object_get_name(i.object_index))+';');
for(b=0;b<zmienne_n;b+=1;)
{
dd=false;
if zmienne[b,1] != '0'
{
if zmienne[b,1] != string(object_get_name(i.object_index))
{
dd=true;
}
}
if dd=false
{
execute_string('val = i.'+string(zmienne[b,0])+';');
if is_string(val)
{
val = '"'+string(val)+'"';
}
file_write_string(string(zmienne[b,0])+';'+string(val)+';');
}
}
file_write_string(']');
break;
}
}
}
}
file_close();
dadaj_obiekt
//dadaj_obiekt(nazwa_obiektu);
obiekty[obiekty_n] = string(argument0);
obiekty_n += 1;
dodaj_zmienna
//dodaj_zmienna(nazwa_zmiennej,nazwa_obiektu);
zmienne[zmienne_n,0] = string(argument0);
zmienne[zmienne_n,1] = string(argument1);
zmienne_n += 1;
odczytaj
//odczytaj(nazwa_mapy);
//UWAGA!
//Wykonywac tylko 1 raz na 1 step!
//Uzywac tylko w pustym roomie :) Wiadomo dlaczego.
file_name = string(argument0);
file_open_read(file_name);
map_str = file_read_string();
file_close();
dt = string_count('[',map_str);
dt2 = string_count(']',map_str);
if dt != dt2
{
show_error('To nie plik mapy!',1);
exit;
}
repeat(dt)
{
temp = string_replace_all( string_replace_all( string_copy(map_str,0,string_pos(']',map_str)-1),'[',''),']','');
map_str = string_replace(map_str,'['+temp+']','')
obiekt=string_copy(temp,0,string_pos(';',temp)-1);
temp=string_replace(temp,obiekt+';','');
dt3 = string_count(';',temp)/2;
n = 0;
repeat(dt3)
{
zmienna[n] = string_copy(temp,0,string_pos(';',temp)-1);
temp = string_replace(temp,zmienna[n]+';','');
wartosc[n] = string_copy(temp,0,string_pos(';',temp)-1);
temp = string_replace(temp,wartosc[n]+';','');
n += 1;
}
execute_string('i=instance_create(0,0,'+obiekt+');');
n=0;
repeat(dt3)
{
execute_string('i.'+zmienna[n]+'='+wartosc[n]+';');
n+=1;
}
}
I tyle. Działa to trochę powoli ale sprawnie :) Liczę że pojawię się w creditsach jeśli wasze gry się ukażą ;)
EDIT
Jeszcze przykład:
https://gmclan.org/up152_11_mapa.html
Dodać na GMC? ;]