UltimaForum

Wsparcie [VX] - Zmiana Skin'u w trakcie uruchamiana menu.

CreeperCrisis - Pią 28 Maj, 2010 18:06
Temat postu: Zmiana Skin'u w trakcie uruchamiana menu.
Zmiana Skin'u w trakcie uruchamiana menu.


Pomoc:
Proszę, abym mógł w mojej grze zamienić skin w trakcie uruchamiania menu.
Oto wywoływacz:
Kod:
change_windowskin ("Black")

"Black" ponieważ to czarny skin u mnie.

Nagroda:
Pomógł

Ayene - Pią 28 Maj, 2010 18:10

A po co zmianę okna menu chcesz wywoływać? Przecież okno można zmienić bezpośrednio w skrypcie, tak aby na stałe menu miało inny wygląd niż okno np. z wiadomością.
CreeperCrisis - Pią 28 Maj, 2010 18:27

A gdzie mam to przetworzyć i jakim skryptem. Tym, który zmienia skin?
Ayene - Pią 28 Maj, 2010 18:37

Wklej ten skrypt na main:
Spoiler:

Kod:
module Ayene 
  NAZWA_OKNA = "window1"  # nazwa obrazka w folderze Graphics/System
end

class Scene_Menu < Scene_Base
  alias ayene_newwin_scme_start start
  alias ayene_newwin_scme_crcomwin create_command_window
 
  def start
    ayene_newwin_scme_start
    @gold_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
    @status_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
  end
 
  def create_command_window
    ayene_newwin_scme_crcomwin
    @command_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)   
  end
end

I w folderze Graphics/System umieść obrazek z nowym oknem i nazwij go "window1"

CreeperCrisis - Pią 28 Maj, 2010 20:33

Wszystko ok lecz problem, ponieważ skrypt do lokalizacji, umiejętności, ekwipunek, przedmioty, status i reszta są z poprzednim skin'em. :-(
Ayene - Pią 28 Maj, 2010 21:54

Zamień skrypt na poniższy:
Spoiler:

Kod:
module Ayene 
  NAZWA_OKNA = "windowm"  # nazwa obrazka w folderze Graphics/System
end

class Scene_Menu < Scene_Base
  alias ayene_newwin_scme_start start
  alias ayene_newwin_scme_crcomwin create_command_window
 
  def start
    ayene_newwin_scme_start
    @gold_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
    @status_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
  end
 
  def create_command_window
    ayene_newwin_scme_crcomwin
    @command_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)   
  end
end

class Scene_Item < Scene_Base
  alias ayene_newwin_scit_start start
  def start
    ayene_newwin_scit_start
    @help_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
    @item_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
    @target_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)   
  end
end

class Scene_Skill < Scene_Base
  alias ayene_newwin_scsk_start start
  def start
    ayene_newwin_scsk_start
    @help_window.windowskin = Cache.system(Ayene::NAZWA_OKNA) 
    @status_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
    @skill_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
    @target_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
  end
end

class Scene_Equip < Scene_Base
  alias ayene_newwin_sceq_start start
  alias ayene_newwin_sceq_critwin create_item_windows 
  def start
    ayene_newwin_sceq_start
    @help_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
    @equip_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
    @status_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
  end 
  def create_item_windows
    ayene_newwin_sceq_critwin
    EQUIP_TYPE_MAX.times { |i| @item_windows[i].windowskin = Cache.system(Ayene::NAZWA_OKNA)}
  end
end

class Scene_Status < Scene_Base
  alias ayene_newwin_scst_start start 
  def start
    ayene_newwin_scst_start
    @status_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)
  end
end

class Scene_File < Scene_Base
  alias ayene_newwin_scfile_start start 
  alias ayene_newwin_scfile_crsavewin create_savefile_windows   
  def start
    ayene_newwin_scfile_start
    @help_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)   
  end 
  def create_savefile_windows
    ayene_newwin_scfile_crsavewin
    @item_max.times { |i| @savefile_windows[i].windowskin = Cache.system(Ayene::NAZWA_OKNA)}
  end
end

class Scene_End < Scene_Base
  alias ayene_newwin_scst_crcomwin create_command_window 
  def create_command_window
    ayene_newwin_scst_crcomwin
    @command_window.windowskin = Cache.system(Ayene::NAZWA_OKNA)   
  end
end



Powered by phpBB modified by Przemo © 2003 phpBB Group