Sign in to follow this  
Followers 0
Fegarur

Ataques múltiples

28 posts in this topic

Descripción:
No entiendo el script al 100% porque si me sacais del ingés, o en todo caso francés me matais. xD.png Este en concreto estaba originalmente en japonés...
Su cometido es que, en un solo ataque, dañes al enemigo varias veces. Algo así como el Omnilátigo de Cloud en FFVII.

Screen:
[SPOILER]user posted image[/SPOILER]
Script:[SPOILER]
CODE
# 連撃 Ver 1.03
#cogwheel

#==============================================================================
# ■ Scene_Battle (分割定義 4)
#------------------------------------------------------------------------------
#  バトル画面の処理を行うクラスです。
#==============================================================================
# アニメに強さ0のフラッシュが存在した場合、
# 赤:倍率 緑:+スキル・アイテムID でダメージ計算を行う。


class Scene_Battle
�#--------------------------------------------------------------------------
�# ● ATB基礎セットアップ
�#--------------------------------------------------------------------------
�alias :atb_setup_straight :atb_setup
�def atb_setup
� �atb_setup_straight
� �for battler in $game_party.actors + $game_troop.enemies
� � �battler.total_damage = {}
� �end
�end
�#--------------------------------------------------------------------------
�# ● アクション更新 (メインフェーズ)
�#--------------------------------------------------------------------------
�def action_phase(battler)
� �while true
� � �# action が 1 の場合、バトラーが行動中かどうか確認
� � �if @action == 1 and battler.phase < 3
� � � �for target in battler.target
� � � � �speller = synthe?(target)
� � � � �if speller == nil
� � � � � �# ターゲットが通常行動中の場合
� � � � � �if @action_battlers.include?(target)
� � � � � � �if target.phase > 2
� � � � � � � �return
� � � � � � �end
� � � � � �end
� � � � �else
� � � � � �# ターゲットが連携スキル発動中の場合
� � � � � �for spell in speller
� � � � � � �if @action_battlers.include?(spell)
� � � � � � � �if spell.phase > 2
� � � � � � � � �return
� � � � � � � �end
� � � � � � �end
� � � � � �end
� � � � �end
� � � �end
� � �end
� � �case battler.phase
� � �when 1
� � � �update_phase4_step1(battler)
� � �when 2
� � � �update_phase4_step2(battler)
� � �when 3
� � � �update_phase4_step3(battler)
� � �when 4
� � � �update_phase4_step4(battler)
� � �when 5
� � � �update_phase4_step5(battler)
� � �when 6
� � � �update_phase4_step6(battler)
� � �end
� � �# ウェイトが入った場合
� � �if battler.wait > 0
� � � �# ウェイトカウントを減らして終了
� � � �battler.wait -= 1
� � � �break
� � �end
� � �# 行動終了した場合ループを抜ける
� � �unless @action_battlers.include?(battler)
� � � �break
� � �end
� �end
�end
�#--------------------------------------------------------------------------
�# ● フレーム更新 (メインフェーズ ステップ 1 : アクション準備)
�#--------------------------------------------------------------------------
�def update_phase4_step1(battler)
� �# すでに戦闘から外されている場合
� �if battler.index == nil
� � �@action_battlers.delete(battler)
� � �anime_wait_return
� � �battler.wait = 1
� � �return
� �end
� �speller = synthe?(battler)
� �if speller == nil
� � �# ダメージ食らい中の場合
� � �unless battler.damage.empty? or @action > 2
� � � �battler.wait = 1
� � � �return
� � �end
� � �# 行動可能かどうか判定
� � �unless battler.movable?
� � � �battler.phase = 6
� � � �return
� � �end
� �else
� � �# ダメージ食らい中の場合
� � �for spell in speller
� � � �unless spell.damage.empty? or @action > 2
� � � � �battler.wait = 1
� � � � �return
� � � �end
� � � �# 行動可能かどうか判定
� � � �unless spell.movable?
� � � � �battler.phase = 6
� � � � �return
� � � �end
� � �end
� �end
� �# スキル使用時、詠唱時間設定
� �# 強制アクションかつ @force が 2 の時はスキルを即時発動
� �if battler.current_action.kind == 1 and
� � �(not battler.current_action.forcing or @force != 2)
� � �if battler.rtp == 0
� � � �# スキル詠唱中ならば、解除
� � � �skill_reset(battler)
� � � �# スキル詠唱時間設定
� � � �recite_time(battler)
� � � �# 連携技設定
� � � �synthe_spell(battler)
� � � �# スキルを詠唱する場合
� � � �if battler.rtp > 0
� � � � �# 強制アクションかつ @force が 1 の時は連携スキルのみ即時発動
� � � � �speller = synthe?(battler)
� � � � �if battler.current_action.forcing and @force > 0 and speller != nil
� � � � � �for spell in speller
� � � � � � �spell.rt = spell.rtp
� � � � � �end
� � � � �else
� � � � � �battler.blink = true
� � � � � �if battler.current_action.forcing
� � � � � � �$game_temp.forcing_battler = nil
� � � � � � �battler.current_action.forcing = false
� � � � � �end
� � � � � �@action_battlers.delete(battler)
� � � � � �return
� � � � �end
� � � �end
� � �end
� �end
� �# アクターの明滅エフェクト OFF
� �if battler != nil
� � �battler.blink = false
� �end
� �speller = synthe?(battler)
� �if speller == nil
� � �@spell_p.delete(battler)
� � �@spell_e.delete(battler)
� �else
� � �for spell in speller
� � � �spell.blink = false
� � � �@spell_p.delete(spell)
� � � �@spell_e.delete(spell)
� � �end
� �end
� �# ステップ 2 に移行
� �battler.phase = 2
�end
�#--------------------------------------------------------------------------
�# ● フレーム更新 (メインフェーズ ステップ 2 : アクション開始)
�#--------------------------------------------------------------------------
�def update_phase4_step2(battler)
� �# 強制アクションでなければ
� �unless battler.current_action.forcing
� � �# 制約が [敵を通常攻撃する] か [味方を通常攻撃する] の場合
� � �if battler.restriction == 2 or battler.restriction == 3
� � � �# アクションに攻撃を設定
� � � �battler.current_action.kind = 0
� � � �battler.current_action.basic = 0
� � �end
� �end
� �# アクションの種別より攻撃アニメーションを取得する
� �case battler.current_action.kind
� �when 0 # 基本
� � �if battler.is_a?(Game_Actor)
� � � �base_id = battler.weapon_id
� � �end
� � �anime_id = battler.animation2_id
� � �# 防御など特殊行動の場合は次のステップへ
� � �unless make_basic_action_preparation(battler)
� � � �return
� � �end
� � �# 戦闘が終了した場合は行動をキャンセル
� � �if fin?
� � � �battler.phase = 6
� � � �return
� � �end
� �when 1 # スキル
� � �base_id = battler.current_action.skill_id
� � �anime_id = $data_skills[battler.current_action.skill_id].animation2_id
� � �# スキルが使用できない場合は行動をキャンセル
� � �unless make_skill_action_preparation(battler)
� � � �return
� � �end
� � �# 戦闘が終了した場合は行動をキャンセル
� � �if fin? and $data_skills[anime_id].scope == 1..2
� � � �battler.phase = 6
� � � �return
� � �end
� �when 2 # アイテム
� � �base_id = battler.current_action.item_id
� � �anime_id = $data_items[battler.current_action.item_id].animation2_id
� � �# アイテムが使用できない場合は行動をキャンセル
� � �unless make_item_action_preparation(battler)
� � � �return
� � �end
� � �# 戦闘が終了した場合は行動をキャンセル
� � �if fin? and $data_items[anime_id].scope == 1..2
� � � �battler.phase = 6
� � � �return
� � �end
� �end
� �# アニメーションを検索し、連撃性を変数serialに代入する
� �serial = []
� �frame = 0
� �if $data_animations[anime_id] != nil
� � �for animation in $data_animations[anime_id].timings
� � � �color = animation.flash_color
� � � �# アニメーション・フラッシュの強さが0の場合
� � � �if color.alpha == 0
� � � � �serial.push([color.red.to_i, color.green, animation.frame - frame])
� � � � �frame = animation.frame
� � � �end
� � �end
� � �# 連撃性がない場合単発攻撃
� � �if serial.empty?
� � � �serial = [[20, 100, $data_animations[anime_id].frame_max - 5]]
� � �end
� �else
� � �# アニメーションが存在しない場合
� � �serial = [[20, 100, 0]]
� �end
� �# ハッシュ total_damage の作成
� �total_damage = {}
� �for target in battler.target
� � �total_damage[target] = []
� �end
� �# 連撃回数分ダメージ計算を行う
� �for attack in serial
� � �# アクションの種別で分岐
� � �case battler.current_action.kind
� � �when 0 �# 基本
� � � �if battler.is_a?(Game_Actor)
� � � � �# バトラーがアクターの場合、攻撃時に武器を変更する
� � � � �battler.change_weapon(base_id + attack[1] - 100)
� � � �end
� � � �make_basic_action_result(battler)
� � �when 1 �# スキル
� � � �# 連携スキルのことを考え、スキルIDの変更は内部処理で行う
� � � �make_skill_action_result(battler, attack[1] - 100)
� � �when 2 �# アイテム
� � � �# アイテムIDを設定分変化させる
� � � �battler.current_action.item_id = base_id + attack[1] - 100
� � � �make_item_action_result(battler)
� � �end
� � �# total_damage へダメージを代入
� � �for target in battler.target
� � � �# ダメージがある場合、ダメージをX/20倍する。
� � � �if target.damage[battler].is_a?(Numeric)
� � � � �damage = target.damage[battler] * attack[0] / 20
� � � �else
� � � � �damage = target.damage[battler]
� � � �end
� � � �# 回復HP量がある場合、回復HP量をX/20倍する。
� � � �if target.recover_hp[battler].is_a?(Numeric)
� � � � �recover_hp = target.recover_hp[battler] * attack[0] / 20
� � � �end
� � � �# 回復SP量がある場合、回復SP量をX/20倍する。
� � � �if target.recover_sp[battler].is_a?(Numeric)
� � � � �recover_sp = target.recover_sp[battler] * attack[0] / 20
� � � �end
� � � �critical = target.critical[battler]
� � � �# total_damage = [ダメージ, クリティカルフラグ, 回復HP量, 回復SP量,
� � � �# � � � � � � � � ステート変化, ステート回復, 待ちフレーム時間]
� � � �total_damage[target].push([damage, critical, recover_hp, recover_sp,
� � � � �target.state_p[battler], target.state_m[battler], attack[2]])
� � �end
� �end
� �# トータルダメージを、バトラーのインスタンスに代入
� �for target in battler.target
� � �target.total_damage[battler] = total_damage[target]
� �end
� �# 武器・スキル・アイテムIDを通常に戻す
� �case battler.current_action.kind
� �when 0 �# 基本
� � �if battler.is_a?(Game_Actor)
� � � �battler.change_weapon(base_id)
� � �end
� �when 1 �# スキル
� � �battler.current_action.skill_id = base_id
� �when 2 �# アイテム
� � �battler.current_action.item_id = base_id
� �end
� �if battler.phase == 2
� � �# ステップ 3 に移行
� � �battler.phase = 3
� �end
�end
�#--------------------------------------------------------------------------
�# ● 基本アクション 準備
�#--------------------------------------------------------------------------
�def make_basic_action_preparation(battler)
� �# 攻撃の場合
� �if battler.current_action.basic == 0
� � �# アニメーション ID を設定
� � �battler.anime1 = battler.animation1_id
� � �battler.anime2 = battler.animation2_id
� � �# 行動側バトラーがエネミーの場合
� � �if battler.is_a?(Game_Enemy)
� � � �if battler.restriction == 3
� � � � �target = $game_troop.random_target_enemy
� � � �elsif battler.restriction == 2
� � � � �target = $game_party.random_target_actor
� � � �else
� � � � �index = battler.current_action.target_index
� � � � �target = $game_party.smooth_target_actor(index)
� � � �end
� � �end
� � �# 行動側バトラーがアクターの場合
� � �if battler.is_a?(Game_Actor)
� � � �if battler.restriction == 3
� � � � �target = $game_party.random_target_actor
� � � �elsif battler.restriction == 2
� � � � �target = $game_troop.random_target_enemy
� � � �else
� � � � �index = battler.current_action.target_index
� � � � �target = $game_troop.smooth_target_enemy(index)
� � � �end
� � �end
� � �# 対象側バトラーの配列を設定
� � �battler.target = [target]
� � �return true
� �end
� �# 防御の場合
� �if battler.current_action.basic == 1
� � �# ステップ 3 に移行
� � �battler.phase = 3
� � �return false
� �end
� �# 逃げるの場合
� �if battler.is_a?(Game_Enemy) and battler.current_action.basic == 2
� � �# ステップ 3 に移行
� � �battler.phase = 3
� � �return false
� �end
� �# 何もしないの場合
� �if battler.current_action.basic == 3
� � �# ステップ 6 に移行
� � �battler.phase = 6
� � �return false
� �end
�end
�#--------------------------------------------------------------------------
�# ● スキルアクション 準備
�#--------------------------------------------------------------------------
�def make_skill_action_preparation(battler)
� �# スキルを取得
� �@skill = $data_skills[battler.current_action.skill_id]
� �# 連携スキルであるかどうか確認
� �speller = synthe?(battler)
� �# 強制アクションでなければ
� �unless battler.current_action.forcing
� � �# SP 切れなどで使用できなくなった場合
� � �if speller == nil
� � � �unless battler.skill_can_use?(@skill.id)
� � � � �# ステップ 6 に移行
� � � � �battler.phase = 6
� � � � return false
� � � �end
� � �end
� �end
� �# SP 消費
� �temp = false
� �if speller != nil
� � �for spell in speller
� � � �if spell.current_action.spell_id == 0
� � � � �spell.sp -= @skill.sp_cost
� � � �else
� � � � �spell.sp -= $data_skills[spell.current_action.spell_id].sp_cost
� � � �end
� � � �# ステータスウィンドウをリフレッシュ
� � � �status_refresh(spell)
� � �end
� �else
� � �battler.sp -= @skill.sp_cost
� � �# ステータスウィンドウをリフレッシュ
� � �status_refresh(battler)
� �end
� �# アニメーション ID を設定
� �battler.anime1 = @skill.animation1_id
� �battler.anime2 = @skill.animation2_id
� �# コモンイベント ID を設定
� �battler.event = @skill.common_event_id
� �# 対象側バトラーを設定
� �set_target_battlers(@skill.scope, battler)
� �return true
�end
�#--------------------------------------------------------------------------
�# ● アイテムアクション 準備
�#--------------------------------------------------------------------------
�def make_item_action_preparation(battler)
� �# アイテムを取得
� �@item = $data_items[battler.current_action.item_id]
� �# アイテム切れなどで使用できなくなった場合
� �unless $game_party.item_can_use?(@item.id)
� � �# ステップ 6 に移行
� � �battler.phase = 6
� � �return false
� �end
� �# 消耗品の場合
� �if @item.consumable
� � �# 使用したアイテムを 1 減らす
� � �$game_party.lose_item(@item.id, 1)
� �end
� �# アニメーション ID を設定
� �battler.anime1 = @item.animation1_id
� �battler.anime2 = @item.animation2_id
� �# コモンイベント ID を設定
� �battler.event = @item.common_event_id
� �# 対象を決定
� �index = battler.current_action.target_index
� �target = $game_party.smooth_target_actor(index)
� �# 対象側バトラーを設定
� �set_target_battlers(@item.scope, battler)
� �return true
�end
�#--------------------------------------------------------------------------
�# ● 基本アクション 結果作成
�#--------------------------------------------------------------------------
�def make_basic_action_result(battler)
� �# 通常攻撃の効果を適用
� �for target in battler.target
� � �target.attack_effect(battler)
� �end
�end
�#--------------------------------------------------------------------------
�# ● スキルアクション 結果作成
�#--------------------------------------------------------------------------
�def make_skill_action_result(battler, plus_id)
� �# スキルを取得
� �@skill = $data_skills[battler.current_action.skill_id + plus_id]
� �# 連携スキルであるかどうか確認
� �speller = synthe?(battler)
� �# スキルの効果を適用
� �for target in battler.target
� � �if speller != nil
� � � �damage = 0
� � � �effective = false
� � � �state_p = []
� � � �state_m = []
� � � �d_result = false
� � � �for spell in speller
� � � � �if spell.current_action.spell_id != 0
� � � � � �@skill = $data_skills[spell.current_action.spell_id + plus_id]
� � � � �end
� � � � �effective |= target.skill_effect(spell, @skill)
� � � � �if target.damage[spell].class != String
� � � � � �d_result = true
� � � � � �damage += target.damage[spell]
� � � � �elsif effective
� � � � � �effect = target.damage[spell]
� � � � �end
� � � � �state_p += target.state_p[spell]
� � � � �state_m += target.state_m[spell]
� � � � �target.damage.delete(spell)
� � � � �target.state_p.delete(spell)
� � � � �target.state_m.delete(spell)
� � � �end
� � � �if d_result
� � � � �target.damage[battler] = damage
� � � �elsif effective
� � � � �target.damage[battler] = effect
� � � �end
� � � �target.state_p[battler] = state_p
� � � �target.state_m[battler] = state_m
� � �else
� � � �target.skill_effect(battler, @skill)
� � �end
� �end
�end
�#--------------------------------------------------------------------------
�# ● アイテムアクション 結果作成
�#--------------------------------------------------------------------------
�def make_item_action_result(battler)
� �# アイテムを取得
� �@item = $data_items[battler.current_action.item_id]
� �# アイテムの効果を適用
� �for target in battler.target
� � �target.item_effect(@item, battler)
� �end
�end
�#--------------------------------------------------------------------------
�# ● フレーム更新 (メインフェーズ ステップ 4 : 対象側アニメーション)
�#--------------------------------------------------------------------------
�def update_phase4_step4(battler)
� �# カメラ設定
� �if battler.target[0].is_a?(Game_Enemy) and battler.anime1 != 0
� � �camera_set(battler)
� �end
� �# 対象側アニメーション
� �for target in battler.target
� � �target.animation.push([battler.anime2,
� � � � � � � � � � � � � � � � � � � � �(target.damage[battler] != "Miss")])
� � �unless battler.anime2 == 0
� � � �battler.wait = 2 * target.total_damage[battler][0][6] - 1 +
� � � � �Graphics.frame_count % 2
� � �end
� �end
� �# ステップ 5 に移行
� �battler.phase = 5
�end
�#--------------------------------------------------------------------------
�# ● フレーム更新 (メインフェーズ ステップ 5 : ダメージ表示)
�#--------------------------------------------------------------------------
�def update_phase4_step5(battler)
� �next_step = true
� �# ダメージ表示
� �for target in battler.target
� � �# total_damage より全ダメージを算出
� � �total_damage = target.total_damage[battler].shift
� � �target.damage[battler] = total_damage[0]
� � �target.critical[battler] = total_damage[1]
� � �target.recover_hp[battler] = total_damage[2]
� � �target.recover_sp[battler] = total_damage[3]
� � �target.state_p[battler] = total_damage[4]
� � �target.state_m[battler] = total_damage[5]
� � �# ダメージ表示フラグをON
� � �target.damage_pop[battler] = true
� � �# 実際にダメージを与える
� � �target.damage_effect(battler, battler.current_action.kind)
� � �# 余計なハッシュを削除
� � �target.recover_hp.delete(battler)
� � �target.recover_sp.delete(battler)
� � �target.state_p.delete(battler)
� � �target.state_m.delete(battler)
� � �# ダメージを全て与えきった場合
� � �if target.total_damage[battler].empty?
� � � �# ターゲットへの全ダメージを削除
� � � �target.total_damage.delete(battler)
� � � �# 指定時間ウェイトする
� � � �battler.wait = @damage_wait
� � �else
� � � �# 指定時間ウェイトする
� � � �next_step = false
� � � �battler.wait = 2 * target.total_damage[battler][0][6]
� � �end
� � �# ステータスウィンドウをリフレッシュ
� � �status_refresh(target)
� �end
� �if next_step
� � �# ステップ 6 に移行
� � �battler.phase = 6
� �end
�end
�#--------------------------------------------------------------------------
�# ● フレーム更新 (メインフェーズ ステップ 6 : リフレッシュ)
�#--------------------------------------------------------------------------
�def update_phase4_step6(battler)
� �# カメラを戻す
� �if battler.target[0].is_a?(Game_Enemy) and @camera == battler
� � �@spriteset.screen_target(0, 0, 1)
� �end
� �# スキルラーニング
� �if battler.target[0].is_a?(Game_Actor) and battler.current_action.kind == 1
� � �for target in battler.target
� � � �skill_learning(target, target.class_id,
� � � � � � � � � � � �battler.current_action.skill_id)
� � �end
� �end
� �# アクション強制対象のバトラーをクリア
� �if battler.current_action.forcing == true and
� � � �battler.current_action.force_kind == 0 and
� � � �battler.current_action.force_basic == 0 and
� � � �battler.current_action.force_skill_id == 0
� � �$game_temp.forcing_battler = nil
� � �battler.current_action.forcing = false
� �end
� �refresh_phase(battler)
� �speller = synthe?(battler)
� �if speller != nil
� � �for spell in speller
� � � �if spell != battler
� � � � �refresh_phase(spell)
� � � �end
� � �end
� � �synthe_delete(speller)
� �end
� �# コモンイベント ID が有効の場合
� �if battler.event > 0
� � �# イベントをセットアップ
� � �common_event = $data_common_events[battler.event]
� � �$game_system.battle_interpreter.setup(common_event.list, 0)
� �end
� �act = 0
� �for actor in $game_party.actors + $game_troop.enemies
� � �if actor.movable?
� � � �act += 1
� � �end
� �end
� �if @turn_cnt >= act and act > 0
� � �@turn_cnt %= act
� � �$game_temp.battle_turn += 1
� � �# バトルイベントの全ページを検索
� � �for index in 0...$data_troops[@troop_id].pages.size
� � � �# イベントページを取得
� � � �page = $data_troops[@troop_id].pages[index]
� � � �# このページのスパンが [ターン] の場合
� � � �if page.span == 1
� � � � �# 実行済みフラグをクリア
� � � � �$game_temp.battle_event_flags[index] = false
� � � �end
� � �end
� �end
� �battler.phase = 1
� �@action_battlers.delete(battler)
�end
end

#==============================================================================
# ■ Game_Battler (分割定義 1)
#------------------------------------------------------------------------------
#  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ
# スのスーパークラスとして使用されます。
#==============================================================================

class Game_Battler
�#--------------------------------------------------------------------------
�# ● 公開インスタンス変数追加
�#--------------------------------------------------------------------------
�attr_accessor :total_damage � � � � � � �# 総ダメージ
�#--------------------------------------------------------------------------
�# ● オブジェクト初期化
�#--------------------------------------------------------------------------
�alias :initialize_straight :initialize
�def initialize
� �initialize_straight
� �@total_damage = {}
�end
�#--------------------------------------------------------------------------
�# ● 存在判定
�#--------------------------------------------------------------------------
�def exist?
� �return (not @hidden and (@hp > 0 or @immortal or not @total_damage.empty?))
�end
�#--------------------------------------------------------------------------
�# ● 残HP予測
�#--------------------------------------------------------------------------
�def rest_hp
� �# rest_hp に現HPを代入
� �rest_hp = @hp
� �# バトラーが受ける全ダメージをrest_hpに反映させる
� �for total in @total_damage
� � �for pre_damage in total[1]
� � � �if pre_damage[0].is_a?(Numeric)
� � � � �rest_hp -= pre_damage[0]
� � � �end
� � � �if pre_damage[2].is_a?(Numeric)
� � � � �rest_hp += pre_damage[2]
� � � �end
� � �end
� �end
� �return rest_hp
�end
end

#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
#  アクターを扱うクラスです。このクラスは Game_Actors クラス ($game_actors)
# の内部で使用され、Game_Party クラス ($game_party) からも参照されます。
#==============================================================================

class Game_Actor < Game_Battler
�#--------------------------------------------------------------------------
�# ● 公開インスタンス変数
�#--------------------------------------------------------------------------
�def change_weapon(id)
� �@weapon_id = id
�end
end

#==============================================================================
# ■ Sprite_Battler
#------------------------------------------------------------------------------
#  バトラー表示用のスプライトです。Game_Battler クラスのインスタンスを監視し、
# スプライトの状態を自動的に変化させます。
#==============================================================================

class Sprite_Battler < RPG::Sprite
�#--------------------------------------------------------------------------
�# ● フレーム更新
�#--------------------------------------------------------------------------
�def update
� �super
� �# バトラーが nil の場合
� �if @battler == nil
� � �self.bitmap = nil
� � �loop_animation(nil)
� � �return
� �end
� �# ファイル名か色相が現在のものと異なる場合
� �if @battler.battler_name != @battler_name or
� � � @battler.battler_hue != @battler_hue
� � �# ビットマップを取得、設定
� � �@battler_name = @battler.battler_name
� � �@battler_hue = @battler.battler_hue
� � �self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
� � �@width = bitmap.width
� � �@height = bitmap.height
� � �self.ox = @width / 2
� � �self.oy = @height
� � �if @battler.is_a?(Game_Enemy)
� � � �@battler.height = @height
� � �end
� � �# 戦闘不能または隠れ状態なら不透明度を 0 にする
� � �if @battler.dead? or @battler.hidden
� � � �self.opacity = 0
� � �end
� �end
� �# アニメーション ID が現在のものと異なる場合
� �if @battler.state_animation_id != @state_animation_id
� � �@state_animation_id = @battler.state_animation_id
� � �loop_animation($data_animations[@state_animation_id])
� �end
� �# 表示されるべきアクターの場合
� �if @battler.is_a?(Game_Actor) and @battler_visible
� � �# メインフェーズでないときは不透明度をやや下げる
� � �if $game_temp.battle_main_phase
� � � �self.opacity += 3 if self.opacity < 255
� � �else
� � � �self.opacity -= 3 if self.opacity > 207
� � �end
� �end
� �# 明滅
� �if @battler.blink
� � �blink_on
� �else
� � �blink_off
� �end
� �# 不可視の場合
� �unless @battler_visible
� � �# 出現
� � �if not @battler.hidden and not @battler.dead? and
� � � � (@battler.damage.size < 2 or @battler.damage_pop.size < 2)
� � � �appear
� � � �@battler_visible = true
� � �end
� �end
� �# ダメージ
� �for battler in @battler.damage_pop
� � �if battler[0].class == Array
� � � �if battler[0][1] >= 0
� � � � �$scene.skill_se
� � � �else
� � � � �$scene.levelup_se
� � � �end
� � � �damage(@battler.damage[battler[0]], false, 2)
� � �else
� � � �damage(@battler.damage[battler[0]], @battler.critical[battler[0]])
� � �end
� � �if @battler.damage_sp.include?(battler[0])
� � � �damage(@battler.damage_sp[battler[0]],
� � � � � � � �@battler.critical[battler[0]], 1)
� � � �@battler.damage_sp.delete(battler[0])
� � �end
� � �@battler.damage_pop.delete(battler[0])
� � �@battler.damage.delete(battler[0])
� � �@battler.critical.delete(battler[0])
� �end
� �# 可視の場合
� �if @battler_visible
� � �# 逃走
� � �if @battler.hidden
� � � �$game_system.se_play($data_system.escape_se)
� � � �escape
� � � �@battler_visible = false
� � �end
� � �# 白フラッシュ
� � �if @battler.white_flash
� � � �whiten
� � � �@battler.white_flash = false
� � �end
� � �# アニメーション
� � �unless @battler.animation.empty?
� � � �for animation in @battler.animation.reverse
� � � � �animation($data_animations[animation[0]], animation[1])
� � � � �@battler.animation.delete(animation)
� � � �end
� � �end
� � �# コラプス
� � �if @battler.total_damage.empty? and @battler.dead?
� � � �if $scene.dead_ok?(@battler)
� � � � �if @battler.is_a?(Game_Enemy)
� � � � � �$game_system.se_play($data_system.enemy_collapse_se)
� � � � �else
� � � � � �$game_system.se_play($data_system.actor_collapse_se)
� � � � �end
� � � � �collapse
� � � � �@battler_visible = false
� � � �end
� � �end
� �end
� �# スプライトの座標を設定
� �self.x = @battler.screen_x
� �self.y = @battler.screen_y
� �self.z = @battler.screen_z
� �if @battler.is_a?(Game_Enemy)
� � �self.zoom_x = @battler.real_zoom * @battler.zoom
� � �self.zoom_y = @battler.real_zoom * @battler.zoom
   end
 end
end
[/SPOILER]

**Sigue abajo** Edited by Fegarur
0

Share this post


Link to post
Share on other sites
**Viene de arriba**
Instrucciones:
+ Es muy probable que también haya que utilizar este script: [spoiler]
CODE
#◆◇◆◇◆  RTAB・コンフィング・システム ver 1.10  ◇◆◇◆◇
#   by みんと
# リアルタイム・アクティブバトル(RTAB) Ver 1.10
# by ショウ

=begin

更新履歴 1.10
ヘルプウィンドウの名前が、
歯車の城さんのメニュー改造のものと被っていたので変更。
(ヘルプが被って見えなくなるため)
レイアウトも若干修正。

みんとのお部屋のマスタースクリプトは要りません
RTAB本体より、下に導入してください

なお、このスクリプトの質問及びサポートは
みんとのお部屋までお願いします

なお、コンフィング画面の呼び出しは

$scene = Scene_Customize.new

と入力してください

=end

#==============================================================================
# ■ Game_System
#==============================================================================

class Game_System  
 #--------------------------------------------------------------------------
 # ● 公開インスタンス変数
 #--------------------------------------------------------------------------
 attr_accessor   :battle_speed           # 戦闘速度
 attr_accessor   :battle_active          # アクティブ
 attr_accessor   :battle_camera          # カメラ稼動
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 alias initialize_MINT_RTAB_Customize initialize
 def initialize
   # 元の処理を実行
   initialize_MINT_RTAB_Customize
   @battle_speed = 150
   @battle_active = 2
   @battle_camera = true
 end
end
#==============================================================================
# ■ Window_Customize
#==============================================================================

class Window_Customize < Window_Selectable
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 def initialize
   super(160, 176, 320, 128)    
   @column_max = 1
   refresh
   self.index = 0
 end
 #--------------------------------------------------------------------------
 # ● リフレッシュ
 #--------------------------------------------------------------------------
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
   @element = []
   # 習得しているスキルを取得
   get_data
   get_element
   # 項目数が0でなければ項目を描画
   @item_max = @data.size
   if @item_max > 0
     self.contents = Bitmap.new(width - 32, row_max * 32)
     for i in 0...@item_max
       draw_item(i)
     end
   end
 end
 #--------------------------------------------------------------------------
 # ● 描写する項目を取得
 #--------------------------------------------------------------------------
 def get_data
   data = [
   "バトルスピード",
   "アクティブ",
   "カメラ稼動"]
   @data = data
 end
 #--------------------------------------------------------------------------
 # ● 項目のデータを取得
 #--------------------------------------------------------------------------
 def get_element
   case $game_system.battle_active
   when 1
     active = "ウェイト"
   when 2
     active = "セミアクティブ"
   else
     active = "フルアクティブ"
   end
   if $game_system.battle_camera
     camera = "ON"
   else
     camera = "OFF"
   end    
   data = [$game_system.battle_speed.to_s, active, camera]
   @element = data
 end    
 #--------------------------------------------------------------------------
 # ● 項目の描画
 #--------------------------------------------------------------------------
 def draw_item(index)
   item = @data[index]
   deta = @element[index]
   x = 0
   y = index * 32    
   self.contents.draw_text(x, y, 288, 32, item, 0)
   self.contents.draw_text(x, y, 288, 32, deta, 2)
 end
 #--------------------------------------------------------------------------
 # ● ヘルプテキスト取得
 #--------------------------------------------------------------------------
 def help_text(index)
   case index
   when 0
     text = "戦闘速度を変更します。速度は数値が低いほど速くなります。(推奨:150)"
   when 1
     text = "戦闘の時間の流れ方を変更します。"
   else
     text = "戦闘中のカメラの稼動、不稼動を変更します。"
   end
 end
 #--------------------------------------------------------------------------
 # ● ヘルプテキスト更新
 #--------------------------------------------------------------------------
 def update_help    
   text = help_text(self.index)
   @help_window.set_text(text)
 end
end
#==============================================================================
# ■ Window_Command2
#==============================================================================

class Window_Command2 < Window_Selectable
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 def initialize(width, commands)
   # コマンドの個数からウィンドウの高さを算出
   super(0, 0, width, commands.size * 32 + 32)
   @item_max = commands.size
   @commands = commands
   self.contents = Bitmap.new(width - 32, @item_max * 32)
   refresh
   self.index = 0
 end
 #--------------------------------------------------------------------------
 # ● リフレッシュ
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   for i in 0...@item_max
     draw_item(i, normal_color)
   end
 end
 #--------------------------------------------------------------------------
 # ● 項目の描画
 #--------------------------------------------------------------------------
 def draw_item(index, color)
   self.contents.font.color = color
   self.contents.font.size = 20
   rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
   self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
   self.contents.draw_text(rect, @commands[index])
 end
 #--------------------------------------------------------------------------
 # ● 項目の無効化
 #--------------------------------------------------------------------------
 def disable_item(index)
   draw_item(index, disabled_color)
 end
 #--------------------------------------------------------------------------
 # ● ヘルプテキスト取得
 #--------------------------------------------------------------------------
 def help_text(index)
   case index
   when 0
     text = "セミアクティブに加え、ターゲット選択時にも時間が停止します。初級者向け。"
   when 1
     text = "スキルやアイテムウインドウを開いた場合のみ時間が停止します。(推奨)"      
   else
     text = "常に時間が流れます。上級者向け。"
   end
 end
 #--------------------------------------------------------------------------
 # ● ヘルプテキスト更新
 #--------------------------------------------------------------------------
 def update_help    
   text = help_text(self.index)
   @help_window.set_text(text)
 end
end

#==============================================================================
# ■ Window_Help_RTAB
#==============================================================================

class Window_Help_RTAB < Window_Base
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 def initialize
   super(0, 416, 640, 64)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.pause = false
 end
 #--------------------------------------------------------------------------
 # ● テキスト設定
 #--------------------------------------------------------------------------
 def set_text(text, align = 1)    
   # テキストとアラインメントの少なくとも一方が前回と違っている場合
   if text != @text or align != @align
     # テキストを再描画
     self.contents.clear
     self.contents.font.color = normal_color
     width = self.width - 40
     # 改行の判定文字
     split = " "
     text1 = text.split(/#{split}/)[0].to_s
     text2 = text.split(/#{split}/)[1].to_s
     text3 = text.split(/#{split}/)[2].to_s
     text4 = text.split(/#{split}/)[3].to_s
     text5 = text.split(/#{split}/)[4].to_s
     self.contents.draw_text(4, 0, width, 32, text1, align)
     self.contents.draw_text(4, 32, width, 32, text2, align)
     self.contents.draw_text(4, 64, width, 32, text3, align)
     self.contents.draw_text(4, 96, width, 32, text4, align)
     self.contents.draw_text(4, 128, width, 32, text5, align)
     @text = text
     @align = align
   end
   self.visible = true
 end
end
#==============================================================================
# ■ Scene_Customize
#==============================================================================

class Scene_Customize  
 #--------------------------------------------------------------------------
 # ● メイン処理
 #--------------------------------------------------------------------------
 def main
   # スプライトセットを作成
   #@spriteset = Spriteset_Map.new
   # ウィンドウを作成    
   @help_window = Window_Help_RTAB.new      
   @main_window = Window_Customize.new
   @main_window.refresh
   @dummy_window = Window_Base.new(480,176,100,64)
   @dummy_window.visible = false
   @number_window = Window_InputNumber.new(3)
   @number_window.x = 480
   @number_window.y = 176
   @number_window.visible = false
   @number_window.active = false
   command = ["ウェイト", "セミアクティブ", "フルアクティブ"]
   camera_command = ["ON", "OFF"]
   @command_window = Window_Command2.new(160, command)
   @command_window.x = 480
   @command_window.y = 208
   @command_window.visible = false
   @command_window.active = false    
   @camera_window = Window_Command.new(120, camera_command)
   @camera_window.x = 480
   @camera_window.y = 240
   @camera_window.visible = false
   @camera_window.active = false
   # ヘルプウィンドウを関連付け
   @main_window.help_window = @help_window
   @command_window.help_window = @help_window
   # トランジション実行
   Graphics.transition
   # メインループ
   loop do
     # ゲーム画面を更新
     Graphics.update
     # 入力情報を更新
     Input.update
     # フレーム更新
     update
     # 画面が切り替わったらループを中断
     if $scene != self
       break
     end
   end
   # トランジション準備
   Graphics.freeze
   # スプライトセットを解放
   #@spriteset.dispose
   # ウィンドウを解放
   @help_window.dispose
   @main_window.dispose
   @number_window.dispose
   @dummy_window.dispose
   @command_window.dispose
   @camera_window.dispose
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新
 #--------------------------------------------------------------------------
 def update
   # ウィンドウを更新
   if @main_window.active
     @main_window.update
     update_main
     return
   end
   if @number_window.active
     @number_window.update
     update_number
     return
   end
   if @command_window.active
     @command_window.update
     update_command
     return
   end
   if @camera_window.active
     @camera_window.update
     update_camera
     return
   end
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新 (メインウィンドウがアクティブの場合)
 #--------------------------------------------------------------------------
 def update_main
   # B ボタンが押された場合
   if Input.trigger?(Input::B)
     # キャンセル SE を演奏
     $game_system.se_play($data_system.cancel_se)
     # メニュー画面に切り替え
     $scene = Scene_Menu.new(6)
     return
   end
   # C ボタンが押された場合
   if Input.trigger?(Input::C)
     # インデックスを取得
     @index = @main_window.index
     # 決定 SE を演奏
     $game_system.se_play($data_system.decision_se)
     case @index
     when 0
       @number_window.active = true
       @number_window.visible = true
       @dummy_window.visible = true
       @main_window.active = false
     when 1
       @command_window.active = true
       @command_window.visible = true
       @main_window.active = false
     when 2
       @camera_window.active = true
       @camera_window.visible = true
       @main_window.active = false  
     when 3
       @camera_window.active = true
       @camera_window.visible = true
       @main_window.active = false
     end
     return
   end
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新 (数値入力ウィンドウがアクティブの場合)
 #--------------------------------------------------------------------------
 def update_number
   # B ボタンが押された場合
   if Input.trigger?(Input::B)
     # キャンセル SE を演奏
     $game_system.se_play($data_system.cancel_se)
     @number_window.active = false
     @number_window.visible = false
     @dummy_window.visible = false
     @main_window.active = true
     return
   end
   # C ボタンが押された場合
   if Input.trigger?(Input::C)
     # 数値を取得して代入
     $game_system.battle_speed = @number_window.number
     $game_system.battle_speed = 1 if @number_window.number == 0
     # 決定 SE を演奏
     $game_system.se_play($data_system.decision_se)
     @number_window.active = false
     @number_window.visible = false
     @dummy_window.visible = false
     @main_window.active = true
     @main_window.refresh
     return
   end
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新 (コマンドウィンドウがアクティブの場合)
 #--------------------------------------------------------------------------
 def update_command
   # B ボタンが押された場合
   if Input.trigger?(Input::B)
     # キャンセル SE を演奏
     $game_system.se_play($data_system.cancel_se)
     @command_window.active = false
     @command_window.visible = false
     @main_window.active = true
     return
   end
   # C ボタンが押された場合
   if Input.trigger?(Input::C)
     # インデックスを取得して代入
     case @command_window.index
     when 0
       $game_system.battle_active = 1
     when 1
       $game_system.battle_active = 2
     when 2
       $game_system.battle_active = 3
     end      
     # 決定 SE を演奏
     $game_system.se_play($data_system.decision_se)
     @command_window.active = false
     @command_window.visible = false
     @main_window.active = true
     @main_window.refresh
     return
   end
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新 (カメラ切り替えウィンドウがアクティブの場合)
 #--------------------------------------------------------------------------
 def update_camera
   # B ボタンが押された場合
   if Input.trigger?(Input::B)
     # キャンセル SE を演奏
     $game_system.se_play($data_system.cancel_se)
     @camera_window.active = false
     @camera_window.visible = false
     @main_window.active = true
     return
   end
   # C ボタンが押された場合
   if Input.trigger?(Input::C)
     # インデックスを取得して代入
     case @camera_window.index
     when 0
       $game_system.battle_camera = true
     when 1
       $game_system.battle_camera = false
     end      
     # 決定 SE を演奏
     $game_system.se_play($data_system.decision_se)
     @camera_window.active = false
     @camera_window.visible = false
     @main_window.active = true
     @main_window.refresh
     return
   end
 end
end

#==============================================================================
# 以下、歯車の城・ショウ様製作のRTAB部分 ver 1.07 現在

#==============================================================================
# ■ Scene_Battle
#==============================================================================

class Scene_Battle  
 #--------------------------------------------------------------------------
 # ● ATB基礎セットアップ
 #--------------------------------------------------------------------------
 def atb_setup
   # ATB初期化
   # speed   : バトルスピード決定。値が小さいほど早い
   # @active : アクティブ度設定
   #           3 : 常にアクティブ状態
   #           2 : スキル・アイテム選択中のみアクティブゲージが止まる
   #           1 : 2の状態に加え、ターゲット選択時もウェイトが掛かる
   #           0 : 1の状態に加え、コマンド入力時にもウェイトが掛かる
   # @action : 他人が行動中に自分も行動を起こすことを許すか
   #           3 : 自分が行動不能でない限り限り許す
   #           2 : 自分がダメージを受けていない限り許す
   #           1 : 2の状態に加え、ターゲットが行動していない限り許す
   #           0 : 行動を許さない。順番に行動し終えるまで待つ
   # @anime_wait : trueにするとバトルアニメ・ダメージ表示中はウェイトが掛かる
   # @damage_wait : ダメージ表示待ち時間(単位はフレーム)
   # @enemy_speed : 敵の思考速度。1なら即時行動。
   #                1フレーム毎に、1/@enemy_speedの確率で行動を起こす
   # @force : 強制アクションでスキル使用時の強制具合
   #          2:スキルは全て詠唱せず、必ず即時実行
   #          1:単独スキルは詠唱し、連携スキルのみ即時実行
   #          0:全スキル詠唱を行うだけ
   # ($scene.force = x とすることにより、通常イベントのスクリプトから変更可能)
   # @drive : カメラ駆動ON/OFF。trueで駆動ON、falseで駆動OFF
   # @scroll_time : スクリーン移動に要する基本時間
   # @zoom_rate = [i, j] : エネミーのズーム率
   #                       i が画面最上部に配置した時の拡大率
   #                       j が画面最下部に配置した時の拡大率
   #                       1 倍としたいときも、1.0 と必ず小数で設定すること
   speed = $game_system.battle_speed
   @active = $game_system.battle_active
   @action = 2
   @anime_wait = true
   @damage_wait = 10
   @enemy_speed = 40
   @force = 2
   @drive = $game_system.battle_camera
   @scroll_time = 15
   @zoom_rate = [0.2, 1.0]
   @help_time = 40
   @escape == false
   @camera = nil
   @max = 0
   @turn_cnt = 0
   @help_wait = 0
   @action_battlers = []
   @synthe = []
   @spell_p = {}
   @spell_e = {}
   @command_a = false
   @command = []
   @after_wait = [40, 0]
   @party = false
   for battler in $game_party.actors + $game_troop.enemies
     spell_reset(battler)
     battler.at = battler.agi * rand(speed / 2)
     battler.damage_pop = {}
     battler.damage = {}
     battler.damage_sp = {}
     battler.critical = {}
     battler.recover_hp = {}
     battler.recover_sp = {}
     battler.state_p = {}
     battler.state_m = {}
     battler.animation = []
     if battler.is_a?(Game_Actor)
       @max += battler.agi
     end
   end
   @max *= speed
   @max /= $game_party.actors.size
   for battler in $game_party.actors + $game_troop.enemies
     battler.atp = 100 * battler.at / @max
   end
 end
end
[/spoiler]
+ En la animación de ataque, (Rojo: x, Verde:y, Azul :0, Fuerza:0) al insertar el flash se produce cada daño de la forma x/20 en el momento en que se produce el flash.
+ Además del daño propio de la habilidad (en cada flash), también hace un daño correspondiente al daño en la base de datos así: ID+y-100
+ Si atacar normal significa atacar con el arma en la base de datos: ID+y-100
Screen que puede aclarar todo esto un poco
+ Después del flash, si la selección del color y los cambios se producen sin efecto en la animación [(en caso de fallo)(lo que significa que tanto el flash como los tonos del enemigo sólo se producen al acertar)] se puede conectar el ataque con un reflejo.
+ ***Hay varias cosas que no quedan claras del todo, si las averiguais por completo, posteadlo. Por ejemplo, lo último no termina de quedar claro...***

Compatibilidad:
Parece que en caso de utilizar un script de 2 espadas es necesario cambiar este script. También, si se usa otro llamado 'Skill Medium' es necesario cambiarlo. Y por último, si se usan los 2 a la vez es otro distinto. (Lo que nos da 4 scripts para lo mismo, pero que funcionan según los demás que tengas agregados)
Intentaré traer esos scripts con su explicación. Si los posteo, pondré también el cambio necesario en este script.

Crédito:
Script creado por: Cogwheel Edited by Fegarur
0

Share this post


Link to post
Share on other sites
Una sola palabra: COÑO!!!
Es escatamente lo que estaba buscando!!
COÑO GRACIAS FEGARUR!!!

ahh...ahh...ya recobre aire...

Ok, muy, pero muy bueno ....gracias nuevamente!
Salu3
0

Share this post


Link to post
Share on other sites
impresionado.gif Vale, veo que es de tu agrado. xD.png
Si al usarlo ves que alguna información que puse es incorrecta o tienes algo que añadir no te preocupes por postearlo. icon13.gif
0

Share this post


Link to post
Share on other sites
puedes abreviar el como usarlo?
0

Share this post


Link to post
Share on other sites
Básicamente sería copiar los 2 scripts, el primero debajo del segundo (el de la sección Script debajo del de Instrucciones) y después por cada flash que pongas en la animación de la habilidad hará daño.
0

Share this post


Link to post
Share on other sites
Mierda, yo tengo uno por trickster que son 7 scripts. xD.png Jajaja, a lo mejor lo cambie por este. icon13.gif
0

Share this post


Link to post
Share on other sites
No vendría mal que postearas el de trickster para dar opción a elegir. icon13.gif
0

Share this post


Link to post
Share on other sites
Pue tuve dos problemas con esto.. uno que no supe como hace que funcionara y el otro es que yo uso un Side Battle, animado, y con ese escript me salen toda la planilla de los blattlers y no namas la respectiva pose, no se podria poner una demo?



PD Que dark dragon ponge el script que el usa! chance y ese me funciona mejor jejeje. Edited by Midi_Master
0

Share this post


Link to post
Share on other sites
Ya avisé que traduje del japonés, y no lo entendí todo. xD.png
Supuestamente, en cada flash va ya el ataque... demo... lo intentaré, si lo consigo mañana está aquí. icon13.gif
0

Share this post


Link to post
Share on other sites
tratare de entenderle yo de todas formas, aun asi espero ver el demo pronto antes de que me salgan canas verdes y envejesca por el estres...
0

Share this post


Link to post
Share on other sites
Bueno, a ver si puedo postear el de trickster porque no yo lo entiendo. Yo solo copie y pegue las animaciones que vinieron por defecto con el script. xD.png
0

Share this post


Link to post
Share on other sites
O.O!!!!!!, valla, yo tambien he estado buscando eso!!!!!!, que felicidad llorar.gif , ojala este pronto el demo icon13.gif

Saludos laugh.gif
0

Share this post


Link to post
Share on other sites
cuando lo pongo me sale esto user posted image

y una cosa, con el ffvii limit script, cuando se llena la barra me da un error del window command si te lo puedes mirar? me da un error de can not convert nil into string

PD: ya he resuelto lo del menu

PD2: tambien me sale cuando estan los dos puestos Edited by Sampi
0

Share this post


Link to post
Share on other sites
No se compatibilizar los scripts porque no termino de entenderlos... y porque me parece que la versión que tengo del script de límite la tengo mal copiada...
El error que te da se debe a que no pusiste el 2º script, que detallo en las instrucciones. Además, el RTAB (que así se llama ese script) debe estar ENCIMA del script de ataque múltiple.
El problema que me está dando está en
QUOTE
'height'=
que parece no definido. Voy a mirarlo...
0

Share this post


Link to post
Share on other sites
a mi me funciono bien con el sistema de RTAB y CBS que tenia, menos el primer escript que pusiste, ese hacia que saliera toda la planilla del peleador en vez de solo lafase de pelea o asi.... y el demo?
0

Share this post


Link to post
Share on other sites
Ahí está el problema, que parece que sólo funciona con algunos CBS, y ni siquiera con la batalla por defecto. xD.png
Me da error cuando intento el demo... exactamente el que puse en el anterior post. Llegué a solucionar ese y me dio otro...
0

Share this post


Link to post
Share on other sites
jajajajaja, total que puras calamidades, y tanto que queria un script asi pero ni de pedo voy a cambiar el sistema de batalla que uso por ese script dry.gif namas por eso quisiera estudiar programación!
0

Share this post


Link to post
Share on other sites
Si solucionas eso es más probable que te funcione:
QUOTE
if @battler.is_a?(Game_Enemy)
      @battler.height = @height

El problema es que 'height' (el que acompaña a battler) no parece estar definido... y da error para Game_Enemy.
0

Share this post


Link to post
Share on other sites
ok ta mu bien todo esto pero 2 cosas, he encontrado el mismo script pero hecho con 5 distintos y va con todos los cbs (al menos se supone) y la otra, lo del window command tiene arreglo??

Edit: Hay alguna demo???? Edited by Sampi
0

Share this post


Link to post
Share on other sites
Hmmm... a mí el script de Multi-Attacks System por trickster me va con el CBS de MakirouAru. A ver so lo posteo un día de estos. icon13.gif
0

Share this post


Link to post
Share on other sites
Que chulo este script, lo llebo buscando desde hace mucho.

Voy a intentar traducirlo, no se ni cuanto voy a tardar, ni si lo voy a conseguir, pero ya llebo un buen trozo, mirare de traducir los dos.
0

Share this post


Link to post
Share on other sites
este script es compatible con el cbs mathura 2.0?
x cierto lo e probado y me funciona y solot engo k decirte una cosa
Alabado sea dios(osea tu xD)
salu2
0

Share this post


Link to post
Share on other sites
¿Entonces por qué de una vez pruebas si es compatible con dicho CBS? No se que le cuesta a la gente probarlo ellos mismos para ver si no hay errores de compatibilidad...
0

Share this post


Link to post
Share on other sites
QUOTE(xXDarkDragonXx @ Oct 15 2007, 11:43 AM)
¿Entonces por qué de una vez pruebas si es compatible con dicho CBS? No se que le cuesta a la gente probarlo ellos mismos para ver si no hay errores de compatibilidad...
[right][snapback]49829[/snapback][/right]

yo lo probaria,no me cuesta ningun trabajo,tienes razon,perosi me cuesta trabajo,kuando nunca e usado el cbs,y tendria k hacer todos los graficos,si ferarur tmb tuviese k hacer los graficos,no me inportaria probarlo yo y molestarme yo.
salu2
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0