Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Własny ABS - początek
Autor Wiadomość
Mateusz SSJ8 




Preferowany:
RPG Maker XP

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:
RPG Maker XP

Ranga RM:
1 gra

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:
Spoiler:

 
 
Mateusz SSJ8 




Preferowany:
RPG Maker XP

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.
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
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

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene