Pszełoncznik
Aktualny czas: 28-04-26, 22:39 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[VX] Pszełoncznik
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #1
Pszełoncznik

Jak wiecie, na niektórych mapkach w Kabelku gra się przycinała, szczególnie na słabszych tosterach z 2005 roku. :L
Ponieważ typowe zdarzenie z ubrankami oraz ze skillami są dwukrotnie większe niż w Kable III, chciałbym żeby przełączniki uruchamiały się jedynie po wyjściu z menu. (Czyli po zmianie ekwipunku)
Istnieje jakiś sposób na uruchomienie przełącznika gdzieś w skryptach? Albo na wywołanie skryptu?
Cokolwiek oszczędniejszego.

Pytam, bo pamiętam że kiedyś gra strasznie się zacinała gdy miałem zbyt wiele opcji w warunkach, a zdarzenie typowe które je sprawdzało było odpalone cały czas.

Trochę nietypowa prośba, ale może ktoś coś wie. :lol2:

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
01-11-17 18:07
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
AlmostNoRuby Offline
*


Liczba postów: 174
Dołączył: 22-09-16

Pomógł: 33



Post: #2
RE: Pszełoncznik

Aby przełączyć przełącznik gdzieś w skrypcie, wystarczy:
$game_switches[id] = wartość
gdzie id to numer przełącznika, a gdzie wartość to true albo false. razz
No chyba, że chcesz uruchomić dane typowe zdarzenie po prostu po wyjściu z menu.
To jak masz w Scene_Menu takie trzy linijki:
if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
to trzeba je podmienić na
if Input.trigger?(Input::B)
      Sound.play_cancel
      $game_temp.common_event_id = numer
      $scene = Scene_Map.new
i tam, gdzie jest numer, wpisać numer typowego zdarzenia. No chyba, że podasz wszystkie skrypty, które coś zmieniają ilość pozycji w opcjach w menu, to wtedy coś ci skleję (i wiem, że będzie to działało).
(Widać, że dopiero w połowie przeczytałem post do końca razz )

[Obrazek: userbar1.png]
(Ten post był ostatnio modyfikowany: 01-11-17 18:50 przez AlmostNoRuby.)
01-11-17 18:49
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #3
RE: Pszełoncznik

#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Gold.new(0, 360)
    @status_window = Window_MenuStatus.new(160, 0)
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $game_temp.common_event_id = 98
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2  # Skill, equipment, status
        start_actor_selection
      when 3      # End Game
        $scene = Scene_End.new
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Start Actor Selection
  #--------------------------------------------------------------------------
  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # * End Actor Selection
  #--------------------------------------------------------------------------
  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # * Update Actor Selection
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # skill
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # equipment
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # status
        $scene = Scene_File.new(true, false, false)
      end
    end
  end
end
Przełącznik się nie uruchamia. Nie wiem co zrobiłem źle. :L

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
01-11-17 19:09
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
AlmostNoRuby Offline
*


Liczba postów: 174
Dołączył: 22-09-16

Pomógł: 33



Post: #4
RE: Pszełoncznik

Zrobiłeś wszystko dobrze, tylko reszta skryptów psuje tą poprawkę (głównie te, które dodają jakieś opcje w menu, np. dziennik misji czy bestariusz). Po prostu podaj skrypty, które dodają jakieś opcje w menu i spróbuję ci coś na to zaradzić.

[Obrazek: userbar1.png]
01-11-17 20:38
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #5
RE: Pszełoncznik

Problem polega na tym, że ja żadnych takich skryptów nie używam. Dziennik mam na zdarzeniach.
Posiadam "sort inventory", które zmienia układ przedmiotów w plecaku, nie wiem czy to istotne.

A opcje w menu wyglądają u mnie tak, bo usunąłem "status".
[Obrazek: af357de556.jpg]

EDIT: Przetestowałem na pustym projekcie i też nie działa.

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
(Ten post był ostatnio modyfikowany: 02-11-17 00:45 przez Yoroiookami.)
02-11-17 00:41
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
AlmostNoRuby Offline
*


Liczba postów: 174
Dołączył: 22-09-16

Pomógł: 33



Post: #6
RE: Pszełoncznik

Trzymaj. U mnie działa.
class Scene_Menu < Scene_Base
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $game_temp.common_event_id = 98
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 3
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Przedmioty
        $scene = Scene_Item.new
      when 1,2    # Umiejętności, ekwipunek
        start_actor_selection
      when 3      # Koniec gry
        $scene = Scene_End.new
      end
    end
  end
Wstaw najniżej materials jak się tylko da. Zminimalizuje ryzyko.

[Obrazek: userbar1.png]
02-11-17 16:08
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #7
RE: Pszełoncznik

W Kabelku nie działało. Odpaliłem znowu na czystym projekcie. Też nie działa.
[Obrazek: ced1414b93.jpg]

Nie wiem co robię źle, ani dlaczego u ciebie działa. :L
Mam też wstawić to co wcześniej napisałęś do Scene_Menu?

Syntax error w linijce 22.

EDIT: Używając siły 'logicznego' myślenia, dodałem dodatkowe "end" na końcu i przestało wywalać błąd.
Tylko że samo przełącznikowanie nie działa. :L
Przetestowałem na czystym i na Kabelku.

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
(Ten post był ostatnio modyfikowany: 02-11-17 17:42 przez Yoroiookami.)
02-11-17 17:35
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
AlmostNoRuby Offline
*


Liczba postów: 174
Dołączył: 22-09-16

Pomógł: 33



Post: #8
RE: Pszełoncznik

Może dlatego, że mam wersję 1.02 razz . Naprawdę, nie wiem.
I tak, rzeczywiście uciąłem jeden end.

[Obrazek: userbar1.png]
(Ten post był ostatnio modyfikowany: 02-11-17 18:49 przez AlmostNoRuby.)
02-11-17 18:46
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #9
RE: Pszełoncznik

Mam dokładnie tę wersję. :L
Z tym że przełącznik po prostu nie reaguje na wchodzenie/wychodzenie z menu.

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
02-11-17 19:30
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
AlmostNoRuby Offline
*


Liczba postów: 174
Dołączył: 22-09-16

Pomógł: 33



Post: #10
RE: Pszełoncznik

To ja już nie wiem.

[Obrazek: userbar1.png]
02-11-17 20:14
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.