
Utermiko
Użytkownicy-
Postów
796 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Utermiko
-
GML if distance_to_object(obj_wrog)<=6 && keyboard_check_pressed(vk_space) { obj_wrog.hp-=10; obj_bohater.image_speed=0.2;//z tym musisz popróbować, żeby była odpowiednia szybkość animacji, i pamiętaj, że max szybkość wynosi 1 więc musisz ułamkami } else {obj_bohater.image_speed=0;}
-
Da się, ale to już trzeba dodać do tego rysowanie dymka, tych wszystkich tekstów i sprawdzanie gdzie kliknąłeś(collision_rectangle).
-
Łap: https://gmclan.org/up8194_12_npc.html Chyba najprostszy jaki może być ^^
-
To funkcja mouse_wheel_down() oraz mouse_wheel_up Co do rozmowy z NPC, to postaram się zrobić Ci przykład :P
-
A no tak, racja :P Mogłeś napisać "jak sprawdzić czy linia między bohaterem a jakimś punktem jest wolna", bo każdy może pomyśleć o czym innym.
-
GML place_free(obj_gracz.x+10,obj_gracz.y) To są podstawy... BTW. Po co piszesz tutorial dla początkujących skoro o takiej rzeczy nie wiesz?
-
Wpisz w edytorze kodu place_ i pojawią się funkcje. Najodpowiedniejszą chyba będzie GML place_free(x,y)
-
Zapomniałeś chyba o argumentach pozycji bo ten pasek rysuje się zawsze w x=10, y=10 :P Zresztą podałem podobny, tylko twój bardziej rozbudowany^^ Ew. Jeśli rysujesz wszystko w draw'ie to zrób żeby mur się rysował jako pierwszy: GML draw_sprite(spr_mur,0,10,10); draw_text(10,10,'Mur'); A jeśli to jest obiekt, to tak jak powiedział karolo, daj mu mniejszy depth(głębokość)
-
Daj 1 :P To o obramowanie chodzi. Weź pod uwagę jeszcze, że na healthbarze GM'owym jest maksymalna wartość 100 :P
-
Jeśli nie wiesz jak to zrobić to daję skrypt niżej. Jeśli wolisz pokombinować sam to nie czytaj ^^ Zrob sobie skrypt, np draw_my_healthbar, wstaw poniższy kod do niego i używaj go gdzie potrzebujesz :P GML //argument0 - x1 //argument1 - y1 //argument2 - x2 //argument3 - y2 //argument4 - ilosc hp //argument5 - maksymalna ilosc hp draw_set_color(c_black); draw_rectangle(argument0,argument1,argument2,argument3,0); draw_set_color(c_green); draw_rectangle(argument0+1,argument1+1,argument2/argument5*argument4-1,argument3-1,0);
-
Heh, racja. Zawsze sądziłem, że pokazywało to tylko zmienną "health", a kuba2153 napisał: Więc można to zrobić tak: GML draw_healthbar(gracz.x-10,gracz.y-20,gracz.x+10,gracz.y-10,global.hp,c_red,c_green,0,1,1); Aczkolwiek jeśli to nie wystarcza, możesz popróbować ze zrobieniem własnego healthbara za pomocą draw_rectangle(...);
-
WSKAZÓWKA: Pokombinuj z draw_rectangle :) Gdyby nie udawało się to postaram się pomóc ;P Osiągnięcie czegoś samemu jest naprawdę fajne :D
-
Jeśli masz HUD na którym wyświetla się ilość HP i MP to po prostu w funkcjach rysowania dodajesz view_xview oraz view_yview. Przykład użycia: GML //DRAW draw_text(view_xview+20,view_yview+20,'HP: '+string(global.hp)); draw_text(view_xview+20,view_yview+40,'MP: '+string(global.mp));
-
Screen ;P Popróbuj coś z tym. Ustaw Port on Screen na szerokość viewa. Nie pamiętam dokładnie jak to działało, ale wiem, że z tym należy próbować ;P
-
Port pobieraj funkcją get_integer(); Argumenty takie same jak w get_string(); tylko, że zwraca liczbę. W sumie to będzie coś takiego: GML ip=get_string('Podaj ip','127.0.0.1'); port=get_integer('Podaj port',14084); server = tcpconnect(ip,port,2);
-
Wg. mnie to sugerowało, że chcesz sprawdzić każdy możliwy adres IP czy hostuje twoją grę. No cóż myliłem się :D Sądząc po reszcie postu wydawało mi się, że mówisz całkiem poważnie(choć wydawało się głupie)^^ @TOPIC To jest raczej najlepszy i najprostszy sposób :P Możesz dorobić ewentualnie listę "ulubionych" serwerów, aby nie trzeba było za każdym razem wpisywać IP :)
-
Jeśli jesteś w posiadaniu tak szybkiego łącza i tak pojemnego dysku to gratuluję. Wgl pobranie całego internetu nie jest możliwe:P Załóż bazę i jak ktoś tworzy serwer to niech dopisuje go do tej bazy, a klient tylko odczytuje ip serwerów z bazy. @EDIT Btw. Wystarczy skopiować cały post do notatnika i już nie masz przekreśleń :)
-
Ha! Już mam :P Po prostu postać cały czas wbijała się w przeszkodę bo było ustawione hspeed=6; Zamiast tego: GML hspeed=6 // bieg</span></span></span> Daj to: GML if place_free(x+6,y) {x+=6}; // bieg</span></span></span> Przy kolizji z blokiem GML move_contact_solid(270,4); vspeed=0; To najprostszy wg. mnie sposób :P @EDIT Masz jeszcze na szybko sklejony przykład: https://gmclan.org/up8194_12_testttttt.html
-
Kurde sory, fail z mojej strony ^^ Już wiem :P to: GML move_contact_solid(270,2) vspeed=0 Zamień na: GML move_contact_solid(270,4); vspeed=0; Krócej: Zamiast 2 wstaw 4 ^^ BTW. Stawiaj średniki na końcu. W GM'ie nie wymagane ale w innych językach tak, więc lepiej się przyzwyczajać :P
-
A maskę gracza ustawiałeś?
-
Game Maker Tutorial
Utermiko odpowiedział(a) na PolskiFrancuz temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
Tak przy okazji, radziłbym poczytać inne kursy, nie ważne jakiego języka, aby zobaczyć jak inni ludzie to piszą, żeby ktoś inny mógł to zrozumieć. -
Ustaw maskę przeszkody na prostokątną i upewnij się, że ma zaznaczone Solid.
-
Game Maker Tutorial
Utermiko odpowiedział(a) na PolskiFrancuz temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
To samo napisałem mu wcześniej :P -
No nie wiem czy słabo :P Szukałem opcją Znajdź, nie znalazło. Przeszukałem HKEY_CURRENT_USER/Software i HKEY_LOCAL_MACHINE/Software i nic nie znalazłem :P
-
Game Maker Tutorial
Utermiko odpowiedział(a) na PolskiFrancuz temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
To napisz, że może to być liczba lub zmienna, z dopiskiem: "wartość zmiennej MUSI BYĆ LICZBĄ". BTW. "All in one" jak coś :P @EDIT Błąd ;p (str. 12) GML if(kasa=>100) { batonik+=1; score-=100; }else { show_message('Nie masz kasy'); }; Jeśli masz tyle kasy to odejmij score? Zamiast "kasa" daj "score" albo na odwrót. Dalej operatory przypisania nie są oddzielone od operatorów warunkowych i logicznych. @EDIT 2 Nie napisałeś czym się różni zmienna lokalna od globalnej w odpowiednim rozdziale(jest dalej na samym końcu) oraz nie ma deklaracji zmiennej(całkiem nowi mogą nie wiedzieć)