-
Postów
5 841 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
5
Aktywność reputacji
-
-
Tymon otrzymał(a) reputację od I am Lord w Edytor plansz
Raczej naiwna implementacja serializacji obiektów.
-
Tymon otrzymał(a) reputację od gnysek w Edytor plansz
Raczej naiwna implementacja serializacji obiektów.
-
Tymon otrzymał(a) reputację od alkapivo w Edytor plansz
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? ;]
-
Tymon otrzymał(a) reputację od HamsterMan w Edytor plansz
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? ;]
-
Tymon przyznał(a) reputację dla Borek w Almora Darkosen
Hej!
Jakby ktoś był zainteresowany, to wczoraj wyszła wersja Almory na iOS
Link do pobrania: Almora Darkosen ( App Store )
Do zrobienia/poprawienia jeszcze zostało kilka rzeczy:
- Apple Game Center -> CloudSave ( obecnie jest tylko na Androidzie )
- Problem z "notchem", który zasłania trochę ikonki na niektórych modelach telefonów.
Uwagi i sugestie mile widziane. iOS to mój debiut i pomimo tygodniowych testów przez różne osoby na różnych urządzeniach i tak wyszło kilka błędów technicznych.
Mimo wszystko gra działa i nie powinno być większych problemów
Dzięki i pozdrawiam!
-
Tymon przyznał(a) reputację dla Ranmus w 15 lat GMCLANu - świętujemy ?
Mówisz o innej stronie, nie o GMCLANIE. Nie pamiętam jak się nazywała.
-
-
Tymon otrzymał(a) reputację od owyn w 15 lat GMCLANu - świętujemy ?
Tzn. co? Bo widzę, że niezależnie od miasta należy załatwić te same rzeczy.
A tak BTW, GMCLAN z tego co wiem zrodził się w Świdniku. Jedziemy do Świdnika?
-
Tymon otrzymał(a) reputację od gnysek w 15 lat GMCLANu - świętujemy ?
Tzn. co? Bo widzę, że niezależnie od miasta należy załatwić te same rzeczy.
A tak BTW, GMCLAN z tego co wiem zrodził się w Świdniku. Jedziemy do Świdnika?
-
Tymon otrzymał(a) reputację od gnysek w Zmiany kadrowe
Cieszy mnie ta mobilizacja. Z entuzjazmem będę was podglądał jak zawsze.
-
Tymon otrzymał(a) reputację od I am vader w Zmiany kadrowe
Cieszy mnie ta mobilizacja. Z entuzjazmem będę was podglądał jak zawsze.
-
Tymon przyznał(a) reputację dla Ranmus w Zmiany kadrowe
Dnia dzisiejszego, po ponad prawie 16 latach piastowania tej funkcji, postanowiłem ostatecznie pożegnać się ze stanowiskiem głównego administratora. Od dzisiaj do grona adminów powrócił Gnysek i razem z Uzjelem będą prowadzić serwis. Formalne prawa własności prawdopodobnie także przekażę Gnyskowi, gdyż to on będzie ponosić koszta techniczne związane z utrzymaniem serwisu. A ja? Cóż, póki co pozostaję technicznie jednym z adminów i ta ranga, na rzecz zwykłego użytkownika, zostanie mi zniesiona za jakiś czas.
Nowej ekipie życzę wytrwałości w tworzeniu serwisu. Wytrwałości, której niestety zabrakło mi w okresie zeszłych kilku lat.
Dziękuję wszystkim użytkownikom za wspólnie spędzone chwile i gratuluję cierpliwości w użeraniu się ze mną. :) O gmclanie nie zapominam i mam zamiar służyć pomocą i dobrą radą, a jak mi starczy czasu, to może jeszcze z Wami posiedzę.
Szczególne podziękowania składam zaś użytkownikowi @new_user za ten nostalgiczny wpis w shoutboxie, który dał mi tchnienie by jeszcze raz coś z tym zrobić oraz uświadomił, że pora ustąpić miejsca.
ps. Spokojnie, strona portalu wróci zapewne na dniach, gdyż sprzężenie z nowym forum nie jest trudne, ale trzeba jeszcze trochę prac konserwacyjnych przeprowadzić.
Jeszcze raz dzięki!
-
Tymon otrzymał(a) reputację od Uzjel w Zmiany kadrowe
Cieszy mnie ta mobilizacja. Z entuzjazmem będę was podglądał jak zawsze.