UltimaForum

Skrypty [VX] - Kolejność bohaterów w drużynie

Ayene - Pon 20 Lip, 2009 14:41
Temat postu: Kolejność bohaterów w drużynie
~ Kolejność bohaterów w drużynie ~

Krótki opis
Skrypt umożliwia zmianę kolejności członków drużyny. Odbywa się ona na mapie poprzez wciśnięcie przycisków L lub R (domyślnie Q lub W).
W skrypcie ponadto została dodana możliwość włączenia lub wyłączenia opcji zmiany kolejności dzięki ustawieniu odpowiedzialnego za to przełącznika (switch).

Autor skryptu
modern algebra

Tłumaczenie i przeróbki
Ayene [yurika@o2.pl]

Kompatybilność
Tylko VX

Skrypt
Spoiler:

Kod:
# ==============================================================================
#                   ~ Kolejność bohaterów w drużynie ~
#                       Data publikacji: 20.07.2009
#                          Autor: modern algebra
#               Tłumaczenie i poprawki: Ayene [yurika@o2.pl]
#          Zapraszamy na stronę Ultima Forum - http://www.ultimateam.pl
# ==============================================================================
# Instalacja: Umieść ten skrypt nad Main w Edytorze Skryptu.
# ==============================================================================
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


# --------------------------- POCZĄTEK SKRYPTU ---------------------------------
class Scene_Map
   
# ---------------------------- POCZĄTEK EDYCJI --------------------------------- 
  # ID_PRZEŁĄCZNIKA jest po to, by można było ustawić przełącznik odpowiedzialny
  # za zmianę kolejności. Domyślnie ID przełącznika wynosi 1.
  # Włącz przełącznik na ON, jeśli chcesz uniemożliwić zmianę kolejności lub na
  # OFF, jeżeli chcesz na to pozwolić. 

  # Zmiana kolejności członków drużyny odbywa się na mapie poprzez wciśnięcie
  # przycisków R lub L (domyślnie Q lub W). 
 
  ID_PRZEŁĄCZNIKA = 1
# ----------------------------- KONIEC EDYCJI ----------------------------------


# -----------NIE EDYTUJ PONIŻEJ, CHYBA ŻE WIESZ CO ROBISZ ^^--------------------
  alias zmiana_lidera_druzyny update
  def update
    zmiana_lidera_druzyny
    return if $game_switches[ID_PRZEŁĄCZNIKA]
    # Jeżeli R zostanie wciśnięte
    if Input.trigger? (Input::R)
      # Usuń lidera
      old_lead = $game_party.members.shift.id
      $game_party.remove_actor (old_lead)
      # Dodaj lidera ponownie do drużyny
      $game_party.add_actor (old_lead)
    end
   
    # Jeżeli L zostanie wciśnięte
    if Input.trigger? (Input::L)
      # Stwórz na nowo grupę
      actors = []
      $game_party.members.each {|actor| actors.push (actor.id)}
      # Zmień kolejność na nową
      actors.unshift (actors.pop)
      actors.each {|id|
        # Usuń wszystkich członków drużyny i dodaj ich w nowej kolejności
        $game_party.remove_actor (id)
        $game_party.add_actor (id)}
    end
  end
end
# --------------------------- KONIEC SKRYPTU -----------------------------------


Demo
niepotrzebne

Screenshot
brak

Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.

Piszcie w razie problemów.

onimush3 - Nie 28 Lis, 2010 18:29

Hmm... pytanko może nie na temat... ale co mam zrobić?

Przykładowo ktoś dochodzi do mojej grupy i ma np: 10 poziom. Gdy przykładowo chce by w jakiejś części gry opuściła grupę mając np już 42 poziom i po czasie znów ją gdzieś dodać co mam zrobić aby doszła do mnie ponownie ale z poziomem jaki miała gdy opuściła grupę? Bo jak robię komendę dodaj i usuń postać z grupy to znów mam ją na 10 poziomie :-? a chce by była na tym co po odejściu... Jeżeli ktoś wie jak mi pomóc niech pisze na onimush3@gmail.com. byłbym wdzięczny za pomoc. pozdro....

Ayene - Nie 28 Lis, 2010 18:33

onimush3, bo gdy dodajesz odznacz opcje Initialize (cosik podobnego). Opcja ta powoduje właśnie, że bohater dodawany jest do drużyny z poziomem startowym.

Powered by phpBB modified by Przemo © 2003 phpBB Group