Kuroyami Forum Master
Nombre de messages : 76 Age : 29 Localisation : Amatsu Date d'inscription : 10/05/2007
Ragnarok Character Job: Priest ANti Injustice :-) Lvl Base: (76/500) Lvl Job: (66/250)
| Sujet: Combat vue sur le coté Jeu 17 Mai - 23:30 | |
| Auteur : Inconnu Fonction : Permet de mettre les combats vues sur le côté comme dans RPG Maker 2003 (besoin d'aucunes autres ressources) Ressource(s) : Aucune Remarque : Testé et fonctionnel. Installation : Ouvrez l'éditeur de script ( F11 ) et créez en un nouveau au dessus de 'Main' qui portera le nom de votre choix et collez le code ci-dessous : | |
|
Kuroyami Forum Master
Nombre de messages : 76 Age : 29 Localisation : Amatsu Date d'inscription : 10/05/2007
Ragnarok Character Job: Priest ANti Injustice :-) Lvl Base: (76/500) Lvl Job: (66/250)
| Sujet: Re: Combat vue sur le coté Jeu 17 Mai - 23:30 | |
| Code : #============================================================================== #++?????????(?????????)ver. 1.14++ #Script by ??? #http://rpg.para.s3p.net/ #------------------------------------------------------------------------------ # ???????????????????????? #==============================================================================module SDVAX_LINE = 500 # ???????????? Y_LINE = 200 # ???????????? X_SPACE = 15 # ????????????? Y_SPACE = 40 # ????????????? X_POSITION = 25 # ??[????????]???? Y_POSITION = 0 # ??[????????]????ATTACK_MOVE = true # ???????????( true / false ) SKILL_MOVE = true # ??????????????( true / false ) ITEM_MOVE = false # ???????????????( true / false ) MOVE_STEP = 1 # ???? MOVE_PIXEL = 10 # ???????????PARTY_POS = 1 # ?????????( 0:? / 1:? / 2:? / 3:? )WINDOWPOS_CHANGE = true # ??????????????????????( true / false )end#============================================================================== # ? Game_Actor #==============================================================================class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ? ????? X ????? #-------------------------------------------------------------------------- def screen_x if self.index != nil # ????? pos = $data_classes[self.class_id].position x_pos = pos * SDVA::X_POSITION scr_x = self.index * SDVA::X_SPACE + SDVA::X_LINE + x_pos # ?????????? if self.current_action.move_action == true # ???? scr_x += @shift_x end return scr_x else return 0 end end #-------------------------------------------------------------------------- # ? ????? Y ????? #-------------------------------------------------------------------------- def screen_y if self.index != nil # ????? pos = $data_classes[self.class_id].position y_pos = pos * SDVA::Y_POSITION scr_y = self.index * SDVA::Y_SPACE + SDVA::Y_LINE + y_pos # ?????????? if self.current_action.move_action == true # ???? scr_y += @shift_y end return scr_y else return 0 end end #-------------------------------------------------------------------------- # ? ????? Z ????? #-------------------------------------------------------------------------- def screen_z if self.index != nil return self.index else return 0 end end end#============================================================================== # ? Game_Battler (???? 1) #==============================================================================class Game_Battler #-------------------------------------------------------------------------- # ? ?????????? #-------------------------------------------------------------------------- attr_reader :pattern # ?????? attr_reader :trans_x # X??????? attr_reader :moving # ?????? #-------------------------------------------------------------------------- # ? ????????? #-------------------------------------------------------------------------- alias initialize_sdva initialize def initialize initialize_sdva move_reset end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- def move @moving = 1 if @step < SDVA::MOVE_STEP # ?????????? @pattern = (@pattern + 1) % 4 @step += 1 move_step else # ???? @pattern = 1 @moving = 2 end end #-------------------------------------------------------------------------- # ? ???? #-------------------------------------------------------------------------- def move_step # ??????????????????? case SDVA::PARTY_POS when 0 @shift_y = @step * SDVA::MOVE_PIXEL when 1 @shift_x = -(@step * SDVA::MOVE_PIXEL) when 2 @shift_x = @step * SDVA::MOVE_PIXEL when 3 @shift_y = -(@step * SDVA::MOVE_PIXEL) end end #-------------------------------------------------------------------------- # ? ??????? #-------------------------------------------------------------------------- def move_reset @moving = 0 @pattern = 0 @step = 0 @shift_x = 0 @shift_y = 0 end end#============================================================================== # ? Game_BattleAction #==============================================================================class Game_BattleAction #-------------------------------------------------------------------------- # ? ?????????? #-------------------------------------------------------------------------- attr_accessor :move_action # ?????????? #-------------------------------------------------------------------------- # ? ??? #-------------------------------------------------------------------------- alias clear_sdva clear def clear clear_sdva @move_action = false end end#============================================================================== # ? Sprite_Battler #==============================================================================class Sprite_Battler < RPG::Sprite #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias update_sdva update def update # ???????????????? if @battler.is_a?(Game_Actor) # ???????????????????? # ?????? if @battler.battler_name != @battler_name or @battler.battler_hue != @battler_hue or @battler.current_action.basic == 0 or @battler.current_action.kind != 3 # ???????????? @character_name = @battler.character_name @character_hue = @battler.character_hue # ??????????? self.bitmap = RPG::Cache.character(@character_name, @character_hue) cw = self.bitmap.width / 4 ch = self.bitmap.height / 4 @width = cw @height = ch if @battler.current_action.move_action == true # ???? @battler.move else @battler.move_reset end # ????????? sx = @battler.pattern * cw sy = SDVA::PARTY_POS * ch self.src_rect.set(sx, sy, cw, ch) self.ox = @width / 2 self.oy = @height # ??????????? 0 ??? if @battler.hidden self.opacity = 0 end end end update_sdva end end#============================================================================== # ? Scene_Battle #==============================================================================class Scene_Battle #-------------------------------------------------------------------------- # ? ???????????????????? #-------------------------------------------------------------------------- alias phase3_setup_command_window_sdva phase3_setup_command_window def phase3_setup_command_window phase3_setup_command_window_sdva if SDVA::WINDOWPOS_CHANGE # ??????????????????? case SDVA::PARTY_POS when 0 x_pos = @active_battler.screen_x - (@actor_command_window.width/2) y_pos = @active_battler.screen_y when 1 x_pos = @active_battler.screen_x - @actor_command_window.width - 16 y_pos = @active_battler.screen_y - @actor_command_window.height when 2 x_pos = @active_battler.screen_x + 16 y_pos = @active_battler.screen_y - @actor_command_window.height when 3 x_pos = @active_battler.screen_x - (@actor_command_window.width/2) y_pos = @active_battler.screen_y - @actor_command_window.height - 48 end @actor_command_window.x = x_pos >= 0 ? x_pos : 0 @actor_command_window.x = [email] x_pos+@actor_command_window.width[/email] <= 640 ? x_pos : [email] 640-@actor_command_window.width[/email] @actor_command_window.y = y_pos >= 0 ? y_pos : 0 @actor_command_window.y = [email] y_pos+@actor_command_window.height[/email] <= 480 ? y_pos : [email] 480-@actor_command_window.height[/email] # ?????????????????? @actor_command_window.z = 9999 end end #-------------------------------------------------------------------------- # ? ?????? (??????? ???? 3 : ??????????) #-------------------------------------------------------------------------- alias update_phase4_step3_sdva update_phase4_step3 def update_phase4_step3 if SDVA::ATTACK_MOVE if @active_battler.current_action.basic == 0 @active_battler.current_action.move_action = true end end if SDVA::SKILL_MOVE if @active_battler.current_action.kind == 1 @active_battler.current_action.move_action = true end end if SDVA::ITEM_MOVE if @active_battler.current_action.kind == 2 @active_battler.current_action.move_action = true end end # ?????????????????????? if @active_battler.is_a?(Game_Actor) and @active_battler.current_action.move_action # ????? if @active_battler.moving == 2 update_phase4_step3_sdva end elsif @active_battler.moving == 0 update_phase4_step3_sdva end end #-------------------------------------------------------------------------- # ? ?????? (??????? ???? 6 : ??????) #-------------------------------------------------------------------------- alias update_phase4_step6_sdva update_phase4_step6 def update_phase4_step6 @active_battler.current_action.move_action = false @active_battler.move_reset update_phase4_step6_sdva end end#============================================================================== # ? Spriteset_Battle #==============================================================================class Spriteset_Battle #-------------------------------------------------------------------------- # ? ????????? #-------------------------------------------------------------------------- alias initialize_sdva initialize def initialize initialize_sdva @viewport2.z = 1 end end#============================================================================== # ? Arrow_Actor #==============================================================================class Arrow_Actor < Arrow_Base #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias update_sdva update def update update_sdva # ????? if Input.repeat?(Input::DOWN) $game_system.se_play($data_system.cursor_se) @index += 1 @index %= $game_party.actors.size end # ????? if Input.repeat?(Input::UP) $game_system.se_play($data_system.cursor_se) @index += $game_party.actors.size - 1 @index %= $game_party.actors.size end end end#============================================================================== # ? Arrow_Enemy #==============================================================================class Arrow_Enemy < Arrow_Base #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias update_sdva update def update update_sdva # ????? if Input.repeat?(Input::DOWN) $game_system.se_play($data_system.cursor_se) $game_troop.enemies.size.times do @index += 1 @index %= $game_troop.enemies.size break if self.enemy.exist? end end # ????? if Input.repeat?(Input::UP) $game_system.se_play($data_system.cursor_se) $game_troop.enemies.size.times do @index += $game_troop.enemies.size - 1 @index %= $game_troop.enemies.size break if self.enemy.exist? end end end end | |
|