Cần các bác pro chính dùm mình cái này
Đây là script menu mình search google, mình đã edit (thêm # trước mấy cái không xài). Vấn đề là script gốc không có mục thoát game, mình thì mù tịt cái ruby, ai pro thêm mục thoát game vào dùm mình nha, tks nhiều :tanghoa:
Script mình edit ( tí xíu à ^^)
Script gốc
Tặng mấy bác bộ Futuristic Tileset Pack, Liên hệ với mình qua inbox mình sẽ đưa cho ^^
Script mình edit ( tí xíu à ^^)
#=============================================================================#
# Parthanandix's Simple Horizontal Menu #
#-----------------------------------------------------------------------------#
# Creates a menu that includes the character sprites instead of the faces and #
# the menu is horizontal. The status is only called upon when needed. #
# #
# Place below Materials but above main. Compatibility with other menu scripts #
# is unlikely. #
#=============================================================================#
module HelpText
# Change the help text below for each of the menu options.
Item_Help = "Sử dụng các items đã nhặt"
Save_Help = "Lưu."
Status_Help = "Tình trạng nhân vật"
Equip_Help = "Lưu game"
Skill_Help = "Đóng menu."
Formation_Help = "Thoát game."
Cancel_Help = "Exit the menu."
# This is to display help text when selecting an actor for a personal command.
Select_Actor_Help = "Tình trạng hiện tại."
end
class Window_Parthanandix < Window_HorzCommand
def make_command_list
add_command(Vocab::item, :item)
add_command(Vocab::status, :status)
#add_command(Vocab::equip, :equip)
#add_command(Vocab::skill, :skill)
#add_command(Vocab::formation, :formation)
add_command(Vocab::save, :save)
add_command(Vocab::cancel, :cancel)
end
def window_width
return 544
end
def col_max
return 5
end
def update_help
super
case self.index
when 0
@help_window.set_text(HelpText::Item_Help)
when 1
@help_window.set_text(HelpText::Status_Help)
when 2
@help_window.set_text(HelpText::Equip_Help)
when 3
@help_window.set_text(HelpText::Skill_Help)
when 4
@help_window.set_text(HelpText::Formation_Help)
when 5
@help_window.set_text(HelpText::Save_Help)
when 6
@help_window.set_text(HelpText::Cancel_Help)
end
end
end
class Scene_Map < Scene_Base
def call_menu
Sound.play_ok
SceneManager.call(Scene_Horz_Parthanandix)
Window_MenuCommand::init_command_position
end
end
class Window_MenuStatus < Window_Selectable
def window_width
return 544
end
def window_height
return 320
end
def draw_item(index)
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_item_background(index)
draw_character(actor.character_name, actor.character_index, rect.x + 70 , rect.y + 54)
draw_actor_simple_status(actor, rect.x + 108, rect.y)
end
def draw_item_background(index)
if index == @pending_index
contents.fill_rect(item_rect(index), pending_color)
end
end
def draw_actor_simple_status(actor, x, y)
draw_actor_name(actor, x + 40, y + 26)
#draw_actor_level(actor, x + 40, y + line_height * 1)
draw_actor_icons(actor, x + 40, y + line_height * 2)
#draw_actor_class(actor, x + 200, y)
draw_actor_hp(actor, x + 200, y + line_height * 1)
draw_actor_mp(actor, x + 200, y + line_height * 2)
end
end
class Window_Gold < Window_Base
def window_width
return 200
end
end
class Window_NewHelp < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(line_number = 1)
super(0, 0, 544, fitting_height(line_number))
end
#--------------------------------------------------------------------------
# * Set Text
#--------------------------------------------------------------------------
def set_text(text)
if text != @text
@text = text
refresh
end
end
#--------------------------------------------------------------------------
# * Clear
#--------------------------------------------------------------------------
def clear
set_text("")
end
#--------------------------------------------------------------------------
# * Set Item
# item : Skills and items etc.
#--------------------------------------------------------------------------
def set_item(item)
set_text(item ? item.description : "")
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
draw_text_ex(4, 0, @text)
end
end
#==============================================================================
# Create Scene
#==============================================================================
class Scene_Horz_Parthanandix < Scene_Base
def start
super
create_help_window
create_window
#create_gold_window
create_status_window
create_background
@status_window.visible = false
end
#----------------------------------------------------------------------------
# Terminate
#----------------------------------------------------------------------------
def terminate
super
dispose_background
end
#----------------------------------------------------------------------------
# Create Background
#----------------------------------------------------------------------------
def create_background
@back_sprite = Sprite.new
@back_sprite.bitmap = SceneManager.background_bitmap
@back_sprite.color.set(16, 16, 16, 128)
end
#----------------------------------------------------------------------------
# Dispose Background
#----------------------------------------------------------------------------
def dispose_background
@back_sprite.dispose
end
#----------------------------------------------------------------------------
# Create Gold Window
#----------------------------------------------------------------------------
def create_gold_window
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 0
end
#----------------------------------------------------------------------------
# Create Help Window
#----------------------------------------------------------------------------
def create_help_window
if SceneManager.scene_is?(Scene_Horz_Parthanandix)
@help_window = Window_NewHelp.new
@help_window.x = 0
@help_window.y = 368
end
end
#----------------------------------------------------------------------------
# Create Window
#----------------------------------------------------------------------------
def create_window
@mycmd = Window_Parthanandix.new(0,0)
@mycmd.viewport = @viewport
@mycmd.help_window = @help_window
@mycmd.set_handler(:item, method(:item_menu))
@mycmd.set_handler(:skill, method(:command_personal))
@mycmd.set_handler(:equip, method(:command_personal))
@mycmd.set_handler(:status, method(:command_personal))
@mycmd.set_handler(:formation, method(:command_formation))
@mycmd.set_handler(:save, method(:command_save))
@mycmd.set_handler(:cancel, method(:cancel_menu))
end
#----------------------------------------------------------------------------
# Choose What To Do
#----------------------------------------------------------------------------
def command_personal
@help_window.clear
@help_window.set_text(HelpText::Select_Actor_Help)
@status_window.visible = true
@status_window.select_last
@status_window.activate
#@status_window.set_handler(:ok, method(:on_personal_ok))
@status_window.set_handler(:cancel, method(:on_personal_cancel))
end
#----------------------------------------------------------------------------
# Create Status Window
#----------------------------------------------------------------------------
def create_status_window
@status_window = Window_MenuStatus.new(0,48)
end
#--------------------------------------------------------------------------
# Formation Command
#--------------------------------------------------------------------------
def command_formation
@status_window.select_last
@status_window.activate
@status_window.visible = true
@status_window.set_handler(:ok, method(:on_formation_ok))
@status_window.set_handler(:cancel, method(:on_formation_cancel))
end
#--------------------------------------------------------------------------
# * Formation [OK]
#--------------------------------------------------------------------------
def on_formation_ok
if @status_window.pending_index >= 0
$game_party.swap_order(@status_window.index,
@status_window.pending_index)
@status_window.pending_index = -1
@status_window.redraw_item(@status_window.index)
else
@status_window.pending_index = @status_window.index
end
@status_window.activate
end
#--------------------------------------------------------------------------
# * Formation [Cancel]
#--------------------------------------------------------------------------
def on_formation_cancel
if @status_window.pending_index >= 0
@status_window.pending_index = -1
@status_window.activate
else
@status_window.unselect
@mycmd.activate
@status_window.visible = false
end
end
#--------------------------------------------------------------------------
# Save Command
#--------------------------------------------------------------------------
def command_save
SceneManager.call(Scene_Save)
end
#----------------------------------------------------------------------------
# Define Item Menu
#----------------------------------------------------------------------------
def item_menu
SceneManager.call(Scene_Item)
@mycmd.active = false
end
#----------------------------------------------------------------------------
# On Status OK
#----------------------------------------------------------------------------
def on_personal_ok
case @mycmd.current_symbol
when :skill
SceneManager.call(Scene_Skill)
when :equip
SceneManager.call(Scene_Equip)
when :status
SceneManager.call(Scene_Status)
end
end
#----------------------------------------------------------------------------
# On Status Cancel
#----------------------------------------------------------------------------
def on_personal_cancel
@status_window.unselect
@status_window.visible = false
@mycmd.activate
end
#----------------------------------------------------------------------------
# Cancel Action
#----------------------------------------------------------------------------
def cancel_menu
return_scene
end
end
Script gốc
#=============================================================================#
# Parthanandix's Simple Horizontal Menu #
#-----------------------------------------------------------------------------#
# Creates a menu that includes the character sprites instead of the faces and #
# the menu is horizontal. The status is only called upon when needed. #
# #
# Place below Materials but above main. Compatibility with other menu scripts #
# is unlikely. #
#=============================================================================#
module HelpText
# Change the help text below for each of the menu options.
Item_Help = "Use an item."
Status_Help = "View your status."
Equip_Help = "Equip armor or weapons."
Skill_Help = "Use a skill."
Formation_Help = "Change formation."
Save_Help = "Save the game."
Cancel_Help = "Exit the menu."
# This is to display help text when selecting an actor for a personal command.
Select_Actor_Help = "Choose an actor."
end
class Window_Parthanandix < Window_HorzCommand
def make_command_list
add_command(Vocab::item, :item)
add_command(Vocab::status, :status)
add_command(Vocab::equip, :equip)
add_command(Vocab::skill, :skill)
add_command(Vocab::formation, :formation)
add_command(Vocab::save, :save)
add_command(Vocab::cancel, :cancel)
end
def window_width
return 544
end
def col_max
return 5
end
def update_help
super
case self.index
when 0
@help_window.set_text(HelpText::Item_Help)
when 1
@help_window.set_text(HelpText::Status_Help)
when 2
@help_window.set_text(HelpText::Equip_Help)
when 3
@help_window.set_text(HelpText::Skill_Help)
when 4
@help_window.set_text(HelpText::Formation_Help)
when 5
@help_window.set_text(HelpText::Save_Help)
when 6
@help_window.set_text(HelpText::Cancel_Help)
end
end
end
class Scene_Map < Scene_Base
def call_menu
Sound.play_ok
SceneManager.call(Scene_Horz_Parthanandix)
Window_MenuCommand::init_command_position
end
end
class Window_MenuStatus < Window_Selectable
def window_width
return 544
end
def window_height
return 320
end
def draw_item(index)
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_item_background(index)
draw_character(actor.character_name, actor.character_index, rect.x + 70 , rect.y + 54)
draw_actor_simple_status(actor, rect.x + 108, rect.y)
end
def draw_item_background(index)
if index == @pending_index
contents.fill_rect(item_rect(index), pending_color)
end
end
def draw_actor_simple_status(actor, x, y)
draw_actor_name(actor, x + 40, y)
draw_actor_level(actor, x + 40, y + line_height * 1)
draw_actor_icons(actor, x + 40, y + line_height * 2)
draw_actor_class(actor, x + 200, y)
draw_actor_hp(actor, x + 200, y + line_height * 1)
draw_actor_mp(actor, x + 200, y + line_height * 2)
end
end
class Window_Gold < Window_Base
def window_width
return 200
end
end
class Window_NewHelp < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(line_number = 1)
super(0, 0, 344, fitting_height(line_number))
end
#--------------------------------------------------------------------------
# * Set Text
#--------------------------------------------------------------------------
def set_text(text)
if text != @text
@text = text
refresh
end
end
#--------------------------------------------------------------------------
# * Clear
#--------------------------------------------------------------------------
def clear
set_text("")
end
#--------------------------------------------------------------------------
# * Set Item
# item : Skills and items etc.
#--------------------------------------------------------------------------
def set_item(item)
set_text(item ? item.description : "")
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
draw_text_ex(4, 0, @text)
end
end
#==============================================================================
# Create Scene
#==============================================================================
class Scene_Horz_Parthanandix < Scene_Base
def start
super
create_help_window
create_window
create_gold_window
create_status_window
create_background
@status_window.visible = false
end
#----------------------------------------------------------------------------
# Terminate
#----------------------------------------------------------------------------
def terminate
super
dispose_background
end
#----------------------------------------------------------------------------
# Create Background
#----------------------------------------------------------------------------
def create_background
@back_sprite = Sprite.new
@back_sprite.bitmap = SceneManager.background_bitmap
@back_sprite.color.set(16, 16, 16, 128)
end
#----------------------------------------------------------------------------
# Dispose Background
#----------------------------------------------------------------------------
def dispose_background
@back_sprite.dispose
end
#----------------------------------------------------------------------------
# Create Gold Window
#----------------------------------------------------------------------------
def create_gold_window
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 368
end
#----------------------------------------------------------------------------
# Create Help Window
#----------------------------------------------------------------------------
def create_help_window
if SceneManager.scene_is?(Scene_Horz_Parthanandix)
@help_window = Window_NewHelp.new
@help_window.x = 200
@help_window.y = 368
end
end
#----------------------------------------------------------------------------
# Create Window
#----------------------------------------------------------------------------
def create_window
@mycmd = Window_Parthanandix.new(0,0)
@mycmd.viewport = @viewport
@mycmd.help_window = @help_window
@mycmd.set_handler(:item, method(:item_menu))
@mycmd.set_handler(:skill, method(:command_personal))
@mycmd.set_handler(:equip, method(:command_personal))
@mycmd.set_handler(:status, method(:command_personal))
@mycmd.set_handler(:formation, method(:command_formation))
@mycmd.set_handler(:save, method(:command_save))
@mycmd.set_handler(:cancel, method(:cancel_menu))
end
#----------------------------------------------------------------------------
# Choose What To Do
#----------------------------------------------------------------------------
def command_personal
@help_window.clear
@help_window.set_text(HelpText::Select_Actor_Help)
@status_window.visible = true
@status_window.select_last
@status_window.activate
@status_window.set_handler(:ok, method(:on_personal_ok))
@status_window.set_handler(:cancel, method(:on_personal_cancel))
end
#----------------------------------------------------------------------------
# Create Status Window
#----------------------------------------------------------------------------
def create_status_window
@status_window = Window_MenuStatus.new(0,48)
end
#--------------------------------------------------------------------------
# Formation Command
#--------------------------------------------------------------------------
def command_formation
@status_window.select_last
@status_window.activate
@status_window.visible = true
@status_window.set_handler(:ok, method(:on_formation_ok))
@status_window.set_handler(:cancel, method(:on_formation_cancel))
end
#--------------------------------------------------------------------------
# * Formation [OK]
#--------------------------------------------------------------------------
def on_formation_ok
if @status_window.pending_index >= 0
$game_party.swap_order(@status_window.index,
@status_window.pending_index)
@status_window.pending_index = -1
@status_window.redraw_item(@status_window.index)
else
@status_window.pending_index = @status_window.index
end
@status_window.activate
end
#--------------------------------------------------------------------------
# * Formation [Cancel]
#--------------------------------------------------------------------------
def on_formation_cancel
if @status_window.pending_index >= 0
@status_window.pending_index = -1
@status_window.activate
else
@status_window.unselect
@mycmd.activate
@status_window.visible = false
end
end
#--------------------------------------------------------------------------
# Save Command
#--------------------------------------------------------------------------
def command_save
SceneManager.call(Scene_Save)
end
#----------------------------------------------------------------------------
# Define Item Menu
#----------------------------------------------------------------------------
def item_menu
SceneManager.call(Scene_Item)
@mycmd.active = false
end
#----------------------------------------------------------------------------
# On Status OK
#----------------------------------------------------------------------------
def on_personal_ok
case @mycmd.current_symbol
when :skill
SceneManager.call(Scene_Skill)
when :equip
SceneManager.call(Scene_Equip)
when :status
SceneManager.call(Scene_Status)
end
end
#----------------------------------------------------------------------------
# On Status Cancel
#----------------------------------------------------------------------------
def on_personal_cancel
@status_window.unselect
@status_window.visible = false
@mycmd.activate
end
#----------------------------------------------------------------------------
# Cancel Action
#----------------------------------------------------------------------------
def cancel_menu
return_scene
end
end
Tặng mấy bác bộ Futuristic Tileset Pack, Liên hệ với mình qua inbox mình sẽ đưa cho ^^
Comments
Đây là web bán RPG Maker Web
Sẵn tiện upload share cho mấy bác luôn Download
Tải về chạy cho nó giải nén là được
Theo mình nghĩ thì chắc là không sao đâu bạn.
Cũng giống như bạn xài lậu RPG Maker thôi mà =))
(Mình nghĩ thế thôi, như chưa dám chắc )
Mà bạn dùng game để bán thì khác