mikolajczak Aprenti Epéiste
 Offline
Joined: 11 Feb 2008 Posts: 1
Localisation: Orchies  Points de Compétence: 2 Points de Message: 2.00
|
Posted: Sun 4 May - 19:24 Post subject: Blitz (comme dans FF6) |
|
|
bon voila un script pour faire des attaque avec les flèches directionnelles
COMBAT BLITZ FF6
1/ Supprimez le contenu de Scene_Battle 1 pour le remplacer par celui-ci :
| Code: | #==============================================================================
# ■ Scene_Battle (分割定義 1)
#------------------------------------------------------------------------------
# バトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
@blitz = Window_Base.new(0,0,0,0)
@blitz.active = false
# 戦闘用の各種一時データを初期化
$game_temp.in_battle = true
$game_temp.battle_turn = 0
$game_temp.battle_event_flags.clear
$game_temp.battle_abort = false
$game_temp.battle_main_phase = false
$game_temp.battleback_name = $game_map.battleback_name
$game_temp.forcing_battler = nil
# バトルイベント用インタプリタを初期化
$game_system.battle_interpreter.setup(nil, 0)
# トループを準備
@troop_id = $game_temp.battle_troop_id
$game_troop.setup(@troop_id)
# アクターコマンドウィンドウを作成
s1 = $data_system.words.attack
s2 = $data_system.words.skill
s3 = $data_system.words.guard
s4 = $data_system.words.item
@actor_command_window = Window_Command.new(160, [s1, s2, s3, s4])
@actor_command_window.y = 160
@actor_command_window.back_opacity = 160
@actor_command_window.active = false
@actor_command_window.visible = false
# その他のウィンドウを作成
@party_command_window = Window_PartyCommand.new
@help_window = Window_Help.new
@help_window.back_opacity = 160
@help_window.visible = false
@status_window = Window_BattleStatus.new
@message_window = Window_Message.new
# スプライトセットを作成
@spriteset = Spriteset_Battle.new
# ウェイトカウントを初期化
@wait_count = 0
# トランジション実行
if $data_system.battle_transition == ""
Graphics.transition(20)
else
Graphics.transition(40, "Graphics/Transitions/" +
$data_system.battle_transition)
end
# プレバトルフェーズ開始
start_phase1
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# マップをリフレッシュ
$game_map.refresh
# トランジション準備
Graphics.freeze
# ウィンドウを解放
@actor_command_window.dispose
@party_command_window.dispose
@help_window.dispose
@status_window.dispose
@message_window.dispose
if @skill_window != nil
@skill_window.dispose
end
if @item_window != nil
@item_window.dispose
end
if @result_window != nil
@result_window.dispose
end
# スプライトセットを解放
@spriteset.dispose
# タイトル画面に切り替え中の場合
if $scene.is_a?(Scene_Title)
# 画面をフェードアウト
Graphics.transition
Graphics.freeze
end
# 戦闘テストからゲームオーバー画面以外に切り替え中の場合
if $BTEST and not $scene.is_a?(Scene_Gameover)
$scene = nil
end
end
#--------------------------------------------------------------------------
# ● 勝敗判定
#--------------------------------------------------------------------------
def judge
# 全滅判定が真、またはパーティ人数が 0 人の場合
if $game_party.all_dead? or $game_party.actors.size == 0
# 敗北可能の場合
if $game_temp.battle_can_lose
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# バトル終了
battle_end(2)
# true を返す
return true
end
# ゲームオーバーフラグをセット
$game_temp.gameover = true
# true を返す
return true
end
# エネミーが 1 体でも存在すれば false を返す
for enemy in $game_troop.enemies
if enemy.exist?
return false
end
end
# アフターバトルフェーズ開始 (勝利)
start_phase5
# true を返す
return true
end
#--------------------------------------------------------------------------
# ● バトル終了
# result : 結果 (0:勝利 1:敗北 2:逃走)
#--------------------------------------------------------------------------
def battle_end(result)
# 戦闘中フラグをクリア
$game_temp.in_battle = false
# パーティ全員のアクションをクリア
$game_party.clear_actions
# バトル用ステートを解除
for actor in $game_party.actors
actor.remove_states_battle
end
# エネミーをクリア
$game_troop.enemies.clear
# バトル コールバックを呼ぶ
if $game_temp.battle_proc != nil
$game_temp.battle_proc.call(result)
$game_temp.battle_proc = nil
end
# マップ画面に切り替え
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
# ● バトルイベントのセットアップ
#--------------------------------------------------------------------------
def setup_battle_event
# バトルイベント実行中の場合
if $game_system.battle_interpreter.running?
return
end
# バトルイベントの全ページを検索
for index in 0...$data_troops[@troop_id].pages.size
# イベントページを取得
page = $data_troops[@troop_id].pages[index]
# イベント条件を c で参照可能に
c = page.condition
# 何も条件が指定されていない場合は次のページへ
unless c.turn_valid or c.enemy_valid or
c.actor_valid or c.switch_valid
next
end
# 実行済みの場合は次のページへ
if $game_temp.battle_event_flags[index]
next
end
# ターン 条件確認
if c.turn_valid
n = $game_temp.battle_turn
a = c.turn_a
b = c.turn_b
if (b == 0 and n != a) or
(b > 0 and (n < 1 or n < a or n % b != a % b))
next
end
end
# エネミー 条件確認
if c.enemy_valid
enemy = $game_troop.enemies[c.enemy_index]
if enemy == nil or enemy.hp * 100.0 / enemy.maxhp > c.enemy_hp
next
end
end
# アクター 条件確認
if c.actor_valid
actor = $game_actors[c.actor_id]
if actor == nil or actor.hp * 100.0 / actor.maxhp > c.actor_hp
next
end
end
# スイッチ 条件確認
if c.switch_valid
if $game_switches[c.switch_id] == false
next
end
end
# イベントをセットアップ
$game_system.battle_interpreter.setup(page.list, 0)
# このページのスパンが [バトル] か [ターン] の場合
if page.span <= 1
# 実行済みフラグをセット
$game_temp.battle_event_flags[index] = true
end
return
end
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
if @blitz.active == true
blitz_update
end
# バトルイベント実行中の場合
if $game_system.battle_interpreter.running?
# インタプリタを更新
$game_system.battle_interpreter.update
# アクションを強制されているバトラーが存在しない場合
if $game_temp.forcing_battler == nil
# バトルイベントの実行が終わった場合
unless $game_system.battle_interpreter.running?
# 戦闘継続の場合、バトルイベントのセットアップを再実行
unless judge
setup_battle_event
end
end
# アフターバトルフェーズでなければ
if @phase != 5
# ステータスウィンドウをリフレッシュ
@status_window.refresh
end
end
end
# システム (タイマー)、画面を更新
$game_system.update
$game_screen.update
# タイマーが 0 になった場合
if $game_system.timer_working and $game_system.timer == 0
# バトル中断
$game_temp.battle_abort = true
end
# ウィンドウを更新
@help_window.update
@party_command_window.update
@actor_command_window.update
@status_window.update
@message_window.update
# スプライトセットを更新
@spriteset.update
# トランジション処理中の場合
if $game_temp.transition_processing
# トランジション処理中フラグをクリア
$game_temp.transition_processing = false
# トランジション実行
if $game_temp.transition_name == ""
Graphics.transition(20)
else
Graphics.transition(40, "Graphics/Transitions/" +
$game_temp.transition_name)
end
end
# メッセージウィンドウ表示中の場合
if $game_temp.message_window_showing
return
end
# エフェクト表示中の場合
if @spriteset.effect?
return
end
# ゲームオーバーの場合
if $game_temp.gameover
# ゲームオーバー画面に切り替え
$scene = Scene_Gameover.new
return
end
# タイトル画面に戻す場合
if $game_temp.to_title
# タイトル画面に切り替え
$scene = Scene_Title.new
return
end
# バトル中断の場合
if $game_temp.battle_abort
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# バトル終了
battle_end(1)
return
end
# ウェイト中の場合
if @wait_count > 0
# ウェイトカウントを減らす
@wait_count -= 1
return
end
# アクションを強制されているバトラーが存在せず、
# かつバトルイベントが実行中の場合
if $game_temp.forcing_battler == nil and
$game_system.battle_interpreter.running?
return
end
# フェーズによって分岐
case @phase
when 1 # プレバトルフェーズ
update_phase1
when 2 # パーティコマンドフェーズ
update_phase2
when 3 # アクターコマンドフェーズ
update_phase3
when 4 # メインフェーズ
update_phase4
when 5 # アフターバトルフェーズ
update_phase5
end
end
end |
2/ Supprimez le contenu de Scene_Battle 3 pour le remplacer par celui-ci :
| Code: | #==============================================================================
# ■ Scene_Battle (分割定義 3)
#------------------------------------------------------------------------------
# バトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● アクターコマンドフェーズ開始
#--------------------------------------------------------------------------
def start_phase3
# フェーズ 3 に移行
@phase = 3
# アクターを非選択状態に設定
@actor_index = -1
@active_battler = nil
# 次のアクターのコマンド入力へ
phase3_next_actor
end
#--------------------------------------------------------------------------
# ● 次のアクターのコマンド入力へ
#--------------------------------------------------------------------------
def phase3_next_actor
# ループ
begin
# アクターの明滅エフェクト OFF
if @active_battler != nil
@active_battler.blink = false
end
# 最後のアクターの場合
if @actor_index == $game_party.actors.size-1
# メインフェーズ開始
start_phase4
return
end
# アクターのインデックスを進める
@actor_index += 1
@active_battler = $game_party.actors[@actor_index]
@active_battler.blink = true
# アクターがコマンド入力を受け付けない状態ならもう一度
end until @active_battler.inputable?
# アクターコマンドウィンドウをセットアップ
phase3_setup_command_window
end
#--------------------------------------------------------------------------
# ● 前のアクターのコマンド入力へ
#--------------------------------------------------------------------------
def phase3_prior_actor
# ループ
begin
# アクターの明滅エフェクト OFF
if @active_battler != nil
@active_battler.blink = false
end
# 最初のアクターの場合
if @actor_index == 0
# パーティコマンドフェーズ開始
start_phase2
return
end
# アクターのインデックスを戻す
@actor_index -= 1
@active_battler = $game_party.actors[@actor_index]
@active_battler.blink = true
# アクターがコマンド入力を受け付けない状態ならもう一度
end until @active_battler.inputable?
# アクターコマンドウィンドウをセットアップ
phase3_setup_command_window
end
#--------------------------------------------------------------------------
# ● アクターコマンドウィンドウのセットアップ
#--------------------------------------------------------------------------
def phase3_setup_command_window
# パーティコマンドウィンドウを無効化
@party_command_window.active = false
@party_command_window.visible = false
# アクターコマンドウィンドウを有効化
@actor_command_window.active = true
@actor_command_window.visible = true
# アクターコマンドウィンドウの位置を設定
@actor_command_window.x = @actor_index * 160
# インデックスを 0 に設定
@actor_command_window.index = 0
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ)
#--------------------------------------------------------------------------
def update_phase3
# エネミーアローが有効の場合
if @enemy_arrow != nil
update_phase3_enemy_select
# アクターアローが有効の場合
elsif @actor_arrow != nil
update_phase3_actor_select
# スキルウィンドウが有効の場合
elsif @skill_window != nil
update_phase3_skill_select
# アイテムウィンドウが有効の場合
elsif @item_window != nil
update_phase3_item_select
# アクターコマンドウィンドウが有効の場合
elsif @actor_command_window.active
update_phase3_basic_command
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ : 基本コマンド)
#--------------------------------------------------------------------------
def update_phase3_basic_command
# B ボタンが押された場合
if Input.trigger?(Input::B)
# キャンセル SE を演奏
$game_system.se_play($data_system.cancel_se)
# 前のアクターのコマンド入力へ
phase3_prior_actor
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
# アクターコマンドウィンドウのカーソル位置で分岐
case @actor_command_window.index
when 0 # 攻撃
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アクションを設定
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
# エネミーの選択を開始
start_enemy_select
when 1 # スキル
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
if @active_battler.class_id == 9
@command = []
@i = 0
@blitz.active = true
@skill = nil
@active_battler.current_action.kind = 1
@actor_command_window.active = false
@actor_command_window.visible = false
else
# アクションを設定
@active_battler.current_action.kind = 1
# スキルの選択を開始
start_skill_select
end
when 2 # 防御
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アクションを設定
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 1
# 次のアクターのコマンド入力へ
phase3_next_actor
when 3 # アイテム
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アクションを設定
@active_battler.current_action.kind = 2
# アイテムの選択を開始
start_item_select
end
return
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ : スキル選択)
#--------------------------------------------------------------------------
def update_phase3_skill_select
# スキルウィンドウを可視状態にする
@skill_window.visible = true
# スキルウィンドウを更新
@skill_window.update
# B ボタンが押された場合
if Input.trigger?(Input::B)
# キャンセル SE を演奏
$game_system.se_play($data_system.cancel_se)
# スキルの選択を終了
end_skill_select
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
# スキルウィンドウで現在選択されているデータを取得
@skill = @skill_window.skill
# 使用できない場合
if @skill == nil or not @active_battler.skill_can_use?(@skill.id)
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アクションを設定
@active_battler.current_action.skill_id = @skill.id
# スキルウィンドウを不可視状態にする
@skill_window.visible = false
# 効果範囲が敵単体の場合
if @skill.scope == 1
# エネミーの選択を開始
start_enemy_select
# 効果範囲が味方単体の場合
elsif @skill.scope == 3 or @skill.scope == 5
# アクターの選択を開始
start_actor_select
# 効果範囲が単体ではない場合
else
# スキルの選択を終了
end_skill_select
# 次のアクターのコマンド入力へ
phase3_next_actor
end
return
end
end
def blitz_update
if Input.trigger?(Input::UP)
@command[@i] = 1
@i +=1
end
if Input.trigger?(Input::DOWN)
@command[@i] = 2
@i +=1
end
if Input.trigger?(Input::LEFT)
@command[@i] = 3
@i +=1
end
if Input.trigger?(Input::RIGHT)
@command[@i] = 4
@i +=1
end
if Input.trigger?(Input::X)
@command[@i] = 5
@i +=1
end
if Input.trigger?(Input::Y)
@command[@i] = 6
@i +=1
end
if Input.trigger?(Input::Z)
@command[@i] = 7
@i +=1
end
if Input.trigger?(Input::L)
@command[@i] = 8
@i +=1
end
if Input.trigger?(Input::R)
@command[@i] = 9
@i +=1
end
if Input.trigger?(Input::B)
end
if Input.trigger?(Input::C)
for i in 1...$game_temp.blitz_list.size
if @command == $game_temp.blitz_list[i]
@skill = $game_temp.blitz_skill[i]
end
end
if (@skill == nil and @command.size >= 1) or (not @active_battler.skill_can_use?(@skill.id))
# ブザー SE を演奏
@skill = $data_skills[89]
end
@active_battler.current_action.skill_id = @skill.id
@blitz.active = false
@actor_command_window.active = false
@actor_command_window.visible = false
if @skill.scope == 1
@active_battler.current_action.target_index = rand($game_temp.battle_troop_id.size) - 1
phase3_next_actor
elsif @skill.scope == 3 or @skill.scope == 5
@active_battler.current_action.target_index = rand($game_party.actors.size) -1
phase3_next_actor
else
phase3_next_actor
end
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ : アイテム選択)
#--------------------------------------------------------------------------
def update_phase3_item_select
# アイテムウィンドウを可視状態にする
@item_window.visible = true
# アイテムウィンドウを更新
@item_window.update
# B ボタンが押された場合
if Input.trigger?(Input::B)
# キャンセル SE を演奏
$game_system.se_play($data_system.cancel_se)
# アイテムの選択を終了
end_item_select
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
# アイテムウィンドウで現在選択されているデータを取得
@item = @item_window.item
# 使用できない場合
unless $game_party.item_can_use?(@item.id)
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アクションを設定
@active_battler.current_action.item_id = @item.id
# アイテムウィンドウを不可視状態にする
@item_window.visible = false
# 効果範囲が敵単体の場合
if @item.scope == 1
# エネミーの選択を開始
start_enemy_select
# 効果範囲が味方単体の場合
elsif @item.scope == 3 or @item.scope == 5
# アクターの選択を開始
start_actor_select
# 効果範囲が単体ではない場合
else
# アイテムの選択を終了
end_item_select
# 次のアクターのコマンド入力へ
phase3_next_actor
end
return
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ : エネミー選択)
#--------------------------------------------------------------------------
def update_phase3_enemy_select
# エネミーアローを更新
@enemy_arrow.update
# B ボタンが押された場合
if Input.trigger?(Input::B)
# キャンセル SE を演奏
$game_system.se_play($data_system.cancel_se)
# エネミーの選択を終了
end_enemy_select
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アクションを設定
@active_battler.current_action.target_index = @enemy_arrow.index
# エネミーの選択を終了
end_enemy_select
# スキルウィンドウ表示中の場合
if @skill_window != nil
# スキルの選択を終了
end_skill_select
end
# アイテムウィンドウ表示中の場合
if @item_window != nil
# アイテムの選択を終了
end_item_select
end
# 次のアクターのコマンド入力へ
phase3_next_actor
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ : アクター選択)
#--------------------------------------------------------------------------
def update_phase3_actor_select
# アクターアローを更新
@actor_arrow.update
# B ボタンが押された場合
if Input.trigger?(Input::B)
# キャンセル SE を演奏
$game_system.se_play($data_system.cancel_se)
# アクターの選択を終了
end_actor_select
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アクションを設定
@active_battler.current_action.target_index = @actor_arrow.index
# アクターの選択を終了
end_actor_select
# スキルウィンドウ表示中の場合
if @skill_window != nil
# スキルの選択を終了
end_skill_select
end
# アイテムウィンドウ表示中の場合
if @item_window != nil
# アイテムの選択を終了
end_item_select
end
# 次のアクターのコマンド入力へ
phase3_next_actor
end
end
#--------------------------------------------------------------------------
# ● エネミー選択開始
#--------------------------------------------------------------------------
def start_enemy_select
# エネミーアローを作成
@enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
# ヘルプウィンドウを関連付け
@enemy_arrow.help_window = @help_window
# アクターコマンドウィンドウを無効化
@actor_command_window.active = false
@actor_command_window.visible = false
end
#--------------------------------------------------------------------------
# ● エネミー選択終了
#--------------------------------------------------------------------------
def end_enemy_select
# エネミーアローを解放
@enemy_arrow.dispose
@enemy_arrow = nil
# コマンドが [戦う] の場合
if @actor_command_window.index == 0
# アクターコマンドウィンドウを有効化
@actor_command_window.active = true
@actor_command_window.visible = true
# ヘルプウィンドウを隠す
@help_window.visible = false
end
end
#--------------------------------------------------------------------------
# ● アクター選択開始
#--------------------------------------------------------------------------
def start_actor_select
# アクターアローを作成
@actor_arrow = Arrow_Actor.new(@spriteset.viewport2)
@actor_arrow.index = @actor_index
# ヘルプウィンドウを関連付け
@actor_arrow.help_window = @help_window
# アクターコマンドウィンドウを無効化
@actor_command_window.active = false
@actor_command_window.visible = false
end
#--------------------------------------------------------------------------
# ● アクター選択終了
#--------------------------------------------------------------------------
def end_actor_select
# アクターアローを解放
@actor_arrow.dispose
@actor_arrow = nil
end
#--------------------------------------------------------------------------
# ● スキル選択開始
#--------------------------------------------------------------------------
def start_skill_select
# スキルウィンドウを作成
@skill_window = Window_Skill.new(@active_battler)
# ヘルプウィンドウを関連付け
@skill_window.help_window = @help_window
# アクターコマンドウィンドウを無効化
@actor_command_window.active = false
@actor_command_window.visible = false
end
#--------------------------------------------------------------------------
# ● スキル選択終了
#--------------------------------------------------------------------------
def end_skill_select
# スキルウィンドウを解放
@skill_window.dispose
@skill_window = nil
# ヘルプウィンドウを隠す
@help_window.visible = false
# アクターコマンドウィンドウを有効化
@actor_command_window.active = true
@actor_command_window.visible = true
end
#--------------------------------------------------------------------------
# ● アイテム選択開始
#--------------------------------------------------------------------------
def start_item_select
# アイテムウィンドウを作成
@item_window = Window_Item.new
# ヘルプウィンドウを関連付け
@item_window.help_window = @help_window
# アクターコマンドウィンドウを無効化
@actor_command_window.active = false
@actor_command_window.visible = false
end
#--------------------------------------------------------------------------
# ● アイテム選択終了
#--------------------------------------------------------------------------
def end_item_select
# アイテムウィンドウを解放
@item_window.dispose
@item_window = nil
# ヘルプウィンドウを隠す
@help_window.visible = false
# アクターコマンドウィンドウを有効化
@actor_command_window.active = true
@actor_command_window.visible = true
end
end |
3/ Ajoutez un nouveau script au dessus de "main" et nommez le "blitz", et insérez le script ci-dessous :
| Code: | #=======================================================================
# Sample blitz list ----------------------------------------------------
#-----------------------------------------------------------------------
#-script by makeamidget-------------------------------------------------
#---translate by masterjojo-------------------www.neorpg.net---------------------------------
#---------pour faire une nouvelle attaque, ajoutez :---------------------------
#---------@blitz_list[1] = [buttons to push]----------------------------
#---------@blitz_skill[1] = $data_skills[id number of attack to perform]
#=======================================================================
# 1 = haut
# 2 = bas
# 3 = gauche
# 4 = droite
# 5 = A (input X)
# 6 = S(input Y)
# 7 = D(input Z)
# 8 = Q(input L)
# 9 = W(input R)
class Game_Temp
attr_reader :blitz_list #touche pour activer blitz
attr_reader :blitz_skill #skill qui confirme le blitz à faire
alias blitz_list_initialize initialize
def initialize
blitz_list_initialize
@blitz_list=[]
@blitz_skill = []
get_blitz_list
end
def get_blitz_list
#first blitz
@blitz_list[1] = [1,2,3,4,4,3,2,1]
@blitz_skill[1] = $data_skills[92]
#second blitz
@blitz_list[2] = [1,2,3,4]
@blitz_skill[2] = $data_skills[90]
#third blitz
@blitz_list[3] = [2,1,3,4]
@blitz_skill[3] = $data_skills[91]
#doesn't know this one
@blitz_list[4] = [1,1,1,1]
@blitz_skill[4] = $data_skills[40]
end
end
# Skill_Command_Change by Vash
class Scene_Battle
SKILL_COMMAND_NAMES = [
{'CLASS_ID'=>1,'COMMAND'=>'Skill'},
{'CLASS_ID'=>2,'COMMAND'=>'Skill'},
{'CLASS_ID'=>3,'COMMAND'=>'Skill'},
{'CLASS_ID'=>4,'COMMAND'=>'Skill'},
{'CLASS_ID'=>5,'COMMAND'=>'Skill'},
{'CLASS_ID'=>6,'COMMAND'=>'Skill'},
{'CLASS_ID'=>7,'COMMAND'=>'Skill'},
{'CLASS_ID'=>8,'COMMAND'=>'Skill'},
{'CLASS_ID'=>9,'COMMAND'=>'Blitz'},
]
end
class Window_Command
def set_command_name(index,name)
@commands[index] = name
refresh
end
end
class Scene_Battle
alias skill_names_original_phase3_setup_command_window phase3_setup_command_window
def phase3_setup_command_window
skill_names_original_phase3_setup_command_window
return if @active_battler.nil?
SKILL_COMMAND_NAMES.each do |names|
if names['CLASS_ID'] == @active_battler.class_id
@actor_command_window.set_command_name(1,names['COMMAND'])
break
end
end
end
end |
4/ Allez dans la "Base de données", dans l'onglet "Compétences", et ajoutez :
001 : Echec | Description: Blitz Echoué | Cible : un ennemi
002 : Feu | Description: Haut,Bas,Gauche,Droite, |attribut feu (et mettez les anim feu) | Taux d'effet : 140
003 : mettez encore une attaque, vous pouvez mettre autant d'attaque que vous le souhaitez...
5/ Faites une nouvelle classe et nommez là comme bon vous semble, mettez les armes que vous voulez, et assignez en lv1: Echec et Feu
6/ Pour ajouter un blitz, allez dans le script "blitz" et ajoutez ces lignes
#third blitz
@blitz_list[5] = [#,#,#,#]<<<<--- modifiez la combinaison blitz ici
@blitz_skill[5] = $data_skills[##]<<<<--- ici c'est le numero de la compétence
# 1 = haut
# 2 = bas
# 3 = gauche
# 4 = droite
# 5 = A
# 6 = S
# 7 = D
# 8 = Q
# 9 = W
bah voila j'ai tout dis
PS:c'est po moi qui ai fait le script je suis eventeur...[/code]
|
|