[2K3] Prawdziwy system strzelania (Inne to pseudo systemy)

Jeśli chcesz podzielić się swoimi materiałami z innymi użytkownikami forum.

Moderatorzy: GameBoy, Dragon Kamillo

ODPOWIEDZ
Awatar użytkownika
X-Tech

Golden Forki 2009 - Pełne Wersje (miejsce 3)
Posty: 3268
Rejestracja: 22 lut 2008, 14:15

[2K3] Prawdziwy system strzelania (Inne to pseudo systemy)

Post autor: X-Tech »

Znacie gry z ABSami na rpgmakera strzelaninki. Opierają się na zasadzie przesuwających się eventów często pociski omijają wrogów nawet jak wrogowie w ogóle zostaną zgodnie z programem nimi trafieni okazuje się, że nie zostają trafieni i pociski ich wymijają. Chcecie zrobić miniguna, karabin maszynowy, a tu lipa wychodzą jakieś jojo/bumeango pukawki i maleje wam zasięg, albo robicie długi zasięg a mała szybkostrzelność - słowem syf. Najgorsze, że doładowujecie do tego często wiele eventów przez co musicie uwzględniać koordynaty wielu pociskow z wieloma wrogami więc np: już dla 10 wrogów i 5 pocisków trzeba zrobić 100 warunków 50 dla X 50 dla Y (osi) Widzicie często jak pociski wymijają wrogów nawet jak oni tymi kulkami dostają. Pokonanie długiego dystansu przez taki pocisk to jakieś jaja i porażka.
Fatality. Strata czasu totalna. Po co tak ? Wpadłem w rozpacz z niedobory dobrych gier strzelankowych na rpgmakera, więc dzielę się z wami znowu genialnym skryptem strzelania mojego autorstwa.

Trzeba skończyć z tym bullshitem i jesli nie zabieracie się za shmupa latanego czy tym podobne latanki-strzelanki nie róbcie takich topornych systemów jak chcecie uzyskać realizm.

Jak zrobić maszynówkę jak zrobić desert eagle i inny karabin który będzie pluł pociskami jak szalony do około 60 pocisków na sekundę i więcej bez robienia badziewnych ton eventów i porównywania ich koordynat. Tu nie trzeba żadnych eventów w ogóle.


Zaczynamy !

Odpalacie rma. Otwieracie zakładkę chipsety. Otwieracie chipset, który was interesuje. Zaznaczacie domyślnie jedynkami teren, który ma przepuszczać pociski, a przyjmijmy dziesiątkami teren, który ma je blokować. Jak skończycie oznaczanie przechodzicie do zdarzeń typowych.


Wchodzicie na jakąkolwiek mapę tworzycie na początek wroga. Nazwijmy go Pacan1.
Pacan 1 niech jest zdarzeniem równoległym. Ustawcie mu aby w dwie zmienne PacanX pobierać jego położenie X na mapie, a w zmienną Y pobierać jego położenie Y na mapie.

Stwórzcie na mapie event równoległy (dodatkowo)
Ustawcie w evencie HP wroga do zmiennej np: "HP WROGA" niech będzie 200 (ustawcie ile chcecie)
Stwórzcie przełącznik "WROG TRUP" zmieńcie go w tym evencie na OFF.
Dodajcie na końcu komendę - usuń zdarzenie.

Stwórzcie wrogowi nową stronę z warunkiem przełącznik "WROG TRUP" ON
to ma byc strona bez grafiki wroga, albo z jego wersja martwą i z dolnym typem blokowania.


Teraz idziemy do zakładki zdarzenia typowe tworzymy zdarzenie "pistolet"
To ma być zdarzenie równoległe działające po włączeniu się przycisku "STRZAŁ" na on. Musicie taki przełącznik stworzyć.



Składniki:

Dwie zmienne "Xkulka" i "Ykulka".
Zmienna określająca zasięg pocisków - "zasięg"
Zmienną "kierunek" do zapamiętania kierunku, w którym patrzy się bohater.
Zmienna określająca kolizję z ścianami - "wartość ID"
Zmieenna określająca siłę pocisku - "Moc"
Zmienna określająca kroki pocisku "Licznik"


Skrypt:
Zmień zmienną Licznik ustaw 0
Zmień zmienną XKulka ustaw położenie bohatera na osi X
Zmień zmienną YKulka ustaw położenie bohatera na osi Y
Zmień zmienną Moc - ustaw 20 (ustawiacie ile chcecie)
Zmień zmienną Zasięg - ustaw 30 (ustawiacie jak se chcecie)


Zmień zmienną kierunek ustaw postać bohater - kierunek

(Dla lewo to 4, dla prawo to 6, dla góra to 8, dla dół to 2 takie wam oddaje wartości rpgmaker)

Pętla
Jeśli kierunek 2 (dół)
zmień zmienną YKulka +1
Jeśli kierunek 8 (góra)
zmień zmienną YKulka -1
Jeśli kierunek 4 (lewo)
Zmień zmienną XKulka -1
Jeśli kierunek 6 (prawo)
Zmień zmienną XKulka +1

znajdź ID terenu wg. położenia "XKulka", "YKulka" wstaw do zmiennej "Wartość ID"
Warunek: Jeśli Wartość ID =10 złam pętlę

Warunek: Jeśli XKulka =Pacan X
Warunek: Jeśli YKulka=Pacan Y
Zmień zmienną "HP WROGA" - zmienna "MOC"
Warunek: Jeśli "HP WROGA" < 0
zmień przełącznik "WROG TRUP" na ON
złam pętlę

Warunek: Kroki pocisku >= Zasięg
złam pętlę

Zmień zmienną "Licznik" +1
Koniec Pętli

Zmień przełącznik "STRZAŁ" na OFF




Tworzycie następne zdarzenie typowe o nazwie "kLAWISZE" też równoległe
Tworzycie zmienną "Przyciski" w zdarzeniu obsługa klawiatury i zaznaczacie do sprawdzania klawisz ENTER.
Warunek: Jeśli zmienna "Przyciski" = 5
zmień przełącznik "STRZAŁ NA ON"


Teraz strzelając do pacana na mapie za pomocą klawisza enter trafiacie w niego i zabieracie mu hp. Jak mu to hp zmaleje do 0 to się wróg stanie trupem.

Chcecie więcej ? Namażcie na tej mapie z wrogiem jakieś przeszkody terenowe z chipsetu warstwy dolnej. Teraz strzelając zobaczycie, ze pociski nie przelatuja przez ściany.

Pociski trafiają natychmiast po wtystrzale w każdego wroga.

Ktoś chce maszynówkę, która pruje kilkadziesiąt pocisków na sekundę ? Sprawa prosta.
Wchodzimy w zdarzenie "KLAWISZE" i ustawimy w odznaczamy "czekaj do naciśnięcia przycisku"
dodajemy pod spodem opóźnienie w postaci np: 0.1 sekundy. Od teraz strzelamy 10 pocisków na sekundę natychmiast trafiając we wroga. Jak dacie 0.0 będzie to 1/6 x 0.1 czyli 60 pocisków na sekundę.

Reszta jak magazynki i inne szczegóły to kwestia wyobraźni to już dorabiać do takich pukawek bardzo prosto. Genialne ? Genialne jak zawsze. Dziękuję. Róbcie mi jakieś za******* gry strzelankowe XD

Aha jak chcecie bajery i efekty przy strzelaniu wyświetlacie animacje strzałów musicie zrobić 4 w battle animacjach na górę i dół, lewo i prawo lub lepiej zrobić to na obrazkach jak dacie radę.

Bardzo by mi było miło jakby ktoś wspomniał w creditsach, że moje konkretne poradniki pomogły w rozwiązaniu problemów.

To prawdopodobnie jeden z moich ostatnich poradników, bo dopóki nie zobaczę, że inni dają podobne rzeczy od siebie i naprawdę przydatne nie będę kontynuował pisania porad, bo chodzi o to, żeby się dzielić, a nie tylko brać.
Awatar użytkownika
Secretman
Posty: 491
Rejestracja: 12 kwie 2008, 19:12

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: Secretman »

AI-RPG pisze:Genialne ? Genialne jak zawsze.
Prawie jak SSJ8. Prawie, bo przynajmniej dokładnie (chyba nawet zbyt) wyjaśniłeś co i jak trzeba. Brakuje mi tu przykładu, żeby potwierdzić genialność tego systemu - sam suchy tekst, to raczej za mało.
AI-RPG pisze:To prawdopodobnie jeden z moich ostatnich poradników, bo dopóki nie zobaczę, że inni dają podobne rzeczy od siebie i naprawdę przydatne nie będę kontynuował pisania porad, bo chodzi o to, żeby się dzielić, a nie tylko brać.
Napisz poradnik 'jak zrobić fabułę', bardziej się przyda, niż takie techniczne rzeczy.
Awatar użytkownika
GameBoy

Golden Forki 2009 - Pełne Wersje (miejsce 1); Puchar Ligi Mapperów II (zwycięstwo); TA Sprite Contest 6 (miejsce 3)(miejsce 3)
Posty: 1769
Rejestracja: 11 lip 2009, 13:47
Lokalizacja: Wieluń

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: GameBoy »

Mówiąc w dużym skrócie - zamiast robić pocisk (a zarazem jego współrzędne) jako event, robimy po prostu zmienne pocisk_x, pocisk_y, ustawiamy je na współrzędne bohatera, a później w zależności od kierunku w jakim bohater jest zwrócony zmniejszamy lub zwiększamy w pętli daną zmienną o 1. Potem tylko wystarczy sprawdzić czy pocisk_x = wróg_x i pocisk_y = wróg_y.
Cała filozofia, nic tu genialnego nie ma.
Awatar użytkownika
Jazzwhisky
Posty: 4332
Rejestracja: 13 kwie 2006, 21:45
Kontakt:

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: Jazzwhisky »

Przyjemny patent z ID terenu (to samo robił Super Vegeta w skrypcie odbijającej się kulki czy chyba Mały w podkradzionym skrypcie skakania) ale poza tym - ABS Tomasha oparty o ten pomysł od kilku lat leży spokojnie na Twierdzy (nawet jest chyba i tu na forum, miał być na TA, ale Tomash nigdy nie napisał porady), zresztą trudno sobie wyobrazić shootera w RM zrobionego inaczej, przecież to byłoby szaleństwo. ;)
Nasz discordowy czat, 24h/d - https://discord.gg/4GG85kr
Awatar użytkownika
Foxik
Posty: 139
Rejestracja: 20 sty 2010, 15:30
Lokalizacja: Bydgoszcz

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: Foxik »

Nie przeczytałem całego. Najpierw zobaczyłem wstęp, z którego nie specjalnie dowiedziałem się dokładnie co to ma być, a później gdy zobaczyłem jakieś wielozdaniowe opisy jednej zwykłej akcji odpuściłem. Tak wgl. to nie jest to zły poradnik ale nie specjalnie odkrywczy. Może przydać się do treningu dla początkujących, ale masa niepotrzebnego tekstu może odstraszyć. No i jak powiedziano już wyżej, brak przykładu i na moje oko: screenów.
Awatar użytkownika
X-Tech

Golden Forki 2009 - Pełne Wersje (miejsce 3)
Posty: 3268
Rejestracja: 22 lut 2008, 14:15

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: X-Tech »

Secretman, ale nie trzeba przykładu, bo ja to łopatologicznie napisałem.
Działa to tak nie jak GB napisał. Działa to tak, że po pierwsze zapamiętywany jest kierunek w jakim zwrócony jest bohater, a nie że pocisk leci wg. kierunku, w którym odwraca się bohater, bo to nie zdalnie sterowane. Sprawdzane jest ID terenu jak kolizja do koniec, liczony jest zasięg jak osiągnięty to koniec.

GB jak wyżej.

Jazz:
Shootery w rmie no ja grałem w sporo i były robione inaczej XD
Jedne na jakiś tam latających eventach po planszy, a zamiast maszynówki kilka eventów.
Niekóre jak bumeragn działały inne za słaba szybkostrzelność.
W sumie to na eventach do typowych shmupów i staroszkolnych jak contra strzelanek, ale do
pełnego realizmu to tylko taki skrypt. W sumie to napisałem ten poradnik, bo dziś zobaczyłem na IRCU jak Foxer robił swój abs i nie mogłem wytrzymać. Jedyny system strzelania w pełnej grze jaki widziałem oparty nie na eventach to W PTEI2, ale tam przecież pociski są sprawdzane wg. osi na której leży wróg i bohater, a nie po sprawdzaniu pól więc wali się przez ściany do wrogów. Wszystkie shootery 2k3 jakie widziałem i 2k były robione na eventach tak po za tym. Napisałem to, żeby w końcu jak ktoś się zabiera za 2k/2k3 shooter zrobił to porządnie no.

Foxik tu nie ma żadnego niepotrzebnego tekstu wszystko od a-z wyjaśnione maksymalnie jak to ma działać.
Awatar użytkownika
Foxik
Posty: 139
Rejestracja: 20 sty 2010, 15:30
Lokalizacja: Bydgoszcz

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: Foxik »

Powiem inaczej. Gdybyś masę opisów zastąpił wymownymi screenami wyglądałoby to i estetyczniej i ciekawiej. I krócej :3
Awatar użytkownika
X-Tech

Golden Forki 2009 - Pełne Wersje (miejsce 3)
Posty: 3268
Rejestracja: 22 lut 2008, 14:15

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: X-Tech »

Może i bym zrobił screeny jak bym to robił razem z rpgmakerem na żywo, ale ja to wszystko w głowie wyobmyśliłem patrząc na okno wiadomości forum przy wyłączonym rpgmakerze XD No w sensie, że po co mi było odpalać rpgmakera jak umiem sobie wszystko co robię wyobrazić w głowie bez jego odpalania.

Mhm polecam używać polskiej wersji 2k3 żeby się łatwo połapać.
Awatar użytkownika
Foxer

Golden Forki 2008 - Dema (miejsce 2); TA Sprite Contest 3 (miejsce 3); Liga Mapperów Sezon II (miejsce 1); Liga Mapperów Sezon III (miejsce 2); TA Code-Off Edycja V (zwycięstwo)
Posty: 492
Rejestracja: 16 mar 2008, 13:23
Lokalizacja: Poznań

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: Foxer »

Chcesz i masz.
To jest główny skrypt strzału.
Obrazek

Wszelkie bajery zrobiłem w oddzielnych, typowych zdarzeniach:
Animacja broni - w tym zdarzeniu sprawdza nam jaką mamy broń i wyświetla jakąs animację walki na bohaterze (zależnie od tego w jakim jest kierunku)
Wrogowie obrażenia - to zdarzenie porównuje współrzędne pocisku i wrogów. Jeśli są równe to odejmuje im HP
Szybkość broni - sprawdza jaką mamy broń i czeka ileś sekund. Jest to czas między strzałami. Dla szybkiej broni jest np <>Czekaj 0.1s, dla pistoletu np. <>Czekaj 0.5s
Przeładowanie - to zdarzenie sprawdza jaką mamy broń, odgrywa jakiś dźwięk przeładowania i ustawia spowrotem amunicję w magazynku na maksymalną

Te zdarzenia chyba jesteście w stanie sami zrobić, jakby co to pytać.

Jakieś zmienne i przełączniki, których możecie nie rozumieć:
Zmienna [0106] - tam przechowuję zasięg jaką ma dana broń. Pobieram wartość z tej zmiennej żeby wiedzieć jak daleko może polecieć pocisk
Przełącznik [0022: Strzał] - uruchamiam go przy strzale i wyłączam po nim. Może się gdzieś przydać.
Awatar użytkownika
Powczan

GF 2022 - Pełne Wersje (miejsce 2); TA Project Extravaganza #3 (miejsce 1); TA Project Extravaganza #1 (miejsce 3); TA Sprite Contest 6 (miejsce 1); TA Sprite Contest 5 (miejsce 3)
Posty: 958
Rejestracja: 30 gru 2009, 14:39
Lokalizacja: Wrocław

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: Powczan »

uruchamiam go przy strzale i wyłanczam po nim
Foxer ! :shock:

Foxer: Nie trzeba było do tego oddzielnego posta. Poprawione
Biedroneczki są w kropeczki i to chwalą sobie :)
Awatar użytkownika
Wexx
Posty: 172
Rejestracja: 15 lis 2009, 20:16
Lokalizacja: SanOK

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: Wexx »

RK3 :evil:
RK3 :evil:
RK3 :evil:
CZEMU RK3?! :-x
Jak byś to zrobił na XP... Oddałbym Ci ukłon i nazwał cudostwórcą :shock:
Obrazek Piszę poprawnie po polsku.
Leafman pisze: Nie jestem newbie!
Jestem n00bem!
Czytam większość tematów na tym cholernym forum, ale jestem zbyt leniwy, żeby odpisać...
Awatar użytkownika
Mikisi

Golden Forki 2020 - Dema (miejsce 2); TA Project Extravaganza #3 (miejsce 2); TA Project Extravaganza #1 (miejsce 3)
Posty: 319
Rejestracja: 20 maja 2008, 17:45

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: Mikisi »

Wexx pisze:RK3 :evil:
RK3 :evil:
RK3 :evil:
CZEMU RK3?! :-x
Jak byś to zrobił na XP... Oddałbym Ci ukłon i nazwał cudostwórcą :shock:
Czemu? Bo rm 2k3 jest najlepszy.
Obrazek ObrazekObrazekObrazek
Awatar użytkownika
Secretman
Posty: 491
Rejestracja: 12 kwie 2008, 19:12

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: Secretman »

Przecież tego skryptu również można użyć w XP, więc po co ten płacz? Bo nie można tego szybko skopiować do Ruby i użyć ;p ?
Awatar użytkownika
X-Tech

Golden Forki 2009 - Pełne Wersje (miejsce 3)
Posty: 3268
Rejestracja: 22 lut 2008, 14:15

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: X-Tech »

Zrobiłem to w 2k3 bo sam robię w 2k3 grę obecnie to przy jej tworzeniu wpadam na różne pomysły, które tu pokazuje.

Na razie mam zamiar skończyć swój projekt.

Czy będę robił w XP, albo VX to prawdopodobne za jakiś czas.
Awatar użytkownika
GameBoy

Golden Forki 2009 - Pełne Wersje (miejsce 1); Puchar Ligi Mapperów II (zwycięstwo); TA Sprite Contest 6 (miejsce 3)(miejsce 3)
Posty: 1769
Rejestracja: 11 lip 2009, 13:47
Lokalizacja: Wieluń

Re: [2K3] Prawdziwy system strzelania (Inne to pseudo system

Post autor: GameBoy »

W XP można sprawdzić ID terenu poprzez wybranie w warunku (conditional branch) "script" i wpisanie tam

Kod: Zaznacz cały

$game_map.terrain_tag($game_variables[10],$game_variables[11]) == $game_variables[12]
Gdzie 10 = id zmiennej x, 11 = id zmiennej y, 12 = id blokującego tile'a

Oczywiście można dać te zmienne jako 3 pierwsze etc.

Resztę rób tak jak napisane w pierwszym poście.
ODPOWIEDZ