Skocz do zawartości

Utermiko

Użytkownicy
  • Postów

    796
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Utermiko

  1. 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;}
  2. Da się, ale to już trzeba dodać do tego rysowanie dymka, tych wszystkich tekstów i sprawdzanie gdzie kliknąłeś(collision_rectangle).
  3. Łap: https://gmclan.org/up8194_12_npc.html Chyba najprostszy jaki może być ^^
  4. To funkcja mouse_wheel_down() oraz mouse_wheel_up Co do rozmowy z NPC, to postaram się zrobić Ci przykład :P
  5. 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.
  6. 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?
  7. Wpisz w edytorze kodu place_ i pojawią się funkcje. Najodpowiedniejszą chyba będzie GML place_free(x,y)
  8. 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ść)
  9. Daj 1 :P To o obramowanie chodzi. Weź pod uwagę jeszcze, że na healthbarze GM'owym jest maksymalna wartość 100 :P
  10. 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);
  11. 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(...);
  12. 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
  13. 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));
  14. 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
  15. 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);
  16. 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 :)
  17. 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ń :)
  18. 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
  19. 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
  20. 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ć.
  21. Ustaw maskę przeszkody na prostokątną i upewnij się, że ma zaznaczone Solid.
  22. 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
  23. 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ć)
×
×
  • Dodaj nową pozycję...