donway Opublikowano 23 Sierpnia 2009 Udostępnij Opublikowano 23 Sierpnia 2009 Mam trochę problemów do rozwiązania, a ponieważ jestem newbie, nie proszę tylko o rozwiązanie, ale także o podanie przyczyny problemu, bo chcę na przyszłość sam naprawić błąd, a nie za każdym razem odwiedzać forum. Problemy : p 1.Mam potworka o nazwie "Rat", gdy umieszczam ich kilka na mapce, i zabijam jednego to znikają wszystkie. 2.Za zabicie potworka dostaję np. 10 doświadczenia. I mam wpisane "if global.exp>10 then show_message('Awansujesz na poziom 2!'); Problem w tym, że gdy zamykam informację wyświetla się ona ponownie, cały czas. Wtf ? 3.Nie potrafię zrobić czegoś takiego, że : Mam okno "Plecak" ale gdy chodzę po mapce zostaję ono w jednym miejscu, a chciałbym by było ciągle "w tym samym miejscu na ekranie" tzn. chodziło za bohaterem : p 4.Mam sporo problemów z "Menu głównym" jakby ktoś umiał mi wytłumaczyć co i jak to bym prosił. Chodzi mi o: Menu z własnym tłem, full screen, własne opcję itp. Z góry thx za pomoc, nie śpieszcie się bo będę dopiero jutro rano : p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 23 Sierpnia 2009 Udostępnij Opublikowano 23 Sierpnia 2009 1. Do określenia HP potworka prawdopodobnie użyłeś zmiennej globalnej. Użyj lokalnej. 2. Nie dawaj tego do stepu ;) 3. view_xview i view_yview 4. Nie mam teraz czasu na pisanie całego menu, sorka. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pablo-GM Opublikowano 23 Sierpnia 2009 Udostępnij Opublikowano 23 Sierpnia 2009 4.Odsyłam Cię do działu , skrypty i przykłady tam kiedyś coś takiego było :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 23 Sierpnia 2009 Udostępnij Opublikowano 23 Sierpnia 2009 1.Mam potworka o nazwie "Rat", gdy umieszczam ich kilka na mapce, i zabijam jednego to znikają wszystkie. 1. Do określenia HP potworka prawdopodobnie użyłeś zmiennej globalnej. Użyj lokalnej. Lub uzywa zmiennej lokalnej ale hp odejmuje w innym obiekcie który adresując ustala zmienną lokalną we wszystkich robakach. Najlepiej adresować moby po ich id. 2.Za zabicie potworka dostaję np. 10 doświadczenia. I mam wpisane "if global.exp>10 then show_message('Awansujesz na poziom 2!'); Problem w tym, że gdy zamykam informację wyświetla się ona ponownie, cały czas. Wtf ? Tak jak powiedział Nobody, lub też tak : [step] GML if (maxexp<=exp) { show_message('lvl: '+string(lvl)); maxexp = exp*3 } Chociaz bez sensu jest sprawdzać to co step, radził bym ci to robić przy kazdym dodaniu expa tak aby gra była wydajniejsza. Mozesz operować tak na 1 zmiennej do wszytskich poziomow jakie bedziesz chciał wyświetlić. Pomyśl sam, nie ebde pisał wszytskiego za ciebie ;) . Praca domowa :P . 3.Nie potrafię zrobić czegoś takiego, że : Mam okno "Plecak" ale gdy chodzę po mapce zostaję ono w jednym miejscu, a chciałbym by było ciągle "w tym samym miejscu na ekranie" tzn. chodziło za bohaterem : p Wystarczy zmienna która bedzie sprawdzac czy przedmiot jest w plecaku, jesli warunek bedzie nieprawdziwy wystarczy zrobic tak: GML if !(warunek_ze_w_plecaku_jest_item) { x = view_xview[0] + iles; y = view_yview[0] + iles; } 4.Mam sporo problemów z "Menu głównym" jakby ktoś umiał mi wytłumaczyć co i jak to bym prosił. Chodzi mi o: Menu z własnym tłem, full screen, własne opcję itp. Poszukaj w dziale skrypty i przykłady tego, na pewno było. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Morro Opublikowano 24 Sierpnia 2009 Udostępnij Opublikowano 24 Sierpnia 2009 1. Pewnie niszczysz w obiekcie bohatera za pomocą klocka instance destroy i tam dajesz object rat i dlatego zdychają wszystkie. Wnioskuje, że robisz rpg więc w obiekcie szczura: GML //create hp=10 uderzony=0 //w kolizji z czymś co odpowiada za broń odejmującą hp (o ile bazujesz na hp) if uderzony=0 { hp-=1//tu możesz wstawić wartość np swojego dmga czyli global.dmgherosa alarm[0]=room_speed*czas_do_ponownego_ataku_w_sekundach } //alarm[0] uderzony=0 //step lub draw (draw wykonuje czynność 4 razy na 1 step) if hp<=0 instance_destroy() 2. Musisz mieć tak jak Hunter powiedział jakąś zmienną odpowiadającą za maksymalną ilość expa na dany lvl, bo twoje sprawdzanie robi się co step i co step stwierdza, że exp jest większy niż 10. Zrób jak hunter pisze. 3.Zakładam, że masz to na viewie więc muszisz rysować ekwipunek na nim: GML //w draw gdzie rysujesz plecak draw_sprite(sprite,sprite_index,view_xview[0]+ileśtam,view_yview[0]+ileśtam) 4.LINK :> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 24 Sierpnia 2009 Autor Udostępnij Opublikowano 24 Sierpnia 2009 Kurde. Z tego wszystkiego zadziałało tylko to żeby szczury nie znikały. Nobody miał rację : p Nie rozumiem czegoś takiego: GML if (maxexp<=exp) { show_message('lvl: '+string(lvl)); maxexp = exp*3 } a zaciekawiło mnie to, prosiłbym o wyjaśnienie : D Z tym plecakiem próbowałem wszystkiego i nie chce zadziałać =/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 24 Sierpnia 2009 Udostępnij Opublikowano 24 Sierpnia 2009 maxexp-to liczba potrzebna do zdobycia kolejnego lvla exp-aktualna liczba jeżeli exp jest równy bądź większy od liczby potrzebnej do osiagnięcia kolejnego lvla to wyswietla wiadomość że masz kolejny lvl i zwiększa liczbę maxexp. Ja bym to zrobił trochę inaczej: GML if (maxexp<=exp) { twojazmiennalvl+=1 show_message('lvl: '+string(twojazmiennalvl)); maxexp *=3 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 24 Sierpnia 2009 Udostępnij Opublikowano 24 Sierpnia 2009 lol nie możecie używać exp... zamiast exp daj jakąś inna nazwę zmiennej A wyświetla Ci sie wiadomość cały czas dlatego ze dałeś to w step, a to co jest w stepie wykonuje sie domyślnie 30x na sekundę i za każdym razem sprawdza czy doświadczenie jest większe niz 10 i ze za każdym razem mu wychodzi ze tak to za każdym razem wyświetla wiadomość ;p zrob to np tak: GML if( doswiadczenie >10 )and( poziom==1 ) { //wiadmosc itp poziom+=1 } oczywiście gdzieś w create musisz dac: poziom=1; Co do plecaka to musisz go ustawiac w zależnosci o viewa tak jak pisali poprzednicy. Zapewne ustawiales sobie viewy w opcjach rooma w zakladce view. Służy to do tego by nie wyświetlać calej planszy tylko wybranego fragmentu ustawiaj wiec plecka w odniesieniu do viewu. Teraz powiedz nam jak dziala twój plecak, bo nie można podać Ci żadnego kodu dopóki się nie dowiemy w jaki sposób wyświetlasz plecak^^ Morrwind: w twoim kodzie jest błąd^^ hp się będzie odejmować co stepa a nie co iles sekund ponieważ nie przestawiasz zmiennej uderzony ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 24 Sierpnia 2009 Udostępnij Opublikowano 24 Sierpnia 2009 exp() to funkcja. exp to zmienna. Widzisz różnicę? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 24 Sierpnia 2009 Autor Udostępnij Opublikowano 24 Sierpnia 2009 Danielus Dzięki za exp : p Plecak, mam go z przykładu tylko jakiego.... O mam "Skrypt plecaka z przedmiotami v1.1, © 2006 Piotr 'gnysek' Gnys dla gmclan.org" coś takiego. Miałem z nim sporo problemów, ale już wszystkie rozwiązałem prócz tego by chodził za ekranem. Nie mogę ustawić go w view w planszy, ponieważ mam już tam ustawione, żeby ekran podążał za bohaterem. Tak przy okazji, wie ktoś jak zrobić "pasek hp/mp" ? Nie tylko sobię ale i potworkom. : p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 24 Sierpnia 2009 Udostępnij Opublikowano 24 Sierpnia 2009 GML draw_rectangle(pozycjax,pozycjay,pozycjax+dlugoscpaska/maxzycia*zycieaktualne,pozycjay+wysokosc,0) Tak najprościej. Za te nazwy pozycjax itd. podstawiasz swoje wartości i zmienne. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 Pamiętaj aby używac własnych zmiennych do określania życia stworków, bo te wbudowane są globalne i każdy stworek miałby identyczne hp(znaczy jak trafisz jednego to oberwą wszystkie) Możesz dac link do tego przykładu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 25 Sierpnia 2009 Autor Udostępnij Opublikowano 25 Sierpnia 2009 Kurde, nie pamiętam skąd go ściągałem ;/, ale chętnie przyjme jakiś nowy plecak, oby działało :l Prócz tych problemów mam kolejne: 1. Mam pasek HP i MP i gdy wciskam klawisz F12 uzdrawia mi ileś tam hp i zabiera trochę mp. Ale, nie ma wyznaczonej maxhp i mp czyli ile może się maksymalnie ładować, gdy przekroczy pasek hp i mp ładuje się dalej, za paskiem. 2.Mam coś takiego, że co 1*room_speed ( jakoś tak : p) ładuje mi się 1hp i 1mp, tylko po 1. za szybko leci, jak zwolnic ? po 2.także wykracza poza pasek :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Morro Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 Musisz zrobić maxhp i maxmp bo będziesz się męczyć. Ja u siebie w Dark Rune miałem taki kod: GML draw_sprite_ext(s_mainbar,1,x,y,1,1,direction,c_white,1) var _x, _y; _x = 45; _y = 1932; draw_rectangle_color( _x, _y, _x + global.hp * ( dlugosc / global.max_hp ), _y + 6,c_dkgray,c_red,c_red,c_dkgray, false ); draw_rectangle_color( _x, _y, dlugosc+_x, _y + 6,c_dkgray,c_red,c_red,c_dkgray, true ); //w dlugosc wstaw jak dlugi ma byc pasek</span> 2. Zwiększ liczbę, przez którą mnożysz room_speed np. room_speed*5 (co 5 sekund) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 Co do wykraczania poza pasek, wystarczy zrobić proste ograniczenie. Jeśli hp/mp jest większe od maksymalnej liczby, to ustaw na maksymalną liczbę. Chyba dasz radę to sam skodować... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 25 Sierpnia 2009 Autor Udostępnij Opublikowano 25 Sierpnia 2009 if global.hp/global.mp>global.hpmax/global.mpmax then ... ? co mam dalej wpisać Assassin ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 ... global.hp/mp=gloabal.hp/mpmax Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 25 Sierpnia 2009 Autor Udostępnij Opublikowano 25 Sierpnia 2009 Thx wam. Ale mam ostatnią prośbę : p W jaki sposób mam zrobić najprostszy system walki + pokazywanie dmg + zwiększenie ataku wraz z poziomem postaci ? Do tej pory miałem tylko w colision z potwór hp-=ileś tam. Pls help : p I nadal nie mam tego plecaka, jak ktoś umie to też bym prosił : D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 O ... Zero logicznego myślenia ... Po co ty się za to bierzesz ? Do tego trzeba mieć "mózg" <_< . Radziłbym ci usunąć GM'a i żyć dalej. Nie każdy jest stworzony do programowania. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 25 Sierpnia 2009 Autor Udostępnij Opublikowano 25 Sierpnia 2009 Dzięki za rade, ale nie skorzystam, jakbyś potrafił czytać ze zrozumieniem, wyczytałbyś, że wszystkie problemy które wymieniłeś już zostały rozwiązane prócz plecaka. Skoro to tego trzeba mieć mózg to nie wiem jak cokolwiek na tym programie zrobiłeś. Każdy kiedyś zaczynał i prosił o pomoc, rady itp. Zresztą nie prosiłem o krytykę byle kogo tylko o pomoc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 To nie jest pomoc. Ty chcesz, żeby ktoś zrobił wszystko za ciebie. Takie pytania mógłby zadawać 8-10 latek... No chyba, że tyle masz, to sry. byle kogo Byle kogo ? Nawet nie wiesz kim jestem. A to, że napisałem dopiero 14 postów nic nie znaczy. Każdy kiedyś zaczynał i prosił o pomoc, rady itp. Tak. Ale nie o tak banalne rzeczy. Usiądź i pomyśl trochę sam. Problemy trzeba umieć rozwiązywać samemu. Inaczej nigdy się nie nauczysz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 nier wqiem czy plecak to taka banalna rzecz dla kogos kto dopiero zaczyna. Po za tym zauważ że on poprosil o wyjaśnienia a ludzie mu sypneli kodami, wiec nie rozumiem na jakiej podstawie sadzisz że on chce zebyśmy wszystko zrobili za niego... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 25 Sierpnia 2009 Autor Udostępnij Opublikowano 25 Sierpnia 2009 To nie jest pomoc. Ty chcesz, żeby ktoś zrobił wszystko za ciebie. Takie pytania mógłby zadawać 8-10 latek... No chyba, że tyle masz, to sry. Czy ja mówię, że chce aby ktoś zrobił wszystko za mnie ? Po prostu nie radze sobie z pewnymi rzeczami bo dopiero zaczynam, więc pytam... Byle kogo ? Nawet nie wiesz kim jestem. A to, że napisałem dopiero 14 postów nic nie znaczy. Nie wiem i nie chce wiedzieć, mam to gdzieś. Tak. Ale nie o tak banalne rzeczy. A skąd mam wiedzieć te "banalne rzeczy" jak nie od innych osób ? Usiądź i pomyśl trochę sam. Problemy trzeba umieć rozwiązywać samemu. Inaczej nigdy się nie nauczysz. Gdybym umiał rozwiązać te problemy sam, nie pisałbym tego tematu ... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 nie rozumiem na jakiej podstawie sadzisz że on chce zebyśmy wszystko zrobili za niego... Na takiej podstawie, że takie proste problemy rozwiązuje się samemu. O pomoc się prosi wtedy, gdy naprawdę po kilku godzinach nie jesteśmy w stanie NIC nowego wymyśleć. A skąd mam wiedzieć te "banalne rzeczy" jak nie od innych osób ? Trzeba się nauczyć. Jak z rysowaniem, trzeba ćwiczyć, żeby umieć. PRAKTYKA. mam to gdzieś. Wyrażaj się. No dobra... Żeby nie było, że potrafię tylko skrytykować potrzebującego. if global.hp/global.mp>global.hpmax/global.mpmax then ... Jeśli wstawiłeś znaki "/" i oba (hp,mp) w jednym obliczeniu, to będzie to działało źle. Pisząc "/", miałem na myśli "lub". Inaczej mówiąc, trzeba napisać obliczenie osobno do hp i mp. Będzie to wyglądać jakoś tak: GMLif global.hp > global.hpmax then global.hp = global.hpmax Tak samo z mp, wystarczy podmienić, ale to już chyba wiesz. Nie wiem po co operujesz tu globalami, ale nie ważne... prócz plecaka. Hm, przecież ktoś już to pisał ? x = view_xview[0] + iles; y = view_yview[0] + iles; View_x(y)view to pozycja okna na planszy (czyli miejsca, które widzimy). I teraz, żeby plecak się przesuwał, do jego x i y wystarczy dodać właśnie view_xview oraz view_yview (jak w cytacie). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 25 Sierpnia 2009 Autor Udostępnij Opublikowano 25 Sierpnia 2009 global.hp lepiej niż po prostu hp, bo gdzieś czytałem, że z "hp" są problemy typu jakieś kasowanie co przejście planszy czy coś, wolałem tego uniknąć. Ale skąd mam wiedzieć jakie x i y ? ?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 Jak to skąd ? To jest pozycja plecaka na ekranie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 25 Sierpnia 2009 Autor Udostępnij Opublikowano 25 Sierpnia 2009 Nie rozkminiam tego -.- Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 Ehhh... Masz ten plecak gdzieśtam w rogu ekranu. Jeśli w górnym lewym, wystarczy GML x = view_xview[0] y = view_yview[0] A jeśli nie, to do view_xview oraz view_yview dodajesz odpowiednie wartości. Wartości te będą odpowiedzialne za pozycję plecaka na ekranie. Np. GML x = view_xview[0] + 100 y = view_yview[0] + 50 To tylko przykład ! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 25 Sierpnia 2009 Autor Udostępnij Opublikowano 25 Sierpnia 2009 Nie działa =/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Morro Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 Ty to dopiero masz opory... nikt bardziej ci tego nie wytłumaczy! Chyba, że da się filmik to już będzie żałosne. 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ę