kuba2153 Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 Mam problem, jestem kompletnym żółtodziobem w GM-ie i nie wiem jak zrobić, aby razem z przesuwaniem się kamery z bohaterem także przesuwała się liczba jego hp i mp. Ponieważ kiedy ide kamera się przesuwa a napis "hp: 100" i "mp: 100" zostaje tam gdzie był. Mógłby mi ktoś podać kod na to aby "szły" z kamerą? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 GML draw_text(gracz.x,gracz.y-32,'tekst') Będzie to rysowało tekst 32px nad graczem wędrując za nim. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 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)); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 12 Kwietnia 2012 Autor Udostępnij Opublikowano 12 Kwietnia 2012 Dzięki, a wpadłem na pomysł, żeby zrobić takie "hp" w pasku. Mógłbyś mi powiedzieć jak to zrobić? żeby ten pasek był nad graczem i żeby ubywał razem z ubytkiem życia (od razu mówię, że nie toleruję healthbarów :P) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 Chyba jest funkcja draw_healthbar. Klocek na pewno jest. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 Heh, racja. Zawsze sądziłem, że pokazywało to tylko zmienną "health", a kuba2153 napisał: (od razu mówię, że nie toleruję healthbarów ) 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(...); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 12 Kwietnia 2012 Autor Udostępnij Opublikowano 12 Kwietnia 2012 Hmm chyba skorzystam z tego healthbara ;P Ale i tak pokombinuję z Rectangle, zawsze lepiej wiedzieć więcej ;D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 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); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 12 Kwietnia 2012 Autor Udostępnij Opublikowano 12 Kwietnia 2012 Dzięki, a jeśli używam healthbara to co dać na końcu? Bo tam jest jeszcze ShowBorder i nie wiem co tam dać :/ (Nie rozumiem po prostu o co tam chodzi ;P) GML draw_healthbar(ziom.x-20,ziom.y-35,ziom.x+20,ziom.y-25,100,c_red,c_green,0,1,1,?) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 Daj 1 :P To o obramowanie chodzi. Weź pod uwagę jeszcze, że na healthbarze GM'owym jest maksymalna wartość 100 :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 12 Kwietnia 2012 Autor Udostępnij Opublikowano 12 Kwietnia 2012 Ok no to teraz tak, już wcześniej próbowałem z 1 ale jak dam tam cokolwiek to zamiast zielonego paska mam cały czarny :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 12 Kwietnia 2012 Autor Udostępnij Opublikowano 12 Kwietnia 2012 Ok już zrobione ;P Dałem innym skrypcik. GML action_draw_health(ziom.x-20,ziom.y-35, ziom.x+20, ziom.y-25, 0, "green to red"); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 12 Kwietnia 2012 Autor Udostępnij Opublikowano 12 Kwietnia 2012 A to teraz pytanie;P Jak zrobić żeby napis "mana:" był widoczny np. na murze. Bo normalnie mi się za niego chowa :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 rectanglowy: GML //argument 0 - wysokosc bara //argument 1 - szerokosc //argument 2 - zmienna //argument 3 - max zmienna(zeby obliczysz procenty) //argument 4 - kolor(c_*) draw_set_color(c_gray) //rysujemy tlo pod bara draw_rectangle(10,10,10+argument0,10+argument1,0)//ostatni arg - 1=sama ramka, 0=wypelniony draw_set_color(argument4) //rysujemy te kreche prawidlowa draw_rectangle(10,10,10+argument0,10+(argument1*argument2/argument3),1) //i teraz ramke draw_set_color(c_black) draw_rectangle(10,10,10+argument0,10+argument1,1)//ostatni arg - 1=sama ramka, 0=wypelniony</span></span> e:dupa, zapomnialem o x,y a nie chce mi sie poprawiac up:daj obiektowi rysujacemu mane mniejszy depth, np -1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 rectanglowy: GML //argument 0 - wysokosc bara //argument 1 - szerokosc //argument 2 - zmienna //argument 3 - max zmienna(zeby obliczysz procenty) //argument 4 - kolor(c_*) draw_set_color(c_gray) //rysujemy tlo pod bara draw_rectangle(10,10,10+argument0,10+argument1,0)//ostatni arg - 1=sama ramka, 0=wypelniony draw_set_color(argument4) //rysujemy te kreche prawidlowa draw_rectangle(10,10,10+argument0,10+(argument1*argument2/argument3),1) //i teraz ramke draw_set_color(c_black) draw_rectangle(10,10,10+argument0,10+argument1,1)//ostatni arg - 1=sama ramka, 0=wypelniony</span> 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^^ A to teraz pytanie;P Jak zrobić żeby napis "mana:" był widoczny np. na murze. Bo normalnie mi się za niego chowa :/ 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ść) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 12 Kwietnia 2012 Autor Udostępnij Opublikowano 12 Kwietnia 2012 Ok wszystko mam, ale mam znów pytanie. Otóż nie mam pojęcia, jak zrobić aby po przewinięciu scrollu myszki, obrazek jakiej magii sie aktualnie używa, pokazany w górnym rogu, zmienił się i żeby zmienił się także owy skill. ;D Zaznaczam, że mam użycie skilla na PPM. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 12 Kwietnia 2012 Udostępnij Opublikowano 12 Kwietnia 2012 a wiec, robisz sobie tablice 2wymiarowa: GML czar[0,0]='kula ognia' //nazwa czar[0,1]=sprite_kula_ognia//sprite czar[1,0]='costam' //nazwa czar[1,1]=sprite_costam//sprite czar[2,0]='costam' //nazwa czar[2,1]=sprite_costam//sprite czar[3,0]='costam' //nazwa czar[3,1]=sprite_costam//sprite czar[4,0]='costam' //nazwa czar[4,1]=sprite_costam//sprite itd czary=4//ilsoc czarow-1 czar_teraz=1//aktualny czar</span> (to w create) (teraz step) GML sprawdzasz, czy byl uzyty skrol w myszce(jakas funkcja od tego jest, nie kojarze;x): if(mouse_check_button(mb_scroll_up)){//ta linijka powinna wywalic blad :D if(czar_teraz<czary) czar_teraz+=1 else czar_teraz=0 } if(mouse_check_button(mb_scroll_down)){//ta tez if(czar_teraz>0) czar_teraz-=1 else czar_teraz=czary-1 } i teraz draw: GML draw_sprite(czar[czar_teraz,1],0,view_xview+5,view_yview+5) draw_text(view_xview+70,view_yview+5,czar[czar_teraz,0]) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 13 Kwietnia 2012 Autor Udostępnij Opublikowano 13 Kwietnia 2012 Dzięki wielkie działa ^^. A moglibyście mi jeszcze powiedzieć, jak zrobić rozmowę z NPC? Chodzi mi o to żeby można było wybrać odpowiedź np. (Ehh co ja bym bez was zrobił xDD) Ehh wszystko było dobrze, ale jak dałem jeszcze drawa, czarów to mi wywala błąd, o nieznanej zmiennej (magia) Próbowałem trochę pozmieniać ale ciągle to samo :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 13 Kwietnia 2012 Udostępnij Opublikowano 13 Kwietnia 2012 sprawdzasz, czy byl uzyty skrol w myszce(jakas funkcja od tego jest, nie kojarze;x) To funkcja mouse_wheel_down() oraz mouse_wheel_up Co do rozmowy z NPC, to postaram się zrobić Ci przykład :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 13 Kwietnia 2012 Autor Udostępnij Opublikowano 13 Kwietnia 2012 Ok dzięki, czekam niecierpliwie ^^. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 13 Kwietnia 2012 Udostępnij Opublikowano 13 Kwietnia 2012 Łap: https://gmclan.org/up8194_12_npc.html Chyba najprostszy jaki może być ^^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 13 Kwietnia 2012 Autor Udostępnij Opublikowano 13 Kwietnia 2012 Nie no super, wielkie dzięki ;) A da się jakoś zmienić panel rozmowy? Np. na dymek czy coś innego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 13 Kwietnia 2012 Udostępnij Opublikowano 13 Kwietnia 2012 Da się, ale to już trzeba dodać do tego rysowanie dymka, tych wszystkich tekstów i sprawdzanie gdzie kliknąłeś(collision_rectangle). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 13 Kwietnia 2012 Autor Udostępnij Opublikowano 13 Kwietnia 2012 Aha to póki co to mi wystarczy :D . Jeśli możesz, podałbyś mi przykład jak zrobić, aby bohater atakował "wręcz", mieczem czy innom bronią białą. Nie wiem po prostu jak zrobić żeby zadawał obrażenia przeciwnikowi jeśli, dystans dzielący ich nie wynosi wiecej niz 6 pix.(Ale żeby przy ataku się aktywowała animacja) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 13 Kwietnia 2012 Udostępnij Opublikowano 13 Kwietnia 2012 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;} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 13 Kwietnia 2012 Autor Udostępnij Opublikowano 13 Kwietnia 2012 Dzięki, okazało się to bardzo proste, że o tym nie pomyślałem :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 13 Kwietnia 2012 Autor Udostępnij Opublikowano 13 Kwietnia 2012 Hmm, a napisałbyś mi, jak zrobić żeby zmieniał się sprite animacji chodzenia ? Jaki ma być skrypt (I gdzie), żeby animacja zmieniła się na chód w lewo itd.? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 13 Kwietnia 2012 Udostępnij Opublikowano 13 Kwietnia 2012 Musisz zrobić 2 sprity. spr_lew i spr_prawo wraz z animacją. w evencie keyboard left pressed GML sprite_index=spr_lewa; image_speed=0.2; w evencie keyboard left released GML sprite_index=spr_lewa; image_speed=0; image_index=0; To samo dla prawej strony. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kuba2153 Opublikowano 13 Kwietnia 2012 Autor Udostępnij Opublikowano 13 Kwietnia 2012 Aha ok. A można to jakoś napisać w samym stepie? I mógłbyś mi wytłumaczyć czemu mam taki błąd jak zrobiłem sobie ekwipunek. ___________________________________________ ERROR in action number 1 of Draw Event for object o_plecak: Error in code at line 3: if (global.inventory[1,36] <> noone) {draw_sprite(global.inventory[1,4],global.inventory[1,4],view_xview[0]+920+24+(3 2*0),view_yview[0]+431+31+(32*0));} ^ at position 13: Unknown variable inventory or array index out of bounds ___________________________________________ 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ę