- Az'Membre
- Nombre de messages : 3318
Age : 75
Date d'inscription : 22/12/2007
[RGSS3]Menu FFIII-Like
le Dim 25 Déc 2011 - 1:42
Mon premier script sous Ace. Autant dire que je commence doucement :
Menu FFIII-Like, à placer au dessus de main. Je rajouterais des extensions à ce script, qui, par ailleurs, est le premier d'une série de scripts d'interface que je compte coder, par la suite, selon ce que je programme.
C'est un menu pour trois personnages. Affichage du temps par interrupteur (si activé, le temps aussi, et inversement).
Modifier l'ID de l'interrupteur utilisé avec la Constante SWITCH_ID = 11 (11 étant l'ID de votre interrupteur).
Je pense que c'est tout!
Enjoy!
Menu FFIII-Like, à placer au dessus de main. Je rajouterais des extensions à ce script, qui, par ailleurs, est le premier d'une série de scripts d'interface que je compte coder, par la suite, selon ce que je programme.
C'est un menu pour trois personnages. Affichage du temps par interrupteur (si activé, le temps aussi, et inversement).
Modifier l'ID de l'interrupteur utilisé avec la Constante SWITCH_ID = 11 (11 étant l'ID de votre interrupteur).
Je pense que c'est tout!

~ Screens ~
![[RGSS3]Menu FFIII-Like Sanstitredo](https://2img.net/r/ihimizer/img204/350/sanstitredo.png)
~ Script ~
![[RGSS3]Menu FFIII-Like Sanstitredo](https://2img.net/r/ihimizer/img204/350/sanstitredo.png)
~ Script ~
- Code:
#==============================================================================
# ▼ Scene_Menu
#------------------------------------------------------------------------------
# Menu FFIII-Like.
# Par Mist'
# Le 25/12/11
# http://www.rpgmakervx-fr.com/
#==============================================================================
# Variable constante
SWITCH_ID = 11
#
#==============================================================================
class Scene_Menu < Scene_MenuBase
alias mist_cms_ffiii_str start
alias mist_cms_ffiii_cr_cwin create_command_window
#--------------------------------------------------------------------------
# ● ALIAS ~
#--------------------------------------------------------------------------
def start
mist_cms_ffiii_str
create_mapname_window
end
#--------------------------------------------------------------------------
# ● ALIAS ~
#--------------------------------------------------------------------------
def create_command_window
mist_cms_ffiii_cr_cwin
@command_window.z = 9999
end
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def create_gold_window
@gold_window = Window_Gold.new
@gold_window.x = 340 # EDIT
@gold_window.y = Graphics.height - @gold_window.height - 20 # EDIT
@gold_window.z = 9999 # AJOUT
end
#--------------------------------------------------------------------------
# ● AJOUT ~
#--------------------------------------------------------------------------
def create_mapname_window
@mapname_window = Window_NomMap.new
@mapname_window.x = 340
@mapname_window.y = @gold_window.y - @mapname_window.height
@mapname_window.z = 9999
end
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def create_status_window
@status_window = Window_MenuStatus.new(@command_window.width, 0)
@status_window.x = 20 # EDIT
@status_window.y = Graphics.height - @status_window.height - 20 # EDIT
@status_window.z = 9998 # AJOUT
end
end
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# Modification /ajout des méthodes d'affichage
#==============================================================================
class Window_Base
#--------------------------------------------------------------------------
# ● MODIF / "AJOUT" ~
# [draw_currency_value modifié si besoin de réutilisation de l'affichage]
#--------------------------------------------------------------------------
def draw_time_value(value, unit, x, y, width)
cx = text_size(unit).width
change_color(system_color) # EDIT
draw_text(x, y, width - cx - 2, line_height, value, 2)
change_color(normal_color) # EDIT
draw_text(x, y, width, line_height, unit, 2)
end
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def draw_map_name(x, y, width)
cx = text_size( $game_map.map_name).width
change_color(system_color) # EDIT
draw_text(x, y, width - cx - 2, line_height, $game_map.map_name, 2)
end
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def draw_actor_simple_status(actor, x, y)
draw_actor_name(actor, x, y)
draw_actor_level(actor, x, y + line_height * 1) # EDIT
draw_actor_icons(actor, x, y + line_height * 2)
draw_actor_class(actor, x + 90, y + line_height * 1) # EDIT
new_draw_actor_hp(actor, x, y + line_height * 2) # EDIT
new_draw_actor_mp(actor, x, y + line_height * 3) # EDIT
end
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def new_draw_actor_hp(actor, x, y, width = 124)
change_color(system_color)
draw_text(x, y, 30, line_height, Vocab::hp_a)
draw_current_and_max_values(x, y, width, actor.hp, actor.mhp,
hp_color(actor), normal_color)
end
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def new_draw_actor_mp(actor, x, y, width = 124)
change_color(system_color)
draw_text(x, y, 30, line_height, Vocab::mp_a)
draw_current_and_max_values(x, y, width, actor.mp, actor.mmp,
mp_color(actor), normal_color)
end
end
#==============================================================================
# ■ Window_Gold + Time
#------------------------------------------------------------------------------
# Affichage de la monnaie possédée ainsi que du temps passé sur le jeu
# en temps réel.
#==============================================================================
class Window_Gold < Window_Base
alias mist_cms_ffiii_refr refresh
#--------------------------------------------------------------------------
# ● REDEF ~
#--------------------------------------------------------------------------
def initialize
super(0, 0, window_width, fitting_height(1) + 20)
refresh
end
#--------------------------------------------------------------------------
# ● ALIAS ~
#--------------------------------------------------------------------------
def refresh
mist_cms_ffiii_refr
draw_time_value(temps, unit2, 4, 16, contents.width - 8) unless not $game_switches[SWITCH_ID]
end
#--------------------------------------------------------------------------
# ● AJOUT ~
#--------------------------------------------------------------------------
def temps
@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)
end
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def unit2
"Temps"
end
#--------------------------------------------------------------------------
# ● AJOUT ~
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#==============================================================================
# ■ Window_MenuCommand
#------------------------------------------------------------------------------
# Position des commandes du menu
#==============================================================================
class Window_MenuCommand < Window_Command
#--------------------------------------------------------------------------
# ● REDEF ~
#--------------------------------------------------------------------------
def initialize
super(340, 20)
select_last
end
end
#==============================================================================
# ■ Window_NomMap
#------------------------------------------------------------------------------
# Affichage du nom de la carte
#==============================================================================
class Window_NomMap < Window_Base
def initialize
super(0, 0, window_width, fitting_height(1))
refresh
end
def window_width
return 160
end
def refresh
contents.clear
change_color(system_color)
draw_map_name(4, 0, contents.width - 8)
end
def open
refresh
super
end
end
#==============================================================================
# ■ Window_MenuStatus
#------------------------------------------------------------------------------
# Affichage des statuts des héros.
#==============================================================================
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def window_width
Graphics.width - 224
end
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def window_height
Graphics.height - 40
end
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def item_height
(height - standard_padding * 2) / 3
end
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
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_actor_face(actor, rect.x + 1, rect.y + 1, enabled)
draw_actor_simple_status(actor, rect.x + 108, rect.y)
end
end
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
# Modification pour récupérer le nom de la carte
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ● Variables d'instance
#--------------------------------------------------------------------------
attr_reader :map_name
#--------------------------------------------------------------------------
# ● MODIF ~
#--------------------------------------------------------------------------
def map_name
map = load_data("Data/MapInfos.rvdata2")
map[@map_id].name
end
end
Enjoy!
- freeziaStaffeux retraité
- Nombre de messages : 1734
Distinction : Elu membre de l'année 2009 haut la main.
Inventeur du Mapping Show.
caricaturatationeur de la comu'
[ Dudu']
Date d'inscription : 18/02/2008
Re: [RGSS3]Menu FFIII-Like
le Dim 25 Déc 2011 - 12:55
Félicitation, bon travail pour une première ...+ 5 points .

- DishiMembre
- Nombre de messages : 632
Age : 22
Localisation : Marseille
Distinction : Alias Dichie
Aussi alias Sherifa Luna de la commu' (je suis dichie et d'ailleurs )
Co-créateur du Nyan Xak
[Tétété]
Apprenti Pedobear
[Mémé nova]
Keupiteur de ponctuation.
[un sombre inconnu.]
Date d'inscription : 07/07/2011
Re: [RGSS3]Menu FFIII-Like
le Lun 26 Déc 2011 - 17:04
xD
Merci, Mist :3
Il me parait basique, mais sympa et élégant !
Merci, Mist :3
Il me parait basique, mais sympa et élégant !
- LlednarMembre
- Nombre de messages : 11
Distinction : aucune
Date d'inscription : 09/04/2011
Re: [RGSS3]Menu FFIII-Like
le Mar 10 Avr 2012 - 19:22
Beau travail! chez moi ca marche nikel ^^ continue!
- Elisa'Staffeux retraité
- Nombre de messages : 2924
Age : 23
Localisation : Par là-bas !
Distinction : Mon héritière que je chéris
[Coco']
Plus que 2 ans avant d'épouser Coco' ! Compte à rebours lancé !
[Auto-distinction]
Adepte du "Je le savais" alors qu'elle le savait pas.
Date d'inscription : 30/05/2009
Re: [RGSS3]Menu FFIII-Like
le Mar 10 Avr 2012 - 19:49
Fais attention aux nécroposts Llednar. Ce n'est pas la première fois que l'on de le dit, tu écopes donc d'un avertissement, c'est ton premier donc il n'y a pas de problème, mais je t'invite à aller (re)lire le règlement.
Bonne journée !
Bonne journée !
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|