Matyxon Opublikowano 6 Września 2009 Udostępnij Opublikowano 6 Września 2009 GML var Numb; Numb = string_char_at(room_last,3) Room = string_insert(string(Numb)+string(1),"r_",3) Roomy zwą się po kolei r_1, r_2, r_3 itd. Miało to działać coś jak room_goto_next(), ale nie działa. Powinno po przejściu do innego romu z r_1 następny powinien być r_2 ale niestety jest wcześniejszy czyli r_1. Jakieś pomysły? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 6 Września 2009 Udostępnij Opublikowano 6 Września 2009 No wiec po pierwsze: Jeśli chodziło ci o poprzedni room to nie room_last tylko room_previous(room) room_last to jest ostatni room Po drugie: room_previous(room) nie zwróci ci nazwy roomu tylko jego numer (id) Żeby uzyskać nazwę musisz użyć room_get_name(); Czyli: GML Numb = string_char_at(room_get_name(room_previous(room)),3) Teraz tak: string(Numb)+string(1) To nie zwróci ci wartości Numb zwiększonej o 1. To zwróci stringa będącego połączeniem Numb i jedynki. Czyli jeśli Numb = 2 to string(Numb)+string(1) zwróci ci 21 Musisz zrobić tak: GML string(real(Numb)+1) Teraz więc: GML Room = string_insert(string(real(Numb)+1),"r_",3) Jeśli byliśmy w r_2 to to do zmiennej Room przypisze wartość "r_3" Ale nie możemy rozkazać pójść do tego pokoju w taki sposób: room_goto(Room); Ponieważ room_goto potrzebuje identyfikatora roomu, a nie jego nazwy A teraz poczekaj bo muszę zajrzeć do helpa GMa czy da się uzyskać id mając nazwę. EDIT: Pomyłka. Nie room_last tylko room_previous EDIT2: Jeśli koniecznie chcesz to robić w ten sposób to ja niestety nie widzę innego rozwiązania niż użyć: GML execute_string("room_goto("+Room+")"); Czyli cały kod: GML Numb = string_char_at(room_get_name(room_previous(room)),3) Room = string_insert(string(real(Numb)+1),"r_",3) execute_string("room_goto("+Room+")"); Chociaż ja na twoim miejscu to bym stablicował te wszystkie roomy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 6 Września 2009 Udostępnij Opublikowano 6 Września 2009 ja bym zapisał indexy roomów do ds_stacka i z tego je pokolei odczytywał Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 6 Września 2009 Udostępnij Opublikowano 6 Września 2009 HuderLord napisałbyś jaśniej ? pls Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 6 Września 2009 Udostępnij Opublikowano 6 Września 2009 No stablicuj je po prostu. roomek[1]=r_1; roomek[2]=r_2; roomek[3]=r_3; I tak dalej... A potem po prostu odwołuj się do tych komórek : ) Zrób sobie jakaś zmienną index określającą na którym levelu jesteś i następny room to będzie wtedy po prostu roomek[index+1] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matyxon Opublikowano 6 Września 2009 Autor Udostępnij Opublikowano 6 Września 2009 Wszystko ok, ale chyba room_previus sprawdza tylko w ułożeniu w gmie a mi chodziło o ostatni odpalony room. Spróbuje z tablicami, dzięki ; D E: Żeby było jaśniej ; P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 6 Września 2009 Udostępnij Opublikowano 6 Września 2009 Dla donway przykład użycia stosów: GML roomy=ds_stack_create(); //tworzenie stosu roomów //wkładamy roomy ds_stack_push(roomy,r_1); ds_stack_push(roomy,r_2); ds_stack_push(roomy,r_3); ds_stack_push(roomy,r_4); ds_stack_push(roomy,r_5); room_goto(ds_stack_pop(roomy)); //wczytujemy następnego rooma (wczytany room usuwa się ze stosu dzięki temu działa to jak room_goto_next();)</span></span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 6 Września 2009 Udostępnij Opublikowano 6 Września 2009 To przed wyjściem z tego ostatniego odpalonego zapisuj go do jakiejś globalnej. Chociaż ja i tak polecam stablicować. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matyxon Opublikowano 6 Września 2009 Autor Udostępnij Opublikowano 6 Września 2009 Działa, dzięki ^^ To z tablicami Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę