10-24-2010, 06:11 AM
Naramura Custom Window Graphics Script
Created by Naramura
Author's Site http://naramura.sakura.ne.jp/
Translated by Xenres
Copyright © 1997 - 2007 Naramura
Please include a credit in your game to Naramura, along with a link to
his website in your game credits if you choose to use this script.
Alright, just import the required graphics into your windowskins folder ( both the background ( system) and the windowskin (window) graphics), then find " # Configurable options" and change the settings immediately following it to match the settings for the chosen configuration, and finally, change the windowskin graphic in your database to point to the window file. That's it.
If you wish to create your own skins for this system, the layout is as follows:
A. Status Window Area
B. Navigation Menu ( items, status, whatnot )
C. Information Window
D. Unused ( you could put the creators name here as it won't be displayed.
This system supports window and background transparency, so you can potentially set it up so that you can see the map through the menu as shown in example 7.
Alright, I will provide minimal support for this script, and try to fix what bugs that I can should they occur, but for any major problems, you are on your own. Namamura does not support my translation, unless he decides to come here and announce that he does.
Created by Naramura
Author's Site http://naramura.sakura.ne.jp/
Translated by Xenres
Copyright © 1997 - 2007 Naramura
Please include a credit in your game to Naramura, along with a link to
his website in your game credits if you choose to use this script.
Alright, just import the required graphics into your windowskins folder ( both the background ( system) and the windowskin (window) graphics), then find " # Configurable options" and change the settings immediately following it to match the settings for the chosen configuration, and finally, change the windowskin graphic in your database to point to the window file. That's it.
If you wish to create your own skins for this system, the layout is as follows:
A. Status Window Area
B. Navigation Menu ( items, status, whatnot )
C. Information Window
D. Unused ( you could put the creators name here as it won't be displayed.
This system supports window and background transparency, so you can potentially set it up so that you can see the map through the menu as shown in example 7.
Alright, I will provide minimal support for this script, and try to fix what bugs that I can should they occur, but for any major problems, you are on your own. Namamura does not support my translation, unless he decides to come here and announce that he does.
Naramura Window System
Code:
=begin
--------------------------------------------------------------------------
Naramura Custom Window Graphics Script
Created by Naramura
Author's Site http://naramura.sakura.ne.jp/
Translated by Xenres
--------------------------------------------------------------------------
Copyright (c) 1997 - 2007 Naramura
Please include a credit in your game to Naramura, along with a link to
his website in your game credits if you choose to use this script.
--------------------------------------------------------------------------
Original script file -->
http://naramura.sakura.ne.jp/game/note/rgss/window_system.txt
--------------------------------------------------------------------------
Author does not support this script
Limited support from Xenres
( I'll try to fix any errors as a result of my translation if I am able,
anything beyond that is up to you. )
--------------------------------------------------------------------------
=end
module NARAMURA_RGSS2
# MENU_BACKEX
# Set menu background
# WIN_BACKPATTERN
# Backround pattern handling
# false:Tile true:Stretch
# WIN_BOPACITY
# Set window opacity
# TEXT_NORMAL,TEXT_NOUSE,TEXT_SYSTEM,TEXT_PINCH,TEXT_DEATH
# Normal,Disabled,System,Crisis,Knockout
# Configurable options
MENU_BACKEX = "menu_system01"
WIN_BACKPATTERN = false
WIN_BOPACITY = 255
TEXT_NORMAL = Color.new(255, 255, 255, 255)
TEXT_NOUSE = Color.new(255, 255, 255, 128)
TEXT_SYSTEM = Color.new(192, 224, 255, 255)
TEXT_PINCH = Color.new(255, 255, 64, 255)
TEXT_DEATH = Color.new(255, 64, 0, 255)
end
# ââ Window_Base
class Window_Base < Window
#--------------------------------------------------------------------------
# ââ Object Initialization
#--------------------------------------------------------------------------
alias initialize_naramura_rgss2 initialize
def initialize(x, y, width, height)
initialize_naramura_rgss2(x, y, width, height)
self.stretch = NARAMURA_RGSS2::WIN_BACKPATTERN
end
#--------------------------------------------------------------------------
# ââ get normal color
#--------------------------------------------------------------------------
def normal_color
return NARAMURA_RGSS2::TEXT_NORMAL
end
#--------------------------------------------------------------------------
# ââ get disabled color
#--------------------------------------------------------------------------
def disabled_color
return NARAMURA_RGSS2::TEXT_NOUSE
end
#--------------------------------------------------------------------------
# ââ get system color
#--------------------------------------------------------------------------
def system_color
return NARAMURA_RGSS2::TEXT_SYSTEM
end
#--------------------------------------------------------------------------
# ââ get crisis color
#--------------------------------------------------------------------------
def crisis_color
return NARAMURA_RGSS2::TEXT_PINCH
end
#--------------------------------------------------------------------------
# ââ get knockout color
#--------------------------------------------------------------------------
def knockout_color
return NARAMURA_RGSS2::TEXT_DEATH
end
end
# ââ Fix font color settings not represented in Window_Base
class Window_ShopCommand < Window_Selectable
alias naramura_rgss2_ref refresh
def refresh
self.contents.font.color = normal_color
naramura_rgss2_ref
end
end
class Window_NameEdit < Window_Base
alias naramura_rgss2_ref refresh
def refresh
self.contents.font.color = normal_color
naramura_rgss2_ref
end
end
class Window_NameInput < Window_Base
alias naramura_rgss2_ref refresh
def refresh
self.contents.font.color = normal_color
naramura_rgss2_ref
end
end
#==============================================================================
# ââ Window_Menu
#------------------------------------------------------------------------------
# ãâ¬â¬Display menu background
#==============================================================================
class Window_MenuBase < Window_Base
#--------------------------------------------------------------------------
# ââ Object Initialization
#--------------------------------------------------------------------------
def initialize(type)
super(-16,-16,672,512)
self.contents = Bitmap.new(width - 32, height - 32)
bitmap = Bitmap.new("Graphics/Windowskins/"+NARAMURA_RGSS2::MENU_BACKEX)
y = 0
case type
when 0 # Main menu
rect = Rect.new(0,64,640,480)
when 1 # Status Menu
rect = Rect.new(160,64,640,480)
when 2 # Menu Items
rect = Rect.new(160,0,640,480)
when 3 # Skills Menu
rect = Rect.new(160,0,640,416)
y = 64
self.contents.blt(0,0,bitmap,Rect.new(160,0,640,64))
end
self.opacity = 0
self.z = 0
self.contents.blt(0,y,bitmap,rect)
end
end
# Set scene background images for each set
class Scene_Menu
#--------------------------------------------------------------------------
# ââ Main Processing
#--------------------------------------------------------------------------
def main
# Create Command Window
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Save"
s6 = "End Game"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
# If party size 0
if $game_party.actors.size == 0
# Disable item, skills, equip, and status options
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
# If save not allowed
if $game_system.save_disabled
# disable save option
@command_window.disable_item(4)
end
# create playtime window
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 224
# create steps window
@steps_window = Window_Steps.new
@steps_window.x = 0
@steps_window.y = 320
# create gold window
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
# create status window
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
# Load additions
@menubase_window = Window_MenuBase.new(0)
@command_window.opacity = 0
@playtime_window.opacity = 0
@steps_window.opacity = 0
@gold_window.opacity = 0
@status_window.opacity = 0
# transition graphics
Graphics.transition
# main loop
loop do
# update graphics
Graphics.update
# update input
Input.update
# frame update
update
# break loop if we change scenes
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# dispose window
@command_window.dispose
@playtime_window.dispose
@steps_window.dispose
@gold_window.dispose
@status_window.dispose
@menubase_window.dispose
end
end
class Scene_Item
#--------------------------------------------------------------------------
# ââ Main Processing
#--------------------------------------------------------------------------
def main
# Create Help & Item windows
@help_window = Window_Help.new
@item_window = Window_Item.new
# associate item window with help window
@item_window.help_window = @help_window
# Create target window (set invisible to inactive)
@target_window = Window_Target.new
@target_window.visible = false
@target_window.active = false
# Additions here
@menubase_window = Window_MenuBase.new(2)
@help_window.opacity = 0
@item_window.opacity = 0
@target_window.back_opacity = NARAMURA_RGSS2::WIN_BOPACITY
# Transition Graphics
Graphics.transition
# Main Loop
loop do
# Update graphics
Graphics.update
# Update input
Input.update
# Update frame
update
# break loop on scene change
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# dispose windows
@help_window.dispose
@item_window.dispose
@target_window.dispose
@menubase_window.dispose # dispose additions
end
end
class Scene_Skill
#--------------------------------------------------------------------------
# ââ Main Processing
#--------------------------------------------------------------------------
def main
# Get Actors
@actor = $game_party.actors[@actor_index]
# Create Help, Status, & Skill windows
@help_window = Window_Help.new
@status_window = Window_SkillStatus.new(@actor)
@skill_window = Window_Skill.new(@actor)
# Associate skill window with help window
@skill_window.help_window = @help_window
# Create target window (Set invisible to inactive)
@target_window = Window_Target.new
@target_window.visible = false
@target_window.active = false
# Additions
@menubase_window = Window_MenuBase.new(3)
@help_window.opacity = 0
@status_window.opacity = 0
@skill_window.opacity = 0
@target_window.back_opacity = NARAMURA_RGSS2::WIN_BOPACITY
# Transition graphics
Graphics.transition
# Main loop
loop do
# Update graphics
Graphics.update
# Update input
Input.update
# Update frame
update
# break loop on scene change
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# dispose windows
@help_window.dispose
@status_window.dispose
@skill_window.dispose
@target_window.dispose
@menubase_window.dispose # dispose additions
end
end
class Scene_Equip
#--------------------------------------------------------------------------
# ââ Main Processing
#--------------------------------------------------------------------------
def main
# Get Actors
@actor = $game_party.actors[@actor_index]
# Create windows
@help_window = Window_Help.new
@left_window = Window_EquipLeft.new(@actor)
@right_window = Window_EquipRight.new(@actor)
@item_window1 = Window_EquipItem.new(@actor, 0)
@item_window2 = Window_EquipItem.new(@actor, 1)
@item_window3 = Window_EquipItem.new(@actor, 2)
@item_window4 = Window_EquipItem.new(@actor, 3)
@item_window5 = Window_EquipItem.new(@actor, 4)
# Associate windows with help window
@right_window.help_window = @help_window
@item_window1.help_window = @help_window
@item_window2.help_window = @help_window
@item_window3.help_window = @help_window
@item_window4.help_window = @help_window
@item_window5.help_window = @help_window
# Set cursor position
@right_window.index = @equip_index
refresh
# Additions
@menubase_window = Window_MenuBase.new(2)
@help_window.opacity = 0
@item_window1.opacity = 0
@item_window2.opacity = 0
@item_window3.opacity = 0
@item_window4.opacity = 0
@item_window5.opacity = 0
@left_window.back_opacity = NARAMURA_RGSS2::WIN_BOPACITY
@right_window.back_opacity = NARAMURA_RGSS2::WIN_BOPACITY
# Transition graphics
Graphics.transition
# main loop
loop do
# update graphics
Graphics.update
# update input
Input.update
# update frames
update
# break loop on scene change
if $scene != self
break
end
end
# prepare for transition
Graphics.freeze
# dispose windows
@help_window.dispose
@left_window.dispose
@right_window.dispose
@item_window1.dispose
@item_window2.dispose
@item_window3.dispose
@item_window4.dispose
@item_window5.dispose
@menubase_window.dispose # dispose additions
end
end
class Scene_Status
#--------------------------------------------------------------------------
# ââ Main Processing
#--------------------------------------------------------------------------
def main
# Get Actors
@actor = $game_party.actors[@actor_index]
# Create status windows
@status_window = Window_Status.new(@actor)
# Additions
@menubase_window = Window_MenuBase.new(1)
@status_window.opacity = 0
# Transition Graphics
Graphics.transition
# Main loop
loop do
# update graphics
Graphics.update
# update input
Input.update
# update frames
update
# break loop on scene change
if $scene != self
break
end
end
# prepare for transition
Graphics.freeze
# dispose windows
@status_window.dispose
@menubase_window.dispose # dispose additions
end
end
class Scene_File
#--------------------------------------------------------------------------
# ââ Main Processing
#--------------------------------------------------------------------------
def main
# Create help window
@help_window = Window_Help.new
@help_window.set_text(@help_text)
# Create Save File window
@savefile_windows = []
for i in 0..3
@savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
end
# Select last file operation
@file_index = $game_temp.last_file_index
@savefile_windows[@file_index].selected = true
# Additions
@menubase_window = Window_MenuBase.new(2)
@help_window.opacity = 0
for i in 0..3
@savefile_windows[i].opacity = 0
end
# Transition graphics
Graphics.transition
# main loop
loop do
# update graphics
Graphics.update
# update input
Input.update
# update frames
update
# break loop on scene change
if $scene != self
break
end
end
# prepare for transition
Graphics.freeze
# dispose windows
@help_window.dispose
@menubase_window.dispose # dispose additions
for i in @savefile_windows
i.dispose
end
end
end
class Scene_Shop
#--------------------------------------------------------------------------
# ââ Main processing
#--------------------------------------------------------------------------
def main
# create help window
@help_window = Window_Help.new
# create command window
@command_window = Window_ShopCommand.new
# create gold window
@gold_window = Window_Gold.new
@gold_window.x = 480
@gold_window.y = 64
# Create a dummy window
@dummy_window = Window_Base.new(0, 128, 640, 352)
# create buy window
@buy_window = Window_ShopBuy.new($game_temp.shop_goods)
@buy_window.active = false
@buy_window.visible = false
@buy_window.help_window = @help_window
# create sell window
@sell_window = Window_ShopSell.new
@sell_window.active = false
@sell_window.visible = false
@sell_window.help_window = @help_window
# create number window
@number_window = Window_ShopNumber.new
@number_window.active = false
@number_window.visible = false
# create status window
@status_window = Window_ShopStatus.new
@status_window.visible = false
# additions
@menubase_window = Window_MenuBase.new(3)
@help_window.opacity = 0
@command_window.opacity = 0
@gold_window.opacity = 0
@dummy_window.opacity = 0
@buy_window.opacity = 0
@sell_window.opacity = 0
@number_window.opacity = 0
@status_window.back_opacity = NARAMURA_RGSS2::WIN_BOPACITY
# transition graphics
Graphics.transition
# main loop
loop do
# update graphics
Graphics.update
# update input
Input.update
# update frames
update
# break loop on scene change
if $scene != self
break
end
end
# prepare for transition
Graphics.freeze
# dispose windows
@help_window.dispose
@command_window.dispose
@gold_window.dispose
@dummy_window.dispose
@buy_window.dispose
@sell_window.dispose
@number_window.dispose
@status_window.dispose
@menubase_window.dispose # dispose additions
end
end
class Scene_Name
#--------------------------------------------------------------------------
# ââ Main Processing
#--------------------------------------------------------------------------
def main
# get actors
@actor = $game_actors[$game_temp.name_actor_id]
# create windows
@edit_window = Window_NameEdit.new(@actor, $game_temp.name_max_char)
@input_window = Window_NameInput.new
# additions
@menubase_window = Window_MenuBase.new(1)
@edit_window.opacity = 0
@input_window.opacity = 0
# transition graphics
Graphics.transition
# main loop
loop do
# update graphics
Graphics.update
# update input
Input.update
# update frames
update
# break loop on scene change
if $scene != self
break
end
end
# prepare for transitions
Graphics.freeze
# dispose windows
@edit_window.dispose
@input_window.dispose
@menubase_window.dispose # dispose addition
end
end
NWS Graphics & Configurations
Click on the thumbnails to see a larger preview image. Settings and required graphics for each configuration are within the spoiler tags below the preview.
Graphics & Settings
background
windowskin
Settings:
windowskin
Settings:
Code:
MENU_BACKEX = "menu_system01"
WIN_BACKPATTERN = false
WIN_BOPACITY = 255
TEXT_NORMAL = Color.new(255, 255, 255, 255)
TEXT_NOUSE = Color.new(255, 255, 255,128)
TEXT_SYSTEM = Color.new(100,130,140,255)
TEXT_PINCH = Color.new(230,180,100,255)
TEXT_DEATH = Color.new(170,170,55,255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system02"
WIN_BACKPATTERN = false
WIN_BOPACITY = 255
TEXT_NORMAL = Color.new(90,90,90,255)
TEXT_NOUSE = Color.new(90,90,90,128)
TEXT_SYSTEM = Color.new(130,130,100,255)
TEXT_PINCH = Color.new(200,150,90,255)
TEXT_DEATH = Color.new(192,100,100,255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system03"
WIN_BACKPATTERN = true
WIN_BOPACITY = 200
TEXT_NORMAL = Color.new(180,90,130, 255)
TEXT_NOUSE = Color.new (180,90,130,128)
TEXT_SYSTEM = Color.new(195,150,160,255)
TEXT_PINCH = Color.new(95,190,200,255)
TEXT_DEATH = Color.new (90,160,100,255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system04"
WIN_BACKPATTERN = false
WIN_BOPACITY = 255
TEXT_NORMAL = Color.new(230,230,230,255)
TEXT_NOUSE = Color.new(230,230,230,128)
TEXT_SYSTEM = Color.new(140,185,200,255)
TEXT_PINCH = Color.new(230,135,50,255)
TEXT_DEATH = Color.new(235,90,55,255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system05"
WIN_BACKPATTERN = false
WIN_BOPACITY = 200
TEXT_NORMAL = Color.new(55,50,30,255)
TEXT_NOUSE = Color.new(55,50,30,128)
TEXT_SYSTEM = Color.new(110,75,60,255)
TEXT_PINCH = Color.new(230,135,50,255)
TEXT_DEATH = Color.new(160,20,20,255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system06"
WIN_BACKPATTERN = false
WIN_BOPACITY = 255
TEXT_NORMAL = Color.new(45,190,70,255)
TEXT_NOUSE = Color.new(45,150,60,128)
TEXT_SYSTEM = Color.new(130,150,200,255)
TEXT_PINCH = Color.new(230,135,50,255)
TEXT_DEATH = Color.new(200,95,55,255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system07"
WIN_BACKPATTERN = true
WIN_BOPACITY = 180
TEXT_NORMAL = Color.new(255, 255, 255, 255)
TEXT_NOUSE = Color.new(255, 255, 255, 128)
TEXT_SYSTEM = Color.new(192, 224, 255, 255)
TEXT_PINCH = Color.new(255, 255, 64, 255)
TEXT_DEATH = Color.new(255, 64, 0, 255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system08"
WIN_BACKPATTERN = false
WIN_BOPACITY = 200
TEXT_NORMAL = Color.new(220,225,190,255)
TEXT_NOUSE = Color.new(220,225,190, 128)
TEXT_SYSTEM = Color.new(175,170,150,255)
TEXT_PINCH = Color.new(230,135,50,255)
TEXT_DEATH = Color.new(200,95,75,255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system09"
WIN_BACKPATTERN = false
WIN_BOPACITY = 200
TEXT_NORMAL = Color.new(220,225,190,255)
TEXT_NOUSE = Color.new(220,225,190, 128)
TEXT_SYSTEM = Color.new(175,170,150,255)
TEXT_PINCH = Color.new(230,135,50,255)
TEXT_DEATH = Color.new(235,90,55,255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system10"
WIN_BACKPATTERN = false
WIN_BOPACITY = 200
TEXT_NORMAL = Color.new(220,225,190, 255)
TEXT_NOUSE = Color.new(220,225,190, 128)
TEXT_SYSTEM = Color.new(175,170,150,255)
TEXT_PINCH = Color.new(230,135,50,255)
TEXT_DEATH = Color.new(200,95,55,255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system11"
WIN_BACKPATTERN = false
WIN_BOPACITY = 200
TEXT_NORMAL = Color.new(230,230,230, 255)
TEXT_NOUSE = Color.new(230,230,230, 128)
TEXT_SYSTEM = Color.new(180,160,30,255)
TEXT_PINCH = Color.new(230,135,50,255)
TEXT_DEATH = Color.new(200,95,55,255)
Graphics & Settings
background
windowskin
windowskin
Code:
MENU_BACKEX = "menu_system12"
WIN_BACKPATTERN = false
WIN_BOPACITY = 200
TEXT_NORMAL = Color.new(230,230,230, 255)
TEXT_NOUSE = Color.new(230,230,230, 128)
TEXT_SYSTEM = Color.new(150,140,100,255)
TEXT_PINCH = Color.new(230,135,50,255)
TEXT_DEATH = Color.new(200,95,55,255)