eric Nouveau

  Age : 11 Inscrit le : 18 Avr 2008 Messages : 13 niveau du maker mapping:
   (0/100) events:
   (0/100) scriptage:
   (0/100)
| Sujet: combat système Ven 18 Avr - 2:31 | |
| salut!
je voudrais savoir comment en fait des combats comme rpg maker 2003 et aussi comment fonctionner avec sa.
merci d'avance |
|
berka Admin


   Age : 17 Inscrit le : 16 Mar 2007 Messages : 836 Localisation : Devant mon ordi! Projet en cours: : Secret ^^ niveau du maker mapping:
   (0/100) events:
   (50/100) scriptage:
   (100/100)
| Sujet: Re: combat système Ven 18 Avr - 14:06 | |
| je ne me rappelle plus trop du style de combats de rpgmaker 2003...
tu peux me poster un screenshot, s'il te plait ? _________________

 |
|
eric Nouveau

  Age : 11 Inscrit le : 18 Avr 2008 Messages : 13 niveau du maker mapping:
   (0/100) events:
   (0/100) scriptage:
   (0/100)
| Sujet: Re: combat système Sam 19 Avr - 1:24 | |
| | heu je sais pas questceque tu veut dire par screeshot mais bon.mais ses un combat animé les lenemmie devant le gentil et la quand en fait une attaque il bouge et tape lautre ou soigne lautre.quelque chose du genre |
|
cucureuill Garde de la Couronne


   Age : 16 Inscrit le : 18 Mar 2007 Messages : 253 Localisation : a queque part ^^ niveau du maker mapping:
   (100/100) events:
   (1/100) scriptage:
   (0/100)
| Sujet: Re: combat système Sam 19 Avr - 1:53 | |
| il parle de combat vue de coté  Sinon et bien eric, fait attention à ton écriture  _________________
 |
|
eric Nouveau

  Age : 11 Inscrit le : 18 Avr 2008 Messages : 13 niveau du maker mapping:
   (0/100) events:
   (0/100) scriptage:
   (0/100)
| Sujet: Re: combat système Sam 19 Avr - 3:27 | |
| | heu ok mais sinon vous connaisser un truc ou un script pour faire se mode de combat |
|
cucureuill Garde de la Couronne


   Age : 16 Inscrit le : 18 Mar 2007 Messages : 253 Localisation : a queque part ^^ niveau du maker mapping:
   (100/100) events:
   (1/100) scriptage:
   (0/100)
| Sujet: Re: combat système Sam 19 Avr - 3:32 | |
| Un truc non mais un script oui ;P À mettre au dessus de main
| Spoiler: | | | #============================================================================== # ++ サイドビューバトル(歩行グラフィック版) ver. 1.14 ++ # Script by パラ犬 # http://rpg.para.s3p.net/ #------------------------------------------------------------------------------ # バトルフィールドに歩行グラフィックを表示します。 #============================================================================== module SDVA
X_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 |
_________________
 |
|
cucureuill Garde de la Couronne


   Age : 16 Inscrit le : 18 Mar 2007 Messages : 253 Localisation : a queque part ^^ niveau du maker mapping:
   (100/100) events:
   (1/100) scriptage:
   (0/100)
| Sujet: Re: combat système Sam 19 Avr - 3:33 | |
| Suite :
| Spoiler: | | | @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 = x_pos+@actor_command_window.width <= 640 ? x_pos : 640-@actor_command_window.width @actor_command_window.y = y_pos >= 0 ? y_pos : 0 @actor_command_window.y = y_pos+@actor_command_window.height <= 480 ? y_pos : 480-@actor_command_window.height # ステータスウインドウに隠れないように @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 |
_________________
 |
|
eric Nouveau

  Age : 11 Inscrit le : 18 Avr 2008 Messages : 13 niveau du maker mapping:
   (0/100) events:
   (0/100) scriptage:
   (0/100)
| Sujet: Re: combat système Sam 19 Avr - 23:04 | |
| | ha merci cucureuille.heu ha oui encore un problème comment en fait la meme chose avec les monstre? |
|