- Joined
- Dec 29, 2012
- Messages
- 869
- Reaction score
- 97
- First Language
- Dutch
- Primarily Uses
Author: Napoleon
Some of the features:
- Compatible with my other Window Message Script.
- Free for commercial use.
- Change the skins dynamically while playing.
- Has no method overwrites (so it's a very compatible script)
All other details are inside the script. Has now also been added to the master demo.
Script:
Some of the features:
- Compatible with my other Window Message Script.
- Free for commercial use.
- Change the skins dynamically while playing.
- Has no method overwrites (so it's a very compatible script)
All other details are inside the script. Has now also been added to the master demo.
Script:
Code:
#sb:window_skin [window_skin]=beginScript: Window SkinVersion: 1.00Author: NapoleonAbout:- Easily change the skin of all windows and/or only for specific windows.- Also supports adding your own custom windows to it (advanced users).- Does not embed itself to the update() method of Window_Message for increased performance.Instructions:- Place below "▼ Materials" but above "▼ Main Process".- Change the 'default'-skin in the settings to change all skins easily.- Don't forget to change the window HUE to 0, 0, 0 through: [F9] > System tab > Window Color. Otherwise the windows may get a weird unwanted hue.- To change the window skin create a new script-line and use: set_skin(skin_name, window_name)- To change the default skin: set_default_skin(skin_name)- Advanced users: or if you prefer to use a script call instead: $game_system.window_skins[window_name] = skin_name- Examples: set_skin('Window2') # Changes all default skins to Window2.png set_skin('Window2', 'Window_MenuCommand') # Changes only the skin for Window_MenuCommand- To change all skins: set_all_skins('your_skin_filename')- Adding custom windows to this script: # Add this line to your initialize (AFTER the super(..) call!): self.windowskin = $game_system.window_skin_bitmap(self.class) # Then add a line to the SKINS setting matching your window's class name.Terms of Use:- Attribution 3.0 Unported (CC BY 3.0) [URL="http://creativecommons.org/licenses/by/3.0/%C2%A0Version"]http://creativecommons.org/licenses/by/3.0/ Version[/URL] History:1.00 (21 August 2014) - First Release=end#===============================================================================# Settings#===============================================================================module Nap; module Win_Skin # The default key for when the skins have no key or when the refer to a # nil-value. # Only change this one if you are an advanced user! DEFAULT_KEY = :default # Note: case sensitive! # Use nil values to use the default. # You can also add your own custom windows here. For example: # 'Napoleons_Window' => 'Window3', SKINS = { DEFAULT_KEY => 'Window_Desert', # Default skin. The default RPG Maker: 'Window' 'Window_Selectable' => nil, 'Window_Command' => nil, 'Window_HorzCommand' => nil, 'Window_Help' => nil, 'Window_Gold' => nil, 'Window_MenuCommand' => nil, 'Window_MenuStatus' => nil, 'Window_MenuActor' => nil, 'Window_ItemCategory' => nil, 'Window_ItemList' => nil, 'Window_SkillCommand' => nil, 'Window_SkillStatus' => nil, 'Window_SkillList' => nil, 'Window_EquipStatus' => nil, 'Window_EquipCommand' => nil, 'Window_EquipSlot' => nil, 'Window_EquipItem' => nil, 'Window_Status' => nil, 'Window_SaveFile' => nil, 'Window_ShopCommand' => nil, 'Window_ShopBuy' => nil, 'Window_ShopSell' => nil, 'Window_ShopNumber' => nil, 'Window_ShopStatus' => nil, 'Window_NameEdit' => nil, 'Window_NameInput' => nil, 'Window_ChoiceList' => nil, 'Window_NumberInput' => nil, 'Window_KeyItem' => nil, 'Window_Message' => nil, # Show Text Window 'Window_ScrollText' => nil, 'Window_MapName' => nil, 'Window_BattleLog' => nil, 'Window_PartyCommand' => nil, 'Window_ActorCommand' => nil, 'Window_BattleStatus' => nil, 'Window_BattleActor' => nil, 'Window_BattleEnemy' => nil, 'Window_BattleSkill' => nil, 'Window_BattleItem' => nil, 'Window_TitleCommand' => nil, 'Window_GameEnd' => nil, 'Window_DebugLeft' => nil, 'Window_DebugRight' => nil, }end; end # module Nap; module Win_Skin#===============================================================================$imported ||= {}$imported[:window_skin] = 1.00#===============================================================================# Window Base#===============================================================================class Window_Base < Window #----------------------------------------------------------------------------- # Initialize [ALIAS] #----------------------------------------------------------------------------- alias nap_win_skin_initialize initialize def initialize(x, y, width, height) nap_win_skin_initialize(x, y, width, height) self.windowskin = $game_system.window_skin_bitmap(self.class) endend#===============================================================================# Window Message# For: Because this window is only initialized once we need to set the skin# when it is opened.#===============================================================================class Window_Message < Window_Base alias nap_win_skin_open_and_wait open_and_wait def open_and_wait self.windowskin = $game_system.window_skin_bitmap(self.class) nap_win_skin_open_and_wait endend#===============================================================================# Game System#===============================================================================class Game_System attr_accessor :window_skins alias nap_win_skin_initialize initialize #----------------------------------------------------------------------------- # Initialize [ALIAS] #----------------------------------------------------------------------------- def initialize nap_win_skin_initialize @window_skins = Nap::Win_Skin::SKINS end #----------------------------------------------------------------------------- # Window Skin Bitmap [NEW] # Note: returns the default skin if a non-existing key is selected or if the # value is nil. #----------------------------------------------------------------------------- def window_skin_bitmap(window_name=Nap::Win_Skin::DEFAULT_KEY) window_name = window_name.to_s.dup # to_s is required in case self.class is used (it not a string and will fail the comparison) skin_name = @window_skins[window_name] window_name = Nap::Win_Skin::DEFAULT_KEY if !skin_name || !@window_skins[window_name.to_s] Cache.system(@window_skins[window_name]) endend#===============================================================================class Game_Interpreter #----------------------------------------------------------------------------- # Set Skin [NEW] #----------------------------------------------------------------------------- def set_skin(skin_name, window_name=Nap::Win_Skin::DEFAULT_KEY) $game_system.window_skins[window_name] = skin_name end #----------------------------------------------------------------------------- # Set All Skins [NEW] #----------------------------------------------------------------------------- def set_all_skins(new_skin_name) $game_system.window_skins.keys.each { |k| $game_system.window_skins[k] = skin_name = nil } set_default_skin(new_skin_name) end #----------------------------------------------------------------------------- # Set Default Skin [NEW] #----------------------------------------------------------------------------- def set_default_skin(new_default_name) $game_system.window_skins[Nap::Win_Skin::DEFAULT_KEY] = new_default_name endend#===============================================================================
Last edited by a moderator:





