Cacadosman™
Jumlah posting : 20
| Subyek: Fadli's Styled Menu VX Wed 14 Aug 2013 - 12:31 | |
| Fadli's Styled Menu VX Versi: 1.40 Tipe: Menu System
Pengenalan Ini adalah script buatan saya kedua karena bosan melihat menu system yg basic, pengen comot dari orang laen rasanya kuang pas , makanya saya mencoba membuat script menu system ini dan lumayan menambah kreativitas Fitur
- Ya menu system lah
- Disertai spriteset dalam menu
- Disertai Map name, Play time, Step
- Terjangkau
Screenshots [You must be registered and logged in to see this image.] Demo
- Spoiler:
Males Nge-upload
Scripts - Code:
-
=begin =============================================================================== ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Name : Fadli's Styled Menu VX Author : Fadli Maulana Relase Date : 02/03/2012 Version : 1.5 Engine : RPG Maker VX <RMVX> Type : Menu System ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ =============================================================================== ******************************************************************************* SPECIAL TANKS TO : * RMID Users RMID Nickname : * cacad ******************************************************************************* =============================================================================== ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
############################################################################### PERBEDAAN VERSI *Versi 1.0 memakai background bergambar *Versi 1.0.A memakai create_menu_background *Versi 1.1 memakai info map, step, dan playtime dan perbaikan bug *Versi 1.2 hanya perbaikan bug *Versi 1.3 hanya perbaikan bug di map name *Versi 1.4 perbaikan bug di map name dan perbaikan window *Versi 1.5 perbaikan bug save menu ###############################################################################
=end
#============================================================================== # ** Window_MenuStatus #------------------------------------------------------------------------------ # This window displays party member status on the menu screen. #==============================================================================
class Window_MenuStatus2 < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate #-------------------------------------------------------------------------- def initialize(x, y) super(0, 218, 545, 198) @column_max = 4 self.index = -1 refresh self.active = false end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear @item_max = $game_party.members.size for actor in $game_party.members draw_actor_face(actor, actor.index * 130 + WLH / 2, 70 + 2, 92) x = actor.index * 130 + WLH / 2 y = 0 draw_actor_name(actor, x, y) #draw_actor_graphic(actor, x + 15, y + 82) #draw_actor_class(actor, x + 120, y) draw_actor_class(actor, actor.index * 130 + 12, y + 45) draw_actor_level(actor, x, y + WLH * 1) draw_actor_state(actor, x + 65, y + 22) draw_actor_hp(actor, x - 11, 40 + WLH * 1) draw_actor_mp(actor, x - 11, 40 + WLH * 2) end end #-------------------------------------------------------------------------- # * Update cursor #-------------------------------------------------------------------------- def update_cursor if @index < 0 # No cursor self.cursor_rect.empty elsif @index < @item_max # Normal @index * 96 self.cursor_rect.set(@index * 130, 0, 120, 167) elsif @index >= 100 # Self (@index - 100) * 96 self.cursor_rect.set((@index - 100) * 130, 0, 120, 167) else # All self.cursor_rect.set(0, 0, contents.width, @item_max * 96) end end end
#============================================================================== # ** Window_Info #------------------------------------------------------------------------------ # Untuk menampilkan info #==============================================================================
class Window_Info < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 545, WLH + 64) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear #MAP NAME @map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name self.contents.draw_text(30, 0, width - 384, WLH, @map_name, 0) draw_icon(153, 0, 0) # Map icon #GOLD draw_currency_value($game_party.gold, 4, 0, 500) draw_icon(205, 340, 0) # Gold icon #STEP self.contents.draw_text(10, 32, width - 384, WLH, $game_party.steps, 2) draw_icon(48, 0, 32) #Step icon end #============================================================================= # * Check if Playtime is different from last check #============================================================================= def update if @text != (Graphics.frame_count / Graphics.frame_rate) draw_time end super end # update #----------------------------------------------------------------------------- # #----------------------------------------------------------------------------- def draw_time #Play time self.contents.clear_rect(Rect.new(340, 32, (260 - 32), 24)) draw_icon(188, 340, 32) @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.draw_text(349, 32, width - 384, WLH, @text, 2) end end #---------------------------------------------------------------------------- # *Buat Nampilin karakter di menu #---------------------------------------------------------------------------- class Window_Chibi < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate #-------------------------------------------------------------------------- def initialize(x, y) super(0, 0, 544, 416) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.opacity = 0 self.back_opacity = 0 self.contents_opacity = 250 @item_max = $game_party.members.size for actor in $game_party.members draw_actor_graphic(actor, actor.index * 132 + 57, 193 + 2) end end end
class Window_Comman < Window_Selectable #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :commands # command #-------------------------------------------------------------------------- # * Object Initialization # width : window width # commands : command string array # column_max : digit count (if 2 or more, horizontal selection) # row_max : row count (0: match command count) # spacing : blank space when items are arrange horizontally #-------------------------------------------------------------------------- def initialize(width, commands, column_max = 6, row_max = 0, spacing = 1) if row_max == 0 row_max = (commands.size + column_max - 5) / column_max end super(0, 0, 544, row_max * WLH + 32, spacing) @commands = commands @item_max = commands.size @column_max = column_max refresh self.index = 0 end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear for i in 0...@item_max draw_item(i) end end #-------------------------------------------------------------------------- # * Draw Item # index : item number # enabled : enabled flag. When false, draw semi-transparently. #-------------------------------------------------------------------------- def draw_item(index, enabled = true) rect = item_rect(index) rect.x += 4 rect.width -= 8 self.contents.clear_rect(rect) self.contents.font.color = normal_color self.contents.font.color.alpha = enabled ? 255 : 128 self.contents.draw_text(rect, @commands[index]) end end
#============================================================================== # ** 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 @info_window = Window_Info.new(0, 55) @status_window = Window_MenuStatus2.new(160, 0) @chibi_indicator = Window_Chibi.new(0, 0) end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate super dispose_menu_background @command_window.dispose @info_window.dispose @status_window.dispose @chibi_indicator.dispose end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update @info_window.update @status_window.update @chibi_indicator.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::status s5 = Vocab::save s6 = Vocab::game_end @command_window = Window_Comman.new(160, [s1, s2, s3, s4, s5, s6]) @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 print "You don't have saved data" @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 $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,3 # Skill, equipment, status start_actor_selection when 4 # save $scene = Scene_File.new(true, false, false) when 5 $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_Status.new(@status_window.index) end end end end Credits : |
|
BayuDwinata Basket Maniac The Powerless Warrior
Jumlah posting : 194 Lokasi : Rengat
| Subyek: Re: Fadli's Styled Menu VX Wed 14 Aug 2013 - 12:35 | |
| Wogh Masukkin script scriptnya Keyen nih Tapi itu "Menu_System" nama map kah? Script confirmed. Astral added! |
|
|
Cacadosman™
Jumlah posting : 20
| Subyek: Re: Fadli's Styled Menu VX Wed 14 Aug 2013 - 12:37 | |
| |
|
AstraliZation
Jumlah posting : 1
| Subyek: Re: Fadli's Styled Menu VX Wed 14 Aug 2013 - 12:37 | |
| The member ' Cacadosman' has done the following action : Dices roll'Daily Dice' : 4, 1 |
|
BayuDwinata Basket Maniac The Powerless Warrior
Jumlah posting : 194 Lokasi : Rengat
| Subyek: Re: Fadli's Styled Menu VX Wed 14 Aug 2013 - 12:38 | |
| lah kenapa pak? Ngetes Dice yah? sistem Dice belom selesei |
|
erbees Moderator
Jumlah posting : 5
| Subyek: Re: Fadli's Styled Menu VX Sun 25 Aug 2013 - 11:26 | |
| mana SS nya ?? |
|
Cacadosman™
Jumlah posting : 20
| Subyek: Re: Fadli's Styled Menu VX Mon 26 Aug 2013 - 17:37 | |
| Dah ane ksh kok ss nya :D |
|