Partagez
Aller en bas
emixam2
emixam2
Membre

Nombre de messages : 39
Age : 30
Localisation : Quelque part devant un ordinateur
Distinction : aucune
Date d'inscription : 25/01/2008
http://www.tavales.e-monsite.com

Nouveau menu Empty Nouveau menu

le Mar 11 Mar 2008 - 12:03
Bonjour

Voici un script qui, à la base, n'est pas de moi. il à été créé par Mog et à été modifié par emixam2 et TheLSSJ

Script à placer au dessus de Main et à nommé ''new_menu''

Screen:

Nouveau menu Menuvxtd9

Script:
Code:
###################################
#Créer par Mog.
#modifier par emixam2 et TheLSSJ
##############


#===============================================================
#                           
#                www.rpgmakervx-fr.com                                           
#       
#===============================================================


# Game_Actor #
##############
class Game_Actor < Game_Battler
def now_exp
return @exp - @exp_list[@level]
end
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
###############
# Window_Base #
###############
class Window_Base < Window
def draw_actor_level_menu(actor, x, y)
self.contents.font.color = system_color
self.contents.draw_text(x-199, y+50, 32, WLH, Vocab::level_a)
self.contents.font.color = normal_color
self.contents.draw_text(x-160, y+50, 24, WLH, actor.level, 2)
end
def draw_actor_class_menu(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 85, WLH, actor.class.name)
end
def exp_gauge_color1
return text_color(10)
end
def exp_gauge_color2
return text_color(10)
end
def draw_actor_exp_meter(actor, x, y, width = 100)
if actor.next_exp != 0
exp = actor.now_exp
else
exp = 1
end
gw = width * exp / [actor.next_exp, 1].max
gc1 = exp_gauge_color1
gc2 = exp_gauge_color2
self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 30, WLH, "Exp")
self.contents.font.color = normal_color
xr = x + width
self.contents.draw_text(xr - 60, y, 60, WLH, actor.next_rest_exp_s, 2)
end
end
#####################
# Window_MenuStatus #
#####################
class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #    x : ウィンドウの X 座標
  #    y : ウィンドウの Y 座標
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 544, 275)
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.members.size
    for actor in $game_party.members
      draw_actor_face(actor, actor.index * 130, 0, 96)
      x = actor.index * 130
      y = 105
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x, y + 20)
      draw_actor_level(actor, x, y + 40)
      draw_actor_state(actor, x, y + 60)
      draw_actor_hp(actor, x, y + 80)
      draw_actor_mp(actor, x, y + 100)
      draw_actor_exp_meter(actor, x , y+35 + WLH * 1)
      end
  end
  #--------------------------------------------------------------------------
  # ● カーソルの更新
  #--------------------------------------------------------------------------
  def update_cursor
    if @index < 0              # カーソルなし
      self.cursor_rect.empty
    elsif @index < @item_max    # 通常
      if Input.repeat?(Input::RIGHT)
        cursor_down(Input.trigger?(Input::RIGHT))
      end
      if Input.repeat?(Input::LEFT)
        cursor_up(Input.trigger?(Input::LEFT))
      end
      self.cursor_rect.set(@index * 130 - 2, 0, 125, 230)
    elsif @index >= 100        # 自分
      self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
    else                        # 全体
      self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
    end
  end
end

############
# Game_Map #
############
class Game_Map
attr_reader :map_id
def mpname
$mpname = load_data("Data/MapInfos.rvdata")
$mpname[@map_id].name
end
end
###############
# Window_map_name #
###############
class Window_Mapname < Window_Base
def initialize(x, y)
super(x, y+32, 190, WLH + 50)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, -8, 120, 32, "Localisation")
self.contents.font.color = normal_color
self.contents.draw_text(4, 15, 120, 32, $game_map.mpname.to_s, 2)
end
end
###############
# Window_Time #
###############
class Window_Time < Window_Base
def initialize(x, y)
super(x, y+7, 190, WLH + 50)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, -8, 120, 32, "Temps de jeu")
@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, 15, 120, 32, text, 2)
end
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
##############
# Scene_Menu #
##############
class Scene_Menu
def main
start
perform_transition
Input.update
loop do
Graphics.update
Input.update
update
break if $scene != self
end
Graphics.update
pre_terminate
Graphics.freeze
terminate
end
def initialize(menu_index = 0)
@menu_index = menu_index
end
def create_menu_background
@menuback_sprite = Sprite.new
@menuback_sprite.bitmap = $game_temp.background_bitmap
@menuback_sprite.color.set(16, 16, 16, 128)
update_menu_background
end
def create_menu_background
@menuback_sprite = Sprite.new
@menuback_sprite.bitmap = $game_temp.background_bitmap
@menuback_sprite.color.set(16, 16, 16, 128)
update_menu_background
end
def dispose_menu_background
@menuback_sprite.dispose
end
def update_menu_background
end
def perform_transition
Graphics.transition(10)
end
def start
create_menu_background
create_command_window
@gold_window = Window_Gold.new(0, 360)
@status_window = Window_MenuStatus.new(0, 75)
@playtime_window = Window_Time .new(160, 336)
@mapname_window = Window_Mapname.new(350, 311)
@status_window.openness = 0
@playtime_window.openness = 0
@mapname_window.openness = 0
@gold_window.openness = 0
@status_window.open
@playtime_window.open
@mapname_window.open
@gold_window.open
end
def pre_terminate
@status_window.close
@playtime_window.close
@mapname_window.close
@gold_window.close
@command_window.close
begin
@status_window.update
@playtime_window.update
@mapname_window.update
@gold_window.update
@command_window.update
Graphics.update
end until @status_window.openness == 0
end
def terminate
dispose_menu_background
@command_window.dispose
@gold_window.dispose
@status_window.dispose
@playtime_window.dispose
@mapname_window.dispose
end
def update
update_menu_background
@command_window.update
@gold_window.update
@status_window.update
@mapname_window.update
@playtime_window.update
if @command_window.active
update_command_selection
elsif @status_window.active
update_actor_selection
end
end
def create_command_window
s1 = Vocab::item
s5 = Vocab::skill
s2 = Vocab::equip
s3 = Vocab::status
s4 = Vocab::save
s6 = Vocab::game_end
@command_window = Window_Command.new(544, [s1, s2, s3, s4, s5, s6],4 ,2)
@command_window.index = @menu_index
@command_window.openness = 0
@command_window.open
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 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
$scene = Scene_Item.new
when 4,1,2
start_actor_selection
when 3
$scene = Scene_File.new(true, false, false)
when 5
$scene = Scene_End.new
end
end
end
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
def end_actor_selection
@command_window.active = true
@status_window.active = false

@status_window.index = -1
end
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 4
$scene = Scene_Skill.new(@status_window.index)
when 1
$scene = Scene_Equip.new(@status_window.index)
when 2
$scene = Scene_Status.new(@status_window.index)
end
end
end
end
$mogscript = {} if $mogscript == nil
$mogscript["basic_menu_plus"] = true


Voilà. au plaisir d'avoir aidé certain d'entre vous
Murasame
Murasame
Membre

Nombre de messages : 40
Age : 30
Distinction : aucune
Date d'inscription : 24/02/2008

Nouveau menu Empty Re: Nouveau menu

le Mar 11 Mar 2008 - 16:59
Un script vraiment sympatoche, merci Smile
Gamnor
Gamnor
Membre

Nombre de messages : 172
Age : 28
Distinction : aucune
Date d'inscription : 24/02/2008

Nouveau menu Empty Re: Nouveau menu

le Mar 11 Mar 2008 - 19:44
il y aurait-il la possibilité de modifier ce script pour avoir plus de 4 perso dans l'équipe, car je l'ai testé et je le trouve sympatique. Le seul problème c'est que j'utilise plus de 4 perso dans mon jeu et que lorsque je veut me déplacer sur le 5eme et les suivant le curseur sort de l'écran ^^'. Ce que je voudrais donc c'est que quand je me déplace vers la droite pour séléctionner les autres persos les faceset défile. J'espere que vous m'avez bien compris.(et j'espere que sa sera posibble aussi.)
emixam2
emixam2
Membre

Nombre de messages : 39
Age : 30
Localisation : Quelque part devant un ordinateur
Distinction : aucune
Date d'inscription : 25/01/2008
http://www.tavales.e-monsite.com

Nouveau menu Empty Re: Nouveau menu

le Mar 11 Mar 2008 - 19:48
Je comprend se que tu veux dire, mais je ne suis pas capable de t'aider. moi-même je ne savais pas comment faire pour disposé mes perso de gauche à droite au lieu de haut en bas. Ses la que TheLSSJ à participé à la modification du script. Désolé
NostalGeek
NostalGeek
Membre

Nombre de messages : 107
Distinction : aucune
Date d'inscription : 02/03/2008

Nouveau menu Empty Re: Nouveau menu

le Mar 11 Mar 2008 - 20:22
je trouce ce menu superbe quoique un peu trop surchargé...
emixam2
emixam2
Membre

Nombre de messages : 39
Age : 30
Localisation : Quelque part devant un ordinateur
Distinction : aucune
Date d'inscription : 25/01/2008
http://www.tavales.e-monsite.com

Nouveau menu Empty Re: Nouveau menu

le Mar 11 Mar 2008 - 22:53
Par contre, il est facile d'enlever certaine chose comme la barre d'expérience. il suffit d'enlever la ligne 84 du script.
Gamnor
Gamnor
Membre

Nombre de messages : 172
Age : 28
Distinction : aucune
Date d'inscription : 24/02/2008

Nouveau menu Empty Re: Nouveau menu

le Mar 18 Mar 2008 - 19:12
personne a de réponse a mon problème?
parce que si quelqu'un pouvait le résoudre sa m'aiderai beaucoup^^
et je viens de remarquer qu'il n'était pas compatible avec le script du PHS, décidément j'ai pas de chance
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum