Script
RPG Maker VX

Lite Menu VX

Ce script remplace le menu par défaut de RPG Maker VX par un menu allégé, plus simple visuellement, centré sur l’essentiel.Il ne refait pas tout...

Menu

Ce script remplace le menu par défaut de RPG Maker VX par un menu allégé, plus simple visuellement, centré sur l’essentiel.

Il ne refait pas tout le système de menu. Il modifie surtout la scène de menu principale pour proposer une interface plus minimaliste, avec :

  • une fenêtre de commandes recentrée ;
  • une sélection d’acteur simplifiée ;
  • moins d’informations affichées à l’écran.

À quoi sert ce script ?

Le but du script est clairement de faire un menu léger.

Par défaut, le menu VX affiche pas mal d’infos en même temps : statut des personnages, ressources, fenêtres diverses.
Ici, on coupe dans le gras. Le script garde seulement :

  • les commandes principales ;
  • une liste simple des membres du groupe quand il faut choisir un acteur.

C’est utile si vous voulez :

  • un menu plus propre ;
  • une présentation plus sobre ;
  • un projet qui n’a pas besoin d’un gros menu chargé ;
  • une base à personnaliser.
Bloc de code
TEXTE
#==============================================================================
# ¦ [RMVX] Lite Menu Version 1.01
#------------------------------------------------------------------------------
# by Woratana [[email protected]]
# released on 03/02/2008
#
# Features Version 1.01
# - Fixed Bug in Gold_Text
# Features Version 1.0
# - Allow user to config menu
# - Add Gold/Location Window (user can turn on/off)
#==============================================================================

module Wor_Litemenu
  #================
  # SETUP Script Here!
  #================
  MENU_WINDOW_Y = 50
  CHARA_WINDOW_Y = 160
  CHARA_WINDOW_WIDTH = 175
  SHOW_LV = true
  SHOW_LOCATION_WINDOW = true
  VOCAB_LOCATION = "Location:"
  VOCAB_GOLD = "Gold:"
  LOCATION_WINDOW_Y = 295
  LOCATION_TEXT_X = 96
  GOLD_TEXT_X = 84
end

class Scene_Menu < Scene_Base

  def initialize(menu_index = 0)
	@menu_index = menu_index
  end

  def start
	super
	create_menu_background
	create_command_window
	lite_create_location_window if Wor_Litemenu::SHOW_LOCATION_WINDOW == true
	lite_create_actor_window
  end

# START LITE METHOD
  def lite_create_actor_window
	member = []
	@item_max = $game_party.members.size
	for actor in $game_party.members
	 member.push(actor.name + " Lv." + actor.level.to_s) if Wor_Litemenu::SHOW_LV == true
	 member.push (actor.name) if Wor_Litemenu::SHOW_LV == false
	end
	@status_window = Window_Command.new(Wor_Litemenu::CHARA_WINDOW_WIDTH, member)
	@status_window.index = @menu_index
	@status_window.x = (554 /2) - (@status_window.width/2)
	@status_window.y = Wor_Litemenu::CHARA_WINDOW_Y
	@status_window.visible = false
  end

  def lite_get_map_name
	mapdata = load_data("Data/MapInfos.rvdata")
	map_id = $game_map.map_id
	@map_name = mapdata[map_id].name
  end
 
def lite_draw_currency_value(value, x, y, width)
  # Dessine tout aligné à droite dans une zone fixe
  text = value.to_s + " " + Vocab::gold
  @location_window.contents.font.color = @location_window.normal_color
  @location_window.contents.draw_text(x, y, width, 24, text, 2) # 2 = aligné à droite
end
 
  def lite_create_location_window
	width = 300
	height = 90
	x = (554 /2) - (width/2)
	y = Wor_Litemenu::LOCATION_WINDOW_Y
	@location_window = Window_Base.new(x, y, width, height)
	@location_window.create_contents
	lite_get_map_name
	@location_window.contents.font.color = @location_window.system_color
	@location_window.contents.draw_text(0, 0, 300, 24, Wor_Litemenu::VOCAB_GOLD)
	@location_window.contents.font.color = @location_window.normal_color
	lite_draw_currency_value($game_party.gold, 4, 0, Wor_Litemenu::GOLD_TEXT_X)
	@location_window.contents.font.color = @location_window.system_color
	@location_window.contents.draw_text(0, 32, 300, 24, Wor_Litemenu::VOCAB_LOCATION)
	@location_window.contents.font.color = @location_window.normal_color
	@location_window.contents.draw_text(Wor_Litemenu::LOCATION_TEXT_X, 32, 300, 24, @map_name)
  end

# END LITE METHOD

  def terminate
	super
	dispose_menu_background
	@command_window.dispose
	@location_window.dispose if @location_window
	@status_window.dispose
  end
 
  def update
	super
	update_menu_background
	@command_window.update
	if @command_window.active
	  update_command_selection
	elsif @status_window.active
	  @status_window.update
	  update_actor_selection
	end
  end

  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_Command.new(200, [s1, s2, s3, s4, s5, s6],2,3)
	@command_window.index = @menu_index
	@command_window.x = (554 /2) - (@command_window.width/2) #167
	@command_window.y = Wor_Litemenu::MENU_WINDOW_Y
	if $game_party.members.size == 0
	  @command_window.draw_item(0, false)
	  @command_window.draw_item(1, false)
	  @command_window.draw_item(2, false)
	  @command_window.draw_item(3, false)
	end
	if $game_system.save_disabled
	  @command_window.draw_item(4, false)
	end
  end

  def start_actor_selection
	@command_window.active = false
	@status_window.visible = true
	@status_window.active = true
	@status_window.index = 0
  end

  def end_actor_selection
	@command_window.active = true
	@status_window.visible = false
	@status_window.active = false
	@status_window.index = -1
  end
 
end

Add-ons utiles

Affichez seulement une portion d’image dans RPG Maker XP pour utiliser des planches de facesets, portraits ou sprites plus proprement.

Newsletter

Ne ratez rien de la communauté

Nouveautés, jeux inspirants et ressources utiles directement dans votre boîte mail.

Pas de spam · Désinscription en un clic