::. Rafidelis .::
Member
By: Rafidelis

This script makes the menu looking like of the classic snes game Chorno Trigger
With it you can customize the pictures that will be used as options.




Paste above the Main, then put 7 files in Pictures folder of your game, with the names you set in the script.
If you want you can use the images below:
Item:
Skill:
Equip:
Status:
Save:
End Game:
"Cursor"

Skill:

Equip:

Status:

Save:

End Game:

"Cursor"

Code:
#===============================================================================
# STYLED CHRONO TRIGGER MENU
# BY : RAFIDELIS
#-------------------------------------------------------------------------------
# Rafa_Fidelis@hotmail.com ou Rafa_Fidelis@yahoo.com.br
# www.ReinoRpg.com
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Use Mode:
#-------------------------------------------------------------------------------
# Paste above the Main and take pictures 7 files in the folder where each will
# Represents a different option and the "cursor".
# In line 25 to line 31 defines the names of images that you will use.
# Note - the images must have at most 80 x 74 pixels, images larger than
# This can lead to error in the script, I recommend that you use the images of
# Iconset of VX RpgMaker ..
# If you use the images that are not centralized, go 57 and change this line:
# @ Img.x = (544 - @ img.width) / 14 and the 14 where it is changing the value you ate
# The images become centralized, so simple / ~
# If you do not want to use the cursor leaves the image name in the script "
#==============================================================================
module SCTM_RAFIDELIS
IMAGE_CURSOR_NAME = "seta"
IMAGE_ITEM_NAME = "item"
IMAGE_SKILL_NAME = "skill"
IMAGE_EQUIP_NAME = "equip"
IMAGE_STATUS_NAME = "status"
IMAGE_SAVE_NAME = "Save"
IMAGE_ENDGAME_NAME = "endgame"
end
class Scene_Menu < Scene_Base
include SCTM_RAFIDELIS
def initialize(index=0)
@index = index
end
def start
create_menu_background
@cursor = Sprite.new
@cursor.bitmap = Cache.picture(IMAGE_CURSOR_NAME)
@img = Sprite.new
@img.bitmap = Cache.picture(IMAGE_ITEM_NAME)
@img2 = Sprite.new
@img2.bitmap = Cache.picture(IMAGE_SKILL_NAME)
@img3 = Sprite.new
@img3.bitmap = Cache.picture(IMAGE_EQUIP_NAME)
@img4 = Sprite.new
@img4.bitmap = Cache.picture(IMAGE_STATUS_NAME)
@img5 = Sprite.new
@img5.bitmap = Cache.picture(IMAGE_SAVE_NAME)
@img6 = Sprite.new
@img6.bitmap = Cache.picture(IMAGE_ENDGAME_NAME)
#===============================================
# Establish the positions of images
#===============================================
@img.x = (544 - @img.width)/14
@img.y = (416 - @img.height)/2
@img2.x = (@img.x + @img2.width)
@img2.y = (416 - @img2.height)/2
@img3.x = (@img2.x + @img3.width)
@img3.y = (416 - @img.height)/2
@img4.x = (@img3.x + @img4.width)
@img4.y = (416 - @img4.height)/2
@img5.x = (@img4.x + @img5.width)
@img5.y = (416 - @img5.height)/2
@img6.x = (@img5.x + @img6.width)
@img6.y = (416 - @img6.height)/2
@cursor.x = @img.x
@cursor.y = @img.y
@cursor.z = 100
#===============================================
# Creating the Windows
#===============================================
@gold_window = Window_Gold.new(0, 360)
@status_window = Window_MenuStatus.new(160, 0)
@window_mapname = Window_Mapname.new(0,0)
@window_playtime = Window_PlayTime.new(0,@window_mapname.height)
@gold_window.opacity = 0
@status_window.z = 0
@window = Window_Base.new(0,0,544,@img.height + 10)
@window.y = (416 - @window.height)/2
@window.z = 0
@window.opacity = 0
#===============================================
# Deixando as imagens com Tom Escuro
#===============================================
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
#===============================================
#Leaving the images with Dark tone
#===============================================
@img.opacity = 20
@img2.opacity = 20
@img3.opacity = 20
@img4.opacity = 20
@img5.opacity = 20
@img6.opacity = 20
@cursor.opacity = 20
end
#================================================
# Update
#================================================
def update
super
update_menu_background
@img.update
@img2.update
@img3.update
@img4.update
@img5.update
@img6.update
@gold_window.update
@status_window.update
@window_mapname.update
@window_playtime.update
if @img.opacity < 255 and @img2.opacity < 255 and
@img3.opacity < 255 and @img4.opacity < 255 and
@img5.opacity < 255 and @window.opacity < 255 and
@gold_window.opacity < 255 and @img6.opacity < 255 and @cursor.opacity < 255
@img.opacity += 5
@img2.opacity += 5
@img3.opacity += 5
@img4.opacity += 5
@img5.opacity += 5
@img6.opacity += 5
@window.opacity += 5
@gold_window.opacity += 5
@cursor.opacity += 5
end
if @index == 0
@cursor.x = @img.x
@cursor.y = @img.y
@img.tone = Tone.new(0,0,0)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif @index == 1
@cursor.x = @img2.x
@cursor.y = @img2.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif @index == 2
@cursor.x = @img3.x
@cursor.y = @img3.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif @index == 3
@cursor.x = @img4.x
@cursor.y = @img4.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif @index == 4
@cursor.x = @img5.x
@cursor.y = @img5.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0)
@img6.tone = Tone.new(0,0,0,255)
elsif @index == 5
@cursor.x = @img6.x
@cursor.y = @img6.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(120,0,0)
end
if Input.trigger?(Input::B)
$scene = Scene_Map.new
elsif Input.trigger?(Input::RIGHT) and @index == 0
@index = 1
@cursor.x = @img2.x
@cursor.y = @img2.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif Input.trigger?(Input::RIGHT) and @index == 1
@index = 2
@cursor.x = @img3.x
@cursor.y = @img3.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif Input.trigger?(Input::RIGHT) and @index == 2
@index = 3
@cursor.x = @img4.x
@cursor.y = @img4.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif Input.trigger?(Input::RIGHT) and @index == 3
@index = 4
@cursor.x = @img5.x
@cursor.y = @img5.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0)
@img6.tone = Tone.new(0,0,0,255)
elsif Input.trigger?(Input::RIGHT) and @index == 4
@index = 5
@cursor.x = @img6.x
@cursor.y = @img6.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(120,0,0)
elsif Input.trigger?(Input::RIGHT) and @index == 5
@index = 0
@cursor.x = @img.x
@cursor.y = @img.y
@img.tone = Tone.new(0,0,0)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif Input.trigger?(Input::LEFT) and @index == 5
@index = 4
@cursor.x = @img5.x
@cursor.y = @img5.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0)
@img6.tone = Tone.new(0,0,0,255)
elsif Input.trigger?(Input::LEFT) and @index == 4
@index = 3
@cursor.x = @img4.x
@cursor.y = @img4.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif Input.trigger?(Input::LEFT) and @index == 3
@index = 2
@cursor.x = @img3.x
@cursor.y = @img3.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif Input.trigger?(Input::LEFT) and @index == 2
@index = 1
@cursor.x = @img2.x
@cursor.y = @img2.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,0)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif Input.trigger?(Input::LEFT) and @index == 1
@index = 0
@cursor.x = @img.x
@cursor.y = @img.y
@img.tone = Tone.new(0,0,0)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(0,0,0,255)
elsif Input.trigger?(Input::LEFT) and @index == 0
@index = 5
@cursor.x = @img6.x
@cursor.y = @img6.y
@img.tone = Tone.new(0,0,0,255)
@img2.tone = Tone.new(0,0,0,255)
@img3.tone = Tone.new(0,0,0,255)
@img4.tone = Tone.new(0,0,0,255)
@img5.tone = Tone.new(0,0,0,255)
@img6.tone = Tone.new(120,0,0)
elsif Input.trigger?(Input::C)
Sound.play_decision
case @index
when 0
$scene = Scene_Item.new
when 1
$scene = Scene_Skill.new
when 2
$scene = Scene_Equip.new
when 3
$scene = Scene_Status.new
when 4
$scene = Scene_File.new(true, false, false)
when 5
$scene = Scene_End.new
end
end
#===============================================
# Dispose
#===============================================
def terminate
dispose_menu_background
@img.dispose
@img2.dispose
@img3.dispose
@img4.dispose
@img5.dispose
@img6.dispose
@window.dispose
@status_window.dispose
@gold_window.dispose
@window_mapname.dispose
@window_playtime.dispose
@cursor.dispose
end
end
end
#=============================================
#Window with MapNAme
#=============================================
class Window_Mapname < Window_Base
def initialize(x, y)
super(x, y, 160, 86)
update
end
def update
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0,0,128,32,"Map Name:")
self.contents.font.color = normal_color
self.contents.draw_text(0,24,128,32,$game_map.map_name.to_s)
end
end
class Game_Map
attr_reader :map_id
def map_name
$mpname = load_data("Data/MapInfos.rvdata")
$mpname[@map_id].name
end
end
#=============================================
# Window with Play Time
#=============================================
class Window_PlayTime < Window_Base
def initialize(x,y)
super(x, y, 160, 80)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 24, "Play Time")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, 24, 120, 24, text, 2)
end
def update
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#===============================================================================
#END OF SCRIPT - Find more Rafidelis scripts in www.ReinoRpg.com / forum
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



RGSS and RGSS2 Scripts and RGSS1/2 Tutorials by Rafidelis is licensed under a
Creative Commons Atribuiçao-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil License.
Permissions beyond the scope of this license may be available at ReinoRPG.com