Poulet carnivore Lv.2
Age : 30 Inscrit le : 19/02/2011 Messages : 17
| Sujet: [VX] Menu pour 3 héros Mar 22 Fév 2011 - 12:30 | |
| Auteur;Falconblade Site; RPG Maker Vx ( https://rpg-maker-vx.bbactif.com/t11306-menu) Date de la création; 7/12/10 Description; Un menu pour ceux qui n'ont que 3 personnages. C'est le même que Falconblade sauf que je l'ai une peu modifier (réduction de la longueur des textes, des jauges HP-PM et j'ai placé les noms juste en dessus des faces car je trouve que ca fait mieux). Installation; A mettre au dessus de Main Script;- Spoiler:
#============================================================================== # * Menu pour 3 personnes* # Créer par Dark Gaia #============================================================================== # * Ce script remplace l'ancien menu par un menu affichant que 3 personnages. * #============================================================================== # * Ce script fonctionne qu'avec RPG MAKER VX! * #============================================================================== # *Pour installer ce script, il faut ouvrir l'éditeur de script, puis de coller ce script juste au dessus de Main # dans la rubrique "Materials". * #============================================================================== # * Ce script est gratuit pour une utilisation dans tous les jeux, y compris les jeux commerciaux!* #==============================================================================
#Ne pas modifier le début du script en sinon il ne fonctionnera plus!
#============================================================================== # ** Window_MenuStatus #==============================================================================
class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 360, 360) refresh self.active = false self.index = -1 end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear @item_max = $game_party.members.size @column_max = $game_party.members.size for actor in $game_party.members draw_actor_face(actor, actor.index * 115 +2, 2, 92 ) x = actor . index * 115 + WLH / 2 y = 96 + WLH / 2 draw_actor_name (actor, x - 10, y + 0) draw_actor_class(actor, x - 10, y + 30) draw_actor_level(actor, x - 10, y + 45) draw_actor_state(actor, x - 10, y + 60) if actor . index % 2 == 0 draw_actor_hp(actor, x - 10, y + 125, width - 270) draw_actor_mp(actor, x - 10, y + 145, width - 270) else draw_actor_hp(actor, x - 10, y + 125, width - 270) draw_actor_mp(actor, x - 10, y + 145, width - 270) end end end #-------------------------------------------------------------------------- # * Update cursor #-------------------------------------------------------------------------- def update_cursor if @index < 0 # Aucun curseur self.cursor_rect.empty elsif @index < @item_max # Normal self.cursor_rect.set(@index * 115, 0, 96, 103) elsif @index >= 100 # Auto self.cursor_rect.set( (@index - 100) * 96, 0, 96, 96) else # Tout self.cursor_rect.set(0, 0, 96, @item_max * 96) end end end
#============================================================================== # ** Window_Location #==============================================================================
class Window_Lieu < Window_Base
def initialize(x, y) super(x, y, 360, WLH+32) self.contents = Bitmap.new(width - 32, height - 32) refresh end def refresh self.contents.clear $maps = load_data("Data/MapInfos.rvdata") @map_id = $game_map.map_id @map_name = $maps[@map_id].name self.contents.font.color = system_color
self.contents.font.color = normal_color self.contents.draw_text(-10, -3, 360, 32, @map_name, 1) end end
#============================================================================== # ** Scene_Menu #==============================================================================
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 @lieu_window = Window_Lieu.new(184, 360) @gold_window = Window_Gold.new(0, 360) @status_window = Window_MenuStatus.new(184, 0) end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate super dispose_menu_background @command_window.dispose @gold_window.dispose @lieu_window.dispose @status_window.dispose end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update @gold_window.update @lieu_window.update @status_window.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_Command.new(184, [s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index if $game_party.members.size == 0 # Si le nombre de personne dans l'équipe est 0 @command_window.draw_item(0, false) # Désactiver les objet @command_window.draw_item(1, false) # Désactiver les sorts @command_window.draw_item(2, false) # Désactiver l'équipement @command_window.draw_item(3, false) # Désactiver le statut end if $game_system.save_disabled # Si les sauvegarde sont interdits @command_window.draw_item(4, false) # Désactiver les sauvegarde 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 # Objet $scene = Scene_Item.new when 1,2,3 # Sort, équipement, statut start_actor_selection when 4 # Save $scene = Scene_File.new(true, false, false) when 5 # Quitter $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 # Sort $scene = Scene_Skill.new(@status_window.index) when 2 # Equipement $scene = Scene_Equip.new(@status_window.index) when 3 # Statuts $scene = Scene_Status.new(@status_window.index) end end end end Image;- Spoiler:
Voila, c'est fini. |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [VX] Menu pour 3 héros Mar 22 Fév 2011 - 12:34 | |
| Je pense que ce n'était pas utile de faire un nouveau sujet pour une modification mineure d'une script déjà présent sur le forum. |
|
Poulet carnivore Lv.2
Age : 30 Inscrit le : 19/02/2011 Messages : 17
| Sujet: Re: [VX] Menu pour 3 héros Mar 22 Fév 2011 - 12:58 | |
| Voila mais sa peut aider ce qui ne sait pas modifié un script. |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [VX] Menu pour 3 héros Mar 22 Fév 2011 - 13:07 | |
| Bof...
Il aurait demandé sur une demande de script.
Ce que je veux dire c'est que t'aurais mieux fait de poster à la suite du sujet ( ça n'aurait pas été considéré comme un nécro ). |
|
| Sujet: Re: [VX] Menu pour 3 héros | |
| |
|