Tismas Opublikowano 16 Listopada 2011 Udostępnij Opublikowano 16 Listopada 2011 Witam Jeśli jakiś temat już był to proszę link do niego bo go nie znalazłem :) 1.Zrobiłem skilla i chcę żeby on odbierał hp wrogom tylko w zasięgu 150, a zamiast tego zabiera wszystkim jeśli jest jakikolwiek w tym zasięgu :( Mój Code: GML if distance_to_object(Enemy)<150{hp-=2} Jak go przerobić żeby zabierał hp wrogom w zasięgu 150? ! Done ! 2.Jak zrobić żeby postacie same chodziły na określonym obszarze?(Prawo,Lewo,Góra lub Dół co sekundę) 3.Jak zrobić menu w którym można będzię wybrać ilość przedmiotów do kupienia?(Jestem na etapie że jest sklep ale do wyboru tylko "Tak" i "Nie" :D 4.Czy da się zrobić klony chodzące za postacią i atakujące po kliknięciu na wroga, jeśli tak to w skrócie jak? 5.W gml jak napisać żeby dana czynność powtarzała się wolniej, np. co sekundę(chodzi mi w tym przypadku o zabieranie hp bo w sekundę po walce jest) ! Done ! 6.Jak zrobić żeby obok mapki było jakby oddzielne menu ze statami itd. Coś w ten deseń(Chodzi mi głownie o takie jakby dwa ekrany w jednym oknie: Pozdrawiam wszystkich forumowiczów :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 16 Listopada 2011 Udostępnij Opublikowano 16 Listopada 2011 1. w tym czarze with(Enemy){ if distance_to_object(other)<150 hp-=2 } 2.create speed=2 direction=random(360) step: if point_distance(x,y,xstart,ystart)>maksymalna odleglosc{ direction=random(360) x=xpreview y=ypreview } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 16 Listopada 2011 Autor Udostępnij Opublikowano 16 Listopada 2011 Co do pierwszego to wielkie dzieki :thumbsup: A co do drugiego to chodziło mi o coś takiego że co kilka sekund pójdzie w górę lub w dól :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 16 Listopada 2011 Udostępnij Opublikowano 16 Listopada 2011 to zrób, że GML (create) speed=2 direction=random(360) alarm[0]=irandom_range(30,120) GML (alarm0) speed=2 direction=random(360) alarm[0]=irandom_range(30,120) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 16 Listopada 2011 Udostępnij Opublikowano 16 Listopada 2011 5. Jeżeli dobrze zrozumiałem to można to zrobić alarmami: CREATE albo coś innego w czym ta czynność się zaczyna: GML alarm[0]=1*room_speed ALARM 0 GML //czynnosc alarm[0]=1*room_speed Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 17 Listopada 2011 Autor Udostępnij Opublikowano 17 Listopada 2011 @ Cordoba Teraz jest tak że chodzą i co jakiś czas skręcają tylko @ Arekadiusz Jak tak robię to nie zabiera im w ogóle życia i jeśli to ma jakieś znaczenie to czynność jest w Collision wifth Player Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 17 Listopada 2011 Udostępnij Opublikowano 17 Listopada 2011 A dodałeś do alarmu kod na odbieranie atak? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 17 Listopada 2011 Udostępnij Opublikowano 17 Listopada 2011 Co do pytania 6 to już nie będą dwie linijki kodu i wątpie, że ktoś Ci pomoże, jeśli pytasz jak ustawic alarm ;) ale w szóstym pomogą Ci draw_rectangle, draw_text i inne drawy :) 2:nie rozumiem chodziły co sekundę w określonym obszarze, ale :D create speed=2 direction=choose(0,90,180,270) // losujesz kierynek alarm[0]=room_speed // czyli sekunda alarm[0] direction=choose(0,90,180,270) // losujesz kierynek Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 17 Listopada 2011 Autor Udostępnij Opublikowano 17 Listopada 2011 @ediepl Tak, dodałem @karolo Chodzi o to żeby przeszedł przez odległość 32 pixeli, zatrzymał się, a po sekundzie poszedł w drugą stronę 32 pixele, ale nie wychodził za obszar 500 pixeli A co do 6 to głownie mi chodzi jak zrobić żeby ten ekran z mapką był obok, tak jakby oddzielnie od tych statystyk wszystkich ,ale w jednym oknie :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 17 Listopada 2011 Udostępnij Opublikowano 17 Listopada 2011 nie mów, że sam tego nie zrobisz. a wiec: create speed=32/room_speed // wtedy bodajrze przejdzie 32px w room_speed klatek :P direction=choose(0,90,180,270) alarm[0]=room_speed stoj=1 alarm0: if stoj=0{ direction=choose(0,90,180,270) speed=32/room_speed }else speed=0 alarm[0]=room_speed step: if point_distance(x,y,xstart,ystart)>500{ direction=point_direction(x,y,xstart,ystart)div 90*90 alarm[0]=room_speed } możecie mnie powyzywać za ten brzydki kod, ale późno jest ^ ^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 17 Listopada 2011 Autor Udostępnij Opublikowano 17 Listopada 2011 Przechodzi teraz tak jak chce, tylko że tylko raz i czynność się potem nie powtarza :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Listopada 2011 Udostępnij Opublikowano 18 Listopada 2011 Popraw w stepie ostatnią instrukcję na: if ( alarm[0] <= 0 ) alarm[0]=room_speed Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 18 Listopada 2011 Autor Udostępnij Opublikowano 18 Listopada 2011 Nadal nic, ale to nic, jakoś kiedyś dojdę do tego, bardzo bym prosił teraz o pomoc w zrobieniu tak żeby potworek zabierał mi życie co 2 sekundy, tak przerobić: GML global.hp-=100 które jest w collision with Player, żeby zabierało życie co 2 sekundy :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Listopada 2011 Udostępnij Opublikowano 18 Listopada 2011 GML (collision with player) dealDMG = true; alarm[0] = room_speed * 2; GML (alarm0) global.hp -= 100; if ( dealDMG == true ) alarm[0] = room_speed * 2; Będzie tak długo schodzić HP puki dealDMG się nie przełączy na false. To dorób sobie już sam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 18 Listopada 2011 Autor Udostępnij Opublikowano 18 Listopada 2011 Nie zabiera hp teraz,bo chyba global.hp-=100 powinno być w collision :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Listopada 2011 Udostępnij Opublikowano 18 Listopada 2011 a ten alarm[0] był wolny czy miałeś coś tam w nim? Bo jak tak to zmień na następny pusty alarm. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 18 Listopada 2011 Autor Udostępnij Opublikowano 18 Listopada 2011 Wolny :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Listopada 2011 Udostępnij Opublikowano 18 Listopada 2011 zmodyfikuj tego alarma na takie coś: GML global.hp -= 100; show_debug_message(string(global.hp)) if ( dealDMG == true ) alarm[0] = room_speed * 2; odpal grę w debug mode wejdź w tools> show messages i sprawdź czy liczby się pojawiają. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 18 Listopada 2011 Autor Udostępnij Opublikowano 18 Listopada 2011 Pojawiają się liczby 900 co 2 sekundy :) Ale hp nie ubywa :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 18 Listopada 2011 Udostępnij Opublikowano 18 Listopada 2011 Bo alarm się resetuje, powinno być: GML dealDMG = true; if alarm[0] <= -1 { alarm[0] = room_speed * 2; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Listopada 2011 Udostępnij Opublikowano 18 Listopada 2011 To znaczy że gdzieś ustawiasz hp na 1000, mój kod działa więc szukaj co może ci resetować hp. Może step tego obiektu to gdzieś robi? Edit: @up gdyby się resetował to żaden komunikat by mu nie wyskoczył ale fakt lepiej to tak zmodyfikowac. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 18 Listopada 2011 Autor Udostępnij Opublikowano 18 Listopada 2011 Zmodyfikowałem i teraz dostaje hity tylko jakoś nie regularnie :D, podchodzę, nic, biegam wokoło i co jakiś czas dostaje :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Listopada 2011 Udostępnij Opublikowano 18 Listopada 2011 No to skoro czas się niepoprawnie odlicza to znaczy że coś innego z zewnątrz modyfikuje ten alarm[0]. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 18 Listopada 2011 Autor Udostępnij Opublikowano 18 Listopada 2011 Tzn. nie tyle co czas, co jakby odległość od przeciwnika, bo jak stanę w odpowiednim miejscu które jakoś ciężko znaleźć to odbiera dobrze:D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Listopada 2011 Udostępnij Opublikowano 18 Listopada 2011 No to jest problem z kolizjami może sprit ma jakąś lichą maskę, może ma ustawione źle orginy? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 18 Listopada 2011 Autor Udostępnij Opublikowano 18 Listopada 2011 A nie, już się gapnąłem :D Jest tak że jak wychodzę z kolizji z wrogiem to po 2 sekundach od tego zabiera hp Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Listopada 2011 Udostępnij Opublikowano 18 Listopada 2011 Bo alarm się resetuje zrób to co edie dał. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 18 Listopada 2011 Autor Udostępnij Opublikowano 18 Listopada 2011 Mam tak w alarmie: GML global.hp-=100 dealDMG = true; if alarm[0] <= -1 { alarm[0] = room_speed * 2; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Listopada 2011 Udostępnij Opublikowano 18 Listopada 2011 To źle bo to nie miało być w alarmie tylko w colizji W ten sposób: GML (collision with player) dealDMG = true; if ( alarm[0] <= 0 ) alarm[0] = room_speed * 2; GML (alarm0) global.hp -= 100; if ( dealDMG == true ) alarm[0] = room_speed * 2; Przeczytaj ten artykuł https://gmclan.org/index.php?czytajart=51 ostatnia część tego artykułu porusza właśnie ten problem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tismas Opublikowano 18 Listopada 2011 Autor Udostępnij Opublikowano 18 Listopada 2011 Ok już działa, wielkie dzięki :) 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ę