Niety Opublikowano 31 Stycznia 2012 Udostępnij Opublikowano 31 Stycznia 2012 Mam nowy problem:chciałbym wiedzieć: Co trzeba zrobić żeby wróg strzelał pojedyńczo np co 2 sekundy a nie całym strumieniem, co trzeba zrobić żeby strzelał dopiero z pewnej odległości i jak zrobić żeby odejmował mi 5hp za każdy strzał próbowałem komendy: health-=5 ale wyskakuje mi takie coś: ___________________________________________ ERROR in action number 1 of Collision Event with object pociske for object player: Error in code at line 1: hp-=5 ^ at position 1: Unknown variable hp PROSZĘ O SZYBKĄ I PRECYZYJNĄ ODPOWIEDŹ,JESZCZE RAZ SORY ZA NOWY TEMAT ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Skowron1993 Opublikowano 31 Stycznia 2012 Udostępnij Opublikowano 31 Stycznia 2012 Mam nowy problem:chciałbym wiedzieć: Co trzeba zrobić żeby wróg strzelał pojedyńczo np co 2 sekundy a nie całym strumieniem, co trzeba zrobić żeby strzelał dopiero z pewnej odległości i jak zrobić żeby odejmował mi 5hp za każdy strzał próbowałem komendy: health-=5 ale wyskakuje mi takie coś: ___________________________________________ ERROR in action number 1 of Collision Event with object pociske for object player: Error in code at line 1: hp-=5 ^ at position 1: Unknown variable hp PROSZĘ O SZYBKĄ I PRECYZYJNĄ ODPOWIEDŹ,JESZCZE RAZ SORY ZA NOWY TEMAT ;p Hehe, widzę kolega nowy ^.^ Witam więc. Widzę też że kolega nie umie czytać :) Panie kolego, może zamiast "hp", dałby kolega "health" w kolizji? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 31 Stycznia 2012 Udostępnij Opublikowano 31 Stycznia 2012 Witam nowego pana :) at position 1: Unknown variable hp Język angielski chłopie, język angielski. Nieznana jest zmienna hp. Zdefiniowałeś ją w Create? No i tu w poście piszesz, że jest "health-=5" a z errora wyraźnie widzę, że chodzi o zmienną "hp". Co trzeba zrobić żeby wróg strzelał pojedyńczo np co 2 sekundy a nie całym strumieniem W obiekcie przeciwnika dajesz : w Create GML strzela=0 // definiujesz zmienną świadczącą o tym, czy obiekt strzela. Odpowiednio : 0 - jeśli nie strzela, 1 - jeśli strzela</span></span></span></span></span> w Step GML if distance_to_object(nazwa_obiektu_gracza) < twoja_odległość and strzela=0 /* jeśli dystans do obiektu nazwa_obiektu_gracza wynosi mniej niż twoja_odległość i obiekt nie strzela */ { instance_create(x,y,pocisk) // obiekt tworzy pocisk obok siebie strzela=1 // ustawia zmienną strzela na 1, co oznacza, że jest w trakcie strzelania alarm[0]=2*room_speed // ustawia alarm 0 na czas około 2 sekund } w Alarm 0 GML strzela=0 // a przy wykonaniu alarmu 0 przestaje strzelać</span></span></span></span></span> odejmował mi 5hp za każdy strzał W Create ustaw początkową ilość żyć, energii czy co tam chcesz, oczywiście w taki sposób, aby to dobrze działało. Na przykład, jeśli chcesz, żeby ilość żyć reprezentowała zmienna hp, to w Create dajesz kod GML hp=10 // definiujemy zmienną hp, która ustala, że mamy 10 żyć</span></span></span></span></span> a w kolizji z obiektem "pocisk" albo czymkolwiek, czym strzela wróg GML hp-=5 // odejmujemy 5 hp</span></span></span></span></span> no i w step (to już opcjonalnie, zależy od tego, jaką chcesz mieć reakcję na brak żyć) GML if hp<=0 // jeśli nie mamy już żyć { show_message('Aleś waleczny! Przegrałeś!') // pokazujemy wiadomość, której treść widzisz w apostrofach game_end() // i wyłączamy grę } E: trochę spóźniony ;/ E2: dobra Karolku, niech Ci będzie - czeindżuję kod na wypadek, gdyby chciał sobie zmienić wartość obrażeń. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 31 Stycznia 2012 Udostępnij Opublikowano 31 Stycznia 2012 Bedziom, if hp<=0, zmienna jest nie potrzebna i masz blad w ifie :D if distance_to_object(nazwa_obiektu_gracza) < twoja_odległość and alarm[0]=-1 w evencie alarmu musi byc cokolwiek, nawet komentarz Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 31 Stycznia 2012 Udostępnij Opublikowano 31 Stycznia 2012 Bedziom, if hp<=0 Czemuż? Przecież jak 2 razy oberwiemy, to hp będzie równe 0 i zadziała to, cożem napisał w Stepie :) Chyba, że czegoś nie wiem o moim kodzie, jak tak, to poprawię, a przy okazji się dowiem czegoś nowego : D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 31 Stycznia 2012 Udostępnij Opublikowano 31 Stycznia 2012 ale jak oberwie 4, albo coś to potem bedzie, ze nie dziala :P E: nie chce spamowac, czy cos: jesli pocisk zada 4 obrazen Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 31 Stycznia 2012 Udostępnij Opublikowano 31 Stycznia 2012 Karolku, przecież nie tworzy się seria pocisków, tylko jeden co 2*room_speed :) zmienna jest nie potrzebna i masz blad w ifie :D if distance_to_object(nazwa_obiektu_gracza) < twoja_odległość and alarm[0]=-1 w evencie alarmu musi byc cokolwiek, nawet komentarz Serio? : O Ja zawsze robię tak, jak podałem, i efekt jest taki, jak chcę, więc myślałem, że dobrze jest :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 31 Stycznia 2012 Udostępnij Opublikowano 31 Stycznia 2012 no jest dobrze, ale chcialem byc fajny i podrzec sie na optymalizacje :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bedziom Opublikowano 31 Stycznia 2012 Udostępnij Opublikowano 31 Stycznia 2012 Nikczemnik. Ale dobra, wracam do problemu i radzę - Niety, poczytaj najpierw troszkę dokumentacji albo chociaż forum, dobrze? To, o co zapytałeś, jest kompletną podstawą, a na problem ze zmienną porwę się z określeniem "ignorancja", bo nawet nie chciało Ci się sprawdzić co oznacza treść errora. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Niety Opublikowano 1 Lutego 2012 Autor Udostępnij Opublikowano 1 Lutego 2012 Taa tylko jaka jest ta zmienna świadcząca że objekt nie strzela... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 1 Lutego 2012 Udostępnij Opublikowano 1 Lutego 2012 ? no w create ja definiujesz: strzela=0 a potem w step sprawdzasz, czy jest na zero, jesli tak to strzelasz i ustawiasz ja na 1 i ustawiasz tez alarm na 2 sekundy(i juz w nastepnej klatce nie strzelasz, bo jest na 1). za 2 sekundy, alarm sie wykonuje i wrog znowu strzela... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Niety Opublikowano 1 Lutego 2012 Autor Udostępnij Opublikowano 1 Lutego 2012 czyli powinno to wyglądać tak w step?: GML if distance_to_object(player) <200 and strzela=0 /* jeśli dystans do obiektu nazwa_obiektu_gracza wynosi mniej niż twoja_odległość i obiekt nie strzela */ { instance_create(x,y,pociske) // obiekt tworzy pocisk obok siebie strzela=1 // ustawia zmienną strzela na 1, co oznacza, że jest w trakcie strzelania alarm[0]=2*room_speed // ustawia alarm 0 na czas około 2 sekund } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 1 Lutego 2012 Udostępnij Opublikowano 1 Lutego 2012 Można w ten sposób, można to trochę rozwinąć ale tak też zadziała Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Niety Opublikowano 1 Lutego 2012 Autor Udostępnij Opublikowano 1 Lutego 2012 mógłby ktoś mi powiedzieć co w tym jest nie tak, bo mam gracza w objektach nazwanego player i mam sprite zycie tylko kiedy użyje tego kodu: draw_sprite_stretched(zycie,0,x-16,y-16,health,5) draw_sprite(player,0,x,y) Wtedy chodze ścianą z życiem nad głową (ściana w obiektach to obj.wall) A i jeszcze jedno mam sprite i obiekt skrzynie i jak zrobić żeby po rozwaleniu jej wylatywały itemy? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 1 Lutego 2012 Udostępnij Opublikowano 1 Lutego 2012 A i jeszcze jedno mam sprite i obiekt skrzynie i jak zrobić żeby po rozwaleniu jej wylatywały itemy? W evencie 'destroy' skrzyni twórz na jej pozycji item Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 1 Lutego 2012 Udostępnij Opublikowano 1 Lutego 2012 co do tej sciany, to nie masz spritu zycie, albo player Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Niety Opublikowano 1 Lutego 2012 Autor Udostępnij Opublikowano 1 Lutego 2012 Mi sie wydaje że pytania były inne po 1 JAK TO ZROBIĆ ŻEBY WYLATYWAŁY ITEMY po 2 MAM SPRITE ZYCIE BO SE ZROBIŁEM I MAM ŻYCIE W GRZE TYLKO ŻE ZAMIAST CHODZIĆ GRACZEM CHODZE 1 KLOCKIEM ŚCIANY (JEŚLI NIE ZROZUMIELIŚCIE TO POWIEDZCIE, ZROBIE EDITA I UŻYJE WIĘKSZEJ CZCIONKI) OK? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 1 Lutego 2012 Udostępnij Opublikowano 1 Lutego 2012 Mi sie wydaje że pytania były inne po 1 JAK TO ZROBIĆ ŻEBY WYLATYWAŁY ITEMY A mi się wydaje, że możesz samemu trochę pomyśleć. Podałem Ci jak zrobić, żeby pokazywały się w momencie niszczenia, jak pokombinujesz troche z direction i speedem to będziesz miał. Przy tworzeniu gier trzeba pogłówkować trochę... A z takim Twoim nastawieniem jak pokazałeś w tym poście to niedługo nikt Ci nie będzie chciał pomóc Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 1 Lutego 2012 Udostępnij Opublikowano 1 Lutego 2012 Proponuję zapoznać się z netykietą. Co do sprite'ów, na belce na samej górze kliknij Scripts, a z rozwijanego menu wybierz Check Resource Names. Jeśli wyświetli ci jakieś komunikaty, prawdopodobnie będziesz musiał inaczej nazwać te obiekty/sprite'y/itp. od nowa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Niety Opublikowano 1 Lutego 2012 Autor Udostępnij Opublikowano 1 Lutego 2012 Ok, rozumiem was i przepraszam :( . Jeśli bylibyście łaskawi mi odpowiedzieć na to to bym był bardzo wdzięczny: Jak ustawić zmienną, czytałem artykuły lecz nie znalazłem(od gnyska też). Trzeba stworzyć nowy obiekt?trzeba do niego sprita?Co trzeba wpisać żeby ustawić zmienną lokalną na hp?I gdzie(w którym obiekcie trzeba wpisać) Jeszcze raz sory :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 1 Lutego 2012 Udostępnij Opublikowano 1 Lutego 2012 https://gmclan.org/index.php?czytajart=73 zmienna=10 - zmienna lokalna global.zmienna=10 zmienna globalna var zmienna; zmienna=10 zmienna tymczasowa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 1 Lutego 2012 Udostępnij Opublikowano 1 Lutego 2012 Zmienne tworzy się w evencie Create. Jeśli stworzysz zmienną hp w obiekcie "bohater", to ta zmienna należy do obiektu "bohater". Można przypisać im dowolną wartość, w dokumentacji jest to dokładnie opisane. Event Create możesz dodać w dowolnym obiekcie -> Każdy obiekt może posiadać własne zmienne. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 1 Lutego 2012 Udostępnij Opublikowano 1 Lutego 2012 var zmienna; zmienna=10 zmienna tymczasowa Tak dla sprostowania to, to jest globalna zmienna tymczasowa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Niety Opublikowano 2 Lutego 2012 Autor Udostępnij Opublikowano 2 Lutego 2012 No tak, rozumiem tylko tak to o co w tym chodzi: mam obiekt player/create/health=100 i mam obiekt enemy/create/health=40 No i w kolizji z pociskiem przeciwnika daje :health-=10. Ok odpalam gre i ja przyjmuje życia przeciwnika (40) a on ma nieskończoność kiedy strzelam w niego mi odejmuje żyć O co chodzi? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 2 Lutego 2012 Udostępnij Opublikowano 2 Lutego 2012 nie korzystaj z wbudowanego health bo jest globalny. Stwórz własne zmienne i do nich się odnoś Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Niety Opublikowano 2 Lutego 2012 Autor Udostępnij Opublikowano 2 Lutego 2012 ok już se poradziłem żeby były dwa osobne życia ale teraz gdy strzele w jednego wroga odejmuje wszystkim hp ;d ale z tym se poradzę. Głównie chodzi o to by go zabiło bo strzelam w niego 4 razy, pasek życia schodzi a on dalej chodzi.Mam go zapisanego enemy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 2 Lutego 2012 Udostępnij Opublikowano 2 Lutego 2012 pewnie masz kolizje ustawioną w evencie pocisku. Zamiast tego wrzuć to do eventu kolizji z pociskiem u wroga. GML if hp>0 hp-=25 //jeśli hp jest większe od zera odejmujemy 25 else instance_destroy() //jeśli nie to niszczymy wroga with(other) instance_destroy() //niszczymy pocisk kolidujący</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Niety Opublikowano 2 Lutego 2012 Autor Udostępnij Opublikowano 2 Lutego 2012 Ma ktoś link do przykładu jak się tworzy zmienne lokalne? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Caporegime Opublikowano 2 Lutego 2012 Udostępnij Opublikowano 2 Lutego 2012 Żeby stworzyć zmienną lokalną piszesz w evencie Create odpowiedniego obiektu zmienna=(liczba, 0,1 cokolwiek) Jeśli chcesz żeby po zmianie wartości zmiennej coś się stało: if (zmienna=1){ kod tego co ma się stać. } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Niety Opublikowano 2 Lutego 2012 Autor Udostępnij Opublikowano 2 Lutego 2012 czyli jeśli chce stworzyć zmienną życia obiektu pisze: zmienna=health=100? 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ę