Ogłoszenie |
Administracja Forum
|
Własny ABS - początek |
Autor |
Wiadomość |
Mateusz SSJ8
Preferowany:
Pomógł: 1 raz Dołączył: 07 Sty 2012 Posty: 46 Skąd: Polska
|
Wysłany: Pon 02 Kwi, 2012 12:20
|
|
Własny ABS - początek
|
Wszyscy znacie wiele różnych systemów walki. Każdy ma swoje zalety i wady.
Blizz-ABS:
+wrogowie upuszczają łupy.
-(jedno zdarzenie = jeden wróg), (działa stale)
=gry ABS z walkami odwiedzanymi tylko jeden raz.
XAS ABS:
+możliwość zrobienia klona Zeldy
-(działa stale), (jedna strona to za mało na jednego wroga)
=gry ABS z elementami platformowymi
MrMO ABS:
+więcej, niż 1 wróg na jedno zdarzenie (można zdecydować wtedy, który kiedy jest)
-współgra tylko ze standardową walką
=Gry (ABS+turówkówki), gdzie można każdą mapę odwiedzać wiele razy.
Ale jak napisać własny system walki łączący najlepsze z każdego istniejącego, a do tego działający na z góry przyjętych przez nas zasadach?
Na początek zajmijmy się klasą silnika walki.
Silnik walki odpowiada za jej działanie.
Kod: |
class Silnik_Walki
def initialize
end
def activate(*args)
end
def deactivate
end
def update
update_drops
update_projectiles
update_events
update_player
end
def update_drops
end
def update_projectiles
end
def update_events
end
def update_player
end
end
|
Uzupełnij sam, bo ja nie wiem, czego potrzebujesz.
Kolejnym elementem jest klasa przeciwników.
Kod: |
class Game_Enemy < Game_Battler
def initialize(map, troop_id, member_index)
super()
return setup_map_enemy(troop_id) if map
setup_troop_enemy(troop_id, member_index)
end
def setup_map_enemy(enemy_id)
@troop_id = 0
@enemy_id = enemy_id
end
def setup_troop_enemy(troop_id, member_index)
@troop_id = troop_id
return @troop_id = 0 unless self.troop.is_a?(troop_class)
@enemy_id = self.troop.members[member_index].enemy_id
end
def troop
return $data_troops[@troop_id]
end
end
|
troop_class jest klasą odpowiedzialną za drużyny wrogów. Jeśli używasz "standardu", wpisz w tym miejscu "RPG::Troop", a w przeciwnym wypadku nazwę własnej klasy.
I to właśnie są dwa najczętsze elementy każdego ABSa. Zachęcam do wypróbowania tego tutorialu.
UWAGA!!!
Skrypt ABSa podany tutaj służy tylko do wskazania najwygodniejszej drogi do napisania własnego skryptu. Wszelkie próby przekonania do uzupełnienia będą ignorowane, a ich nadawcę zgłoszę administracji forum, jeśli dopatrzę się tekstów, które można uznać za groźby karalne. |
________________________ Ryzykując, że zrobisz super gniota, możesz zrobić super hit lub super gniota. |
|
|
|
Melvin
Preferowany:
Ranga RM:
Pomógł: 35 razy Dołączył: 23 Paź 2009 Posty: 1063
|
Wysłany: Pon 02 Kwi, 2012 14:54
|
|
|
Mateusz SSJ8 napisał/a: | Wszelkie próby przekonania do uzupełnienia będą ignorowane, a ich nadawcę zgłoszę administracji forum, jeśli dopatrzę się tekstów, które można uznać za groźby karalne. |
Pojechałeś... Lol.
Tut nawet niezły, ale mogłeś więcej napisać. |
________________________ MelvinClass:
|
|
|
|
Mateusz SSJ8
Preferowany:
Pomógł: 1 raz Dołączył: 07 Sty 2012 Posty: 46 Skąd: Polska
|
Wysłany: Wto 03 Kwi, 2012 11:07
|
|
|
Muszę ci zwrócić uwagę, Melvin, że te elementy ABSa, które tu podałem, to tylko początek. |
________________________ Ryzykując, że zrobisz super gniota, możesz zrobić super hit lub super gniota. |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
|