Poulet trizo Lv.3
Age : 30 Inscrit le : 24/08/2010 Messages : 32
| Sujet: [résolu] BOF Cross Command Mar 31 Aoû 2010 - 15:46 | |
| Bonjour à tous ! Alors voilà, j'ai trouvé un script que je trouve intéressant pour mon projet, malheureusement il a été très très mal fait... (oubli de #, lignes sautées, etc...) ça fait très brouillon. J'ai donc essayé de "réparer" ce script mais avec mes faibles connaissances en ruby je n'ai pas réussi à le faire fonctionner. Tout d'abord, le script original est disponible iciet celui modifié par moi donne : - Spoiler:
- Code:
-
#=============================================================================== # #Breath of Fire Cross Command Window VX version # # #By: Jens009 (Translation and Modification) # #Version 1.0 July 29, 2008 # Version 1.1 July 31, 2008 # #Originally by Blazingamer # #Contact me at Rpgrevolution.com/Forums # # Rant: The Black #Knights will liberate Japan # Left #Justify was irritating yet fun! =D # HAPPY B-DAY to my #certain friend =D # # # Change Log: # - Version 1.0 : Default code # - Version 1.1: # Change Window size to 128x128 # #Added LEFTJUSTIFY option # aliased two more methods # #Description: # #Changes the default actor commands with a "cross-command" using # #32x32 pictures. # #Instructions: # Since version 1.1, # 1) Place below materials #but above everything that modifies Scene_Battle in # anyway to #increase compatibility # 2) Import the proper pictures to #Graphics/Pictures # # Notes: # Version 1.0 # 2 #methods were aliased from Scene_Battle. # 1 #method was directly edited from Scene_Battle # Version #1.1 # 2 more methods were aliased from Scene_Battle # # # # #Compatibility: # #Should be compatible with most systems or add ons # #May cause errors with method # start_actor_command_selections # #Using Left Justified decreases compatibility. # # Modifications: # I. Changing the #pictures: # Go to # folder Graphics/Pictures # # Import your desired 32x32 pictures # # Make sure you named them as follows: # Attack.png # Magic.png # Items.png # Run.png # #They should be self explanatory. # II. Check the config section to f#urther modify the cross window #===============================================================================
#=============================================================================== # Config #===============================================================================
LEFTJUSTIFY = false # set to true if cross command is left justified CC_WINDOW_OPACITY = 255 # 0- Transparent, 155- Semi-Transparent, 255-Full
#=============================================================================== # CrossCommand Window class # # class handles the cross command window #===============================================================================
class CrossCommand < Window_Selectable #==========================================================================
# # Initialize: Windows, Command list, Item size, and draw methods #==========================================================================
def initialize super (0, 0, 128, 128) self.contents = Bitmap.new(width - 32, height - 32) self.opacity = CC_WINDOW_OPACITY @commands = ["attack", "magic","defend","items","run away"] @item_max = 5 draw_item(0, 32,32,"Attack") draw_item(1, 32,0, "Magic") draw_item(2, 64,32,"Defend") draw_item(3, 0,32, "Items") draw_item(4, 32,64, "Run") self.active = false self.visible = true self.index = 0 end #============================================ # Define Method draw_item. #============================================ # # index: Command index # x: Coordinate of bitmap # y: #Coordinate of bitmap # picture: Picture name from index #============================================ def draw_item(index, x, y, picture) bitmap = Cache.picture(picture) self.contents.blt(x, y, bitmap, Rect.new(0, 0, 32, 32)) #============================================ # Update Cursor Information #============================================ # # index 0 Attack # 1 Skill # 2 Defend # 3 # Item # 4 Run #============================================ def update update_cursor end def update_cursor if index == 3 self.cursor_rect.set(0, 32, 32, 32) elsif index == 2 self.cursor_rect.set(64, 32, 32, 32) elsif index == 1 self.cursor_rect.set(32,0,32,32) elsif index == 4 self.cursor_rect.set(32,64,32,32) else self.cursor_rect.set(32,32,32,32) end if Input.press?(Input::LEFT) @index = 3 elsif Input.press?(Input::RIGHT) @index = 2 elsif Input.press?(Input::UP) @index = 1 elsif Input.press?(Input::DOWN) @index = 4 else @index = 0 end end
#=============================================================================== # # # Scene_Battle # Note: Methods were modified both by # aliases and direct edits. # Aliases used: # alias jens009_create_info_viewport_cross_command create_info_viewport # alias jens009_acommand_cross_command update_actor_command_selection # alias jens009_start_target_cross_command start_target_enemy_selection # alias jens009_end_target_cross_command end_target_enemy_selection # Method directly modified: # start_actor_command_selection #=============================================================================== # class Scene_Battle alias jens009_create_info_viewport_cross_command create_info_viewport alias jens009_acommand_cross_command update_actor_command_selection alias jens009_start_target_cross_command start_target_enemy_selection alias jens009_end_target_cross_command end_target_enemy_selection def start_actor_command_selection @party_command_window.active = false # The next line is specifcally for class Window_ActorCommand # Do not, uncomment the line. The line was commented to show that this # line of code is not needed. Also to show that the method # #start_actor_command_selection was directly edited from Scene_Battle #@actor_command_window.setup(@active_battler) @actor_command_window.active = true @actor_command_window.index = 0 end def create_info_viewport jens009_create_info_viewport_cross_command #Create Cross Command @actor_command_window = CrossCommand.new #Make Cross Comand window part of viewport @actor_command_window.viewport =@info_viewport #Change coordinates of Cross Command window # # Start check of justification if LEFTJUSTIFY == true @actor_command_window.x = 0 @party_command_window.x = 544 @status_window.x =128 else @actor_command_window.x = 544 end #END JUSTIFICATION CHECK end if LEFTJUSTIFY == true def update_info_viewport @party_command_window.update @actor_command_window.update @status_window.update if @actor_command_window.active and @info_viewport.ox > 0 @info_viewport.ox -= 16 elsif @party_command_window.active and @info_viewport.ox < 128 @info_viewport.ox += 16 end end
#-------------------------------------------------------------------------- # # * Start Target Enemy Selection #-------------------------------------------------------------------------- def start_target_enemy_selection jens009_start_target_cross_command # Call default methods #Start of Edit @target_enemy_window.x = 128 @info_viewport.rect.x -= @target_enemy_window.width @info_viewport.ox -= @target_enemy_window.width @status_window.visible = false end #-------------------------------------------------------------------------- # # End Target Enemy Selection #-------------------------------------------------------------------------- def end_target_enemy_selection # Start of edit @info_viewport.rect.x += @target_enemy_window.width @info_viewport.ox += @target_enemy_window.width @status_window.visible = true jens009_end_target_cross_command #Call default methods end end # END LEFTJUSTIFY CHECK
def update_actor_command_selection if Input.trigger?(Input::C) case @actor_command_window.index when 4 if $game_troop.can_escape == false Sound.play_buzzer return end # End Can Escape Sound.play_decision process_escape end # End Case end # End If Statement jens009_acommand_cross_command #Call other commands end #End method #====================================# # # END OF CLASS MODIFICATION # #====================================# end
Il est possible que j'ai fait une erreur de plus mais ça peut vous être utile ^^' A savoir le problème dans le script modifié est : erreur de syntaxe (toujours à la dernière ligne et j'ai essayé de rajouter un end etc... rien à faire) Merci d'avance !
Dernière édition par Sunder le Dim 12 Sep 2010 - 13:41, édité 1 fois |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [résolu] BOF Cross Command Sam 4 Sep 2010 - 14:02 | |
| - Sunder a écrit:
- J'ai donc essayé de "réparer" ce script
- Sunder a écrit:
- mes faibles connaissances en ruby
Bad idea... Je vais tenter d'y jeter un œil. |
|
Poulet trizo Lv.3
Age : 30 Inscrit le : 24/08/2010 Messages : 32
| Sujet: Re: [résolu] BOF Cross Command Dim 5 Sep 2010 - 14:39 | |
| C'est vrai que c'est pas forcément une bonne idée mais bon... vu la trentaine de fautes déjà présentes sur le script... ça ne pouvait pas être pire !
En tout cas merci à toi, et bonne chance ! |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [résolu] BOF Cross Command Dim 5 Sep 2010 - 15:04 | |
| |
|
Poulet trizo Lv.3
Age : 30 Inscrit le : 24/08/2010 Messages : 32
| Sujet: Re: [résolu] BOF Cross Command Dim 5 Sep 2010 - 15:57 | |
| *se sent stupide* merci ^^' |
|
| Sujet: Re: [résolu] BOF Cross Command | |
| |
|