Dawidox123 Opublikowano 17 Marca 2016 Udostępnij Opublikowano 17 Marca 2016 Witajcie! Zdecydowałem się powrócić do Game Makera, odzyskałem swoje konto no i zabrałem się do pracy nad w sumie pierwszą moją grą gdyż do dzisiaj żadnej nie skończyłem :P Mam kilka pytań otóż mam już trochę zrobione, mapy, bohatera, przeciwników i wiele wiele więcej, ale nadal są pytania na które nie znam odpowiedzi. 1. Najważniejsze pytanie otóż mam obiekt, który przy kolizji z graczem teleportuje nas do danego poziomu (room_goto(room1)). Jak zrobić żeby wszystkie zebrane przedmioty, mój stan życia i staminy nie ulegał resetowi ? Oczywiście cała mapa może a nawet powinna się resetować aby potwory,drzewa itp odradzały się. 2.Jak jesteśmy już przy teleportach jak zrobić aby postać pojawiała się w danym miejscu a kiedy wracamy pojawiała się we wcześniejszym a nie w startowym ? 3.Mam przeciwników, którzy mają hp=100 i przy kolizji z obj_dzida maja hp=-40 jednak i tak padają po 1 uderzeniu, jak to zmienić? Próbowałem już -= i =- ... :/ Jeżeli przypomnę sobie jeszcze o jakimś pytaniu bo miałem kilka to napiszę tutaj :) Dziękuje z góry i pozdrawiam !!! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 17 Marca 2016 Udostępnij Opublikowano 17 Marca 2016 1)Jest wiele sposobów. Najłatwiejszym będzie użycie zwykych globalnych. One się usuwają dopiero po wyłączeniu gry :) 2)Tutaj już musisz zapisywać pozycję. Gdy teleportujesz gracza na daną planszę, to musisz wtedy wyznaczać własnoręcznie w jakiej pozycji ma się pojawić. 3)Po kolizji nie niszczysz obiketu, ani nic, przez co cały czas ona się wykonuje. Albo niszcz dzidę przy kolizji z wrogiem od razu, albo dla wroga dorób zmienną, sprawdzającą czy oberwał. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Amaterasu Opublikowano 17 Marca 2016 Udostępnij Opublikowano 17 Marca 2016 1. Obiekty, które mają nie znikać po przejściu do kolejnego rooma, powinny mieć zaznaczoną opcję "permament". Wszystkie pozostałe obiekty ulegną zniszczeniu/usunięciu. 2. Zapisuj w zmiennej globalnej ten room, z którego przechodzisz do następnego. Potem, w zależności od tego, jaki jest ten zapisany room, ustawiaj pozycję postaci. Możesz to zrobić if-ami, inne sposoby są może lepsze, ale dłuższe do zapisania. 3. Niech x=100, y=40 x=-y spowoduje, że x=-40 x-=y spowoduje, że x=60 Problem u ciebie polega na tym, że kolizja obiektu z dzidą trwa dłużej niż 1 step, więc kod w kolizji (czyli hp-=40) wykonuje się w wiele razy. HP spada do zera w bardzo krótkim czasie. Aby to naprawić, musisz skorzystać ze zmiennej pomocniczej i timera. W Create obj_dzida: GML can_hit=1 //tworzy zmienna pomocnicza</span> W kolizji wroga z obj_dzida dodaj na początku: GML if(other.can_hit !=1) exit //dzida nie zada obrazen, jezeli niedawno zadawala obrazenia</span> a na końcu: GML other.can_hit=0 //zablokuj zadawanie obrazen dzidy other.alarm[0]=30 //ustaw timer dzidy</span> W Alarm 0 obiektu obj_dzida: GML can_hit=1 //gdy timer dojdzie do 0, dzida moze znowu zadac obrazenia</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidox123 Opublikowano 18 Marca 2016 Autor Udostępnij Opublikowano 18 Marca 2016 Dobra wroga już ogarnąłem teraz odejmuje każdemu wrogowi odpowiednią ilość życia. Co do pkt 1 Amateratsu to nie mogę dać ,,Persitent"(a nie permament ;p) bo mam ekwipunek w obj_GUI czyli po wciśnięciu klawisz I wyświetla mi np. Wood:4 Jeżeli zrobie to przy wood i zniszcze drzewo skąd to wypada to zostaje na mapie. Chodzi o to aby zmienne się nie resetowały. Co do pkt 2 rozumiem , że to wystarczy robić x i y ? Dzięki wam za odpowiedzi :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Amaterasu Opublikowano 18 Marca 2016 Udostępnij Opublikowano 18 Marca 2016 Zniszczenie obiektu pociąga za sobą usunięcie zmiennych i tablic w obiekcie. Zniszczeniem obiektu jest użycie instance_destroy() lub przejście do innego rooma, jeżeli obiekt nie ma zaznaczonego "persistent". Co powinieneś zrobić, to dać "persistent" ekwipunkowi, a drzewu - nie. Wtedy drzewo nie zostanie na mapie, a ekwipunek zostanie. Chyba że to jakoś inaczej wygląda, nie jestem pewien, może powinieneś trochę doprecyzować Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bboson Opublikowano 23 Marca 2016 Udostępnij Opublikowano 23 Marca 2016 Odpowiadając na Twoje pytania, to: Jest sporo różnych sposobów na to, żeby zebrane przedmioty itd. nie ulegały resetowi. Na pewno do tego dojdziesz sam w trakcje gry, więc spokojnie. Jak jesteś przy teleportach, to wcześniej przed kliknięciem teleport musisz zapisać obecną pozycję i ustalić, gdzie ma się pojawić po teleportacji. Na trzecie pytanie nie umiem Ci odpowiedzieć, bo jeszcze tego nie miałem okazji zmieniać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidox123 Opublikowano 28 Marca 2016 Autor Udostępnij Opublikowano 28 Marca 2016 Dzięki wam wszystkim za odpowiedzi :) Zapisanie zmiennej przed teleportem pomogło ! A co do zachowania itemów zostawię to na później :) 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ę