Announcement

Collapse
No announcement yet.

water help!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    water help!

    Nevermind that last part. Now I can't figure out the water on the Port City (exterior). Please help!
    Last edited by Terry16389; 07-13-2006, 12:52 PM.

    #2
    Re: water help!

    You mean the Water Autotile? Well it seems like the Water for Port Town is not transparent and fills a full 32x32 tile. In that case you should use it on Layer 1 so that you can use Layers 2 and 3 for boats and other stuff on the water. The downside of the original Port Town tileset is that you can't see the walls or other objects laying under the water because the water is not transparent.

    However, a cool way to add water depth to Port Town is to export the water autotile into a PNG file and create a transparent copy of it that you import back in RPGM XP. The Port Town original water autotile is called 032-T_Ocean01. The alpha value you set to your image depends if you wanna see more or less the objects under the water. You can also darken the water image to make objects look deeper and darker. Once your transparent water autotile is completed, import it in RPGM XP and set it in the Port Town tileset. To place transparent water, you will use Layer 2 instead of Layer 1. So objects and walls under the water will be on Layer 1 and object over the water will be on Layer 3.

    Here's a comparison of the original Port Town with one I modified with a simple half-transparent copy of the autotile 032-T_Ocean01:






    If you want my transparent water autotile, I can send it to you.
    Last edited by ValhallaRPG; 07-14-2006, 04:20 PM.

    Comment


      #3
      Re: water help!

      i know this thread is so long ago but can u put you'r transparent water tile here i'd realy appreciate it tnx in advance

      Comment


        #4
        Re: water help!

        Here you go:



        This is a copy of the autotile Ocean in PRGXP, with 1/2 alpha. It's the 1st time I upload a PNG type on Phopo Bucket but I don't think it altered the file.

        Enjoy

        Comment


          #5
          Re: water help!

          tnx alot now im just looking for an atb ^_^ that would go with ccoa's CBS v3.02 Turn-based xD some of them works with it but... when i stars it it doesnt show the fight or escape option i dont know how to script T_T

          #==============================================================================
          # ■ New_Battle
          #------------------------------------------------------------------------------
          # Compiled By : Maki
          #==============================================================================
          # Original Scripts By : Fukuyama, and 桜雅 在土
          #==============================================================================
          # ▼▲▼ XRXS_BP 3. 勝利時HP回復 ver.1.01 ▼▲▼
          # by fukuyama, 桜雅 在土

          # Battle_End_Recovery
          #
          # 戦東繧フ回復処理モジュール
          #
          # Request: stay
          # Script: fukuyama
          # Test: ノコノ子
          #
          # URL: http://www4.big.or.jp/~fukuyama/rgss...d_Recovery.txt
          #

          module Battle_End_Recovery

          module Scene_Battle_Module

          # 回復率変数のID
          @@recovery_rate_variable_id = nil

          # 回復率の取得
          def battle_end_recovery_rate
          if @@recovery_rate_variable_id.nil?
          @@recovery_rate_variable_id =
          $data_system.variables.index '戦東繧フ回復率'
          if @@recovery_rate_variable_id.nil?
          @@recovery_rate_variable_id = false
          end
          end
          return 0 unless @@recovery_rate_variable_id
          return $game_variables[@@recovery_rate_variable_id]
          end

          # 戦東繧フ回復処理
          def battle_end_recovery

          # 回復率
          recovery_rate = battle_end_recovery_rate

          # 回復率変数が0以外かつアクターが髄している場合、戦東繧フ回復処理を行う
          if recovery_rate != 0 and not actor.dead?

          # パーティのアクター毎にループ
          $game_party.actors.each do |actor|

          # 回復量計算
          recovery_hp = (actor.maxhp / 100.0 * recovery_rate).truncate
          recovery_sp = (actor.maxsp / 100.0 * recovery_rate).truncate

          # 実際に回復
          actor.hp += recovery_hp
          actor.sp += recovery_sp

          # アニメーション設定
          actor.damage = - recovery_hp
          actor.damage_pop = true

          end

          # ステータスウィンドウを更新
          @status_window.refresh

          end
          end

          end # module Scene_Battle_Module
          end # module Battle_End_Recovery

          #------------------------------
          # 戦塔Vーンの再定義
          #------------------------------
          class Scene_Battle

          # Scene_Battle用モジュールをインクルード
          include Battle_End_Recovery::Scene_Battle_Module

          # 元のフェーズ5開始に別名をつける
          alias battle_end_recovery_original_start_phase5 start_phase5

          # フェーズ5開始を再定義
          def start_phase5

          # 戦東繧フ回復処理を呼び出u
          battle_end_recovery

          # 元のフェーズ5開始を呼び出u
          battle_end_recovery_original_start_phase5

          end
          end

          # Battle_End_Recovery
          # ▼▲▼ XRXS_BP10. LEVEL UP!ウィンドウ ▼▲▼
          # by 桜雅 在土

          $data_system_level_up_se = "" # レベルアップSE。""で無し。
          $data_system_level_up_me = "Audio/ME/007-Fanfare01" # レベルアップME

          #==============================================================================
          # ■ Window_LevelUpWindow
          #------------------------------------------------------------------------------
          #  バトル終了時、レベルアップした場合にステータスを表示uるウィンドウでu。
          #==============================================================================
          class Window_LevelUpWindow < Window_Base
          #--------------------------------------------------------------------------
          # ● オブジェクト初期化
          #--------------------------------------------------------------------------
          def initialize(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
          super(0, 128, 160, 192)
          self.contents = Bitmap.new(width - 32, height - 32)
          self.visible = false
          refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
          end
          #--------------------------------------------------------------------------
          # ● リフレッシュ
          #--------------------------------------------------------------------------
          def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
          self.contents.clear
          self.contents.font.color = system_color
          self.contents.font.name = "Arial"
          self.contents.font.size = 14
          self.contents.draw_text( 0, 0, 160, 24, "LEVEL UP!!")
          self.contents.font.size = 18
          self.contents.draw_text( 0, 28, 160, 24, $data_system.words.hp)
          self.contents.draw_text( 0, 50, 160, 24, $data_system.words.sp)
          self.contents.font.size = 14
          self.contents.draw_text( 0, 72, 80, 24, $data_system.words.str)
          self.contents.draw_text( 0, 94, 80, 24, $data_system.words.dex)
          self.contents.draw_text( 0, 116, 80, 24, $data_system.words.agi)
          self.contents.draw_text( 0, 138, 80, 24, $data_system.words.int)
          self.contents.draw_text(92, 0, 128, 24, "→")
          self.contents.draw_text(76, 28, 128, 24, "=")
          self.contents.draw_text(76, 50, 128, 24, "=")
          self.contents.draw_text(76, 72, 128, 24, "=")
          self.contents.draw_text(76, 94, 128, 24, "=")
          self.contents.draw_text(76, 116, 128, 24, "=")
          self.contents.draw_text(76, 138, 128, 24, "=")
          self.contents.font.color = normal_color
          self.contents.draw_text( 0, 0, 88, 24, last_lv.to_s, 2)
          self.contents.draw_text( 0, 28, 72, 24, "+" + up_hp.to_s, 2)
          self.contents.draw_text( 0, 50, 72, 24, "+" + up_sp.to_s, 2)
          self.contents.draw_text( 0, 72, 72, 24, "+" + up_str.to_s, 2)
          self.contents.draw_text( 0, 94, 72, 24, "+" + up_dex.to_s, 2)
          self.contents.draw_text( 0, 116, 72, 24, "+" + up_agi.to_s, 2)
          self.contents.draw_text( 0, 138, 72, 24, "+" + up_int.to_s, 2)
          self.contents.font.size = 20
          self.contents.draw_text( 0, 0, 128, 24, actor.level.to_s, 2)
          self.contents.draw_text( 0, 26, 128, 24, actor.maxhp.to_s, 2)
          self.contents.draw_text( 0, 48, 128, 24, actor.maxsp.to_s, 2)
          self.contents.draw_text( 0, 70, 128, 24, actor.str.to_s, 2)
          self.contents.draw_text( 0, 92, 128, 24, actor.dex.to_s, 2)
          self.contents.draw_text( 0, 114, 128, 24, actor.agi.to_s, 2)
          self.contents.draw_text( 0, 136, 128, 24, actor.int.to_s, 2)
          end
          end
          #==============================================================================
          # ■ Window_BattleStatus
          #==============================================================================
          class Window_BattleStatus < Window_Base
          #--------------------------------------------------------------------------
          # ● 追加・公開インスタンス変数
          #--------------------------------------------------------------------------
          attr_accessor :level_up_flags # LEVEL UP!表示
          end
          #==============================================================================
          # ■ Game_Battler
          #==============================================================================
          class Game_Battler
          #--------------------------------------------------------------------------
          # ● 追加・公開インスタンス変数
          #--------------------------------------------------------------------------
          attr_accessor :exp_gain_ban # EXP取得一時禁止
          #--------------------------------------------------------------------------
          # ● オブジェクト初期化
          #--------------------------------------------------------------------------
          alias xrxs_bp10_initialize initialize
          def initialize
          @exp_gain_ban = false
          xrxs_bp10_initialize
          end
          #--------------------------------------------------------------------------
          # ● ステート [EXP を獲得できない] 判定
          #--------------------------------------------------------------------------
          alias xrxs_bp10_cant_get_exp? cant_get_exp?
          def cant_get_exp?
          if @exp_gain_ban == true
          return true
          else
          return xrxs_bp10_cant_get_exp?
          end
          end
          end
          #==============================================================================
          # ■ Scene_Battle
          #==============================================================================
          class Scene_Battle
          #--------------------------------------------------------------------------
          # ● アフターバトルフェーズ開始
          #--------------------------------------------------------------------------
          alias xrxs_bp10_start_phase5 start_phase5
          def start_phase5
          # EXP 獲得禁止
          for i in 0...$game_party.actors.size
          $game_party.actors[i].exp_gain_ban = true
          end
          xrxs_bp10_start_phase5
          # EXP 獲得禁止の解除
          for i in 0...$game_party.actors.size
          $game_party.actors[i].exp_gain_ban = false
          end
          # EXPを初期化
          @exp_gained = 0
          for enemy in $game_troop.enemies
          # 獲得 EXPを追加 # エネミーが隠れ状態でない場合
          @exp_gained += enemy.exp if not enemy.hidden
          end
          # 設定
          @phase5_step = 0
          @exp_gain_actor = -1
          # リザルトウィンドウを表示
          @result_window.y -= 64
          @result_window.visible = true
          # レベルアップ判定へ
          phase5_next_levelup
          end
          #--------------------------------------------------------------------------
          # ● フレーム更新 (アフターバトルフェーズ)
          #--------------------------------------------------------------------------
          alias xrxs_bp10_update_phase5 update_phase5
          def update_phase5
          case @phase5_step
          when 1
          update_phase5_step1
          else
          xrxs_bp10_update_phase5
          # レベルアップしている場合は*制バトル終了
          battle_end(0) if @levelup_window != nil and @phase5_wait_count <= 0
          end
          end
          #--------------------------------------------------------------------------
          # ● フレーム更新 (アフターバトルフェーズ 1 : レベルアップ)
          #--------------------------------------------------------------------------
          def update_phase5_step1
          # C ボタンが押された場合
          if Input.trigger?(Input::C)
          # ウィンドウを閉bト次のアクターへ
          @levelup_window.visible = false if @levelup_window != nil
          @status_window.level_up_flags[@exp_gain_actor] = false
          phase5_next_levelup
          end
          end
          #--------------------------------------------------------------------------
          # ● 次のアクターのレベルアップ表示へ
          #--------------------------------------------------------------------------
          def phase5_next_levelup
          begin
          # 次のアクターへ
          @exp_gain_actor += 1
          # 最後のアクターの場合
          if @exp_gain_actor >= $game_party.actors.size
          # アフターバトルフェーズ開始
          @phase5_step = 0
          return
          end
          actor = $game_party.actors[@exp_gain_actor]
          if actor.cant_get_exp? == false
          # 現在の能力値を保持
          last_level = actor.level
          last_maxhp = actor.maxhp
          last_maxsp = actor.maxsp
          last_str = actor.str
          last_dex = actor.dex
          last_agi = actor.agi
          last_int = actor.int
          # 経験値取得の決定的瞬間(謎
          actor.exp += @exp_gained
          # 判定
          if actor.level > last_level
          # レベルアップした場合
          @status_window.level_up(@exp_gain_actor)
          if $data_system_level_up_se != ""
          Audio.se_stop
          Audio.se_play($data_system_level_up_se)
          end
          if $data_system_level_up_me != ""
          Audio.me_stop
          Audio.me_play($data_system_level_up_me)
          end
          @levelup_window = Window_LevelUpWindow.new(actor, last_level,
          actor.maxhp - last_maxhp, actor.maxsp - last_maxsp, actor.str - last_str,
          actor.dex - last_dex, actor.agi - last_agi, actor.int - last_int)
          @levelup_window.x = 160 * @exp_gain_actor
          @levelup_window.visible = true
          @phase5_wait_count = 40
          @phase5_step = 1
          # ステータスウィンドウをリフレッシュ
          @status_window.refresh
          return
          end
          end
          end until false
          end
          end
          # ▼▲▼ XRXS_17. スリップダメージ防御/効果量詳細化 ver.1.51 ▼▲▼
          # by 桜雅 在土, fukuyama

          #==============================================================================
          # ■ Game_Battler
          #==============================================================================
          class Game_Battler
          #--------------------------------------------------------------------------
          # ● スリップダメージの効果適用
          #--------------------------------------------------------------------------
          alias xrxs_bp7_slip_damage_effect slip_damage_effect
          def slip_damage_effect
          # 数値の初期化
          slip_damage_percent = 0
          slip_damage_plus = 0
          # 現在付加されているステートの中からスリップダメージ有りのモノを探u
          for i in @states
          if $data_states[i].slip_damage
          # そのステートが持っているスリップダメージの
          # LvプラスステートまたはLvマイナスステートを判定。
          for j in $data_states[i].plus_state_set
          if $data_states[j] != nil
          if $data_states[j].name =~ /^スリップ([0-9]+)(%|%)/
          slip_damage_percent += $1.to_i
          elsif $data_states[j].name =~ /^スリップ([0-9]+)$/
          slip_damage_plus += $1.to_i
          end
          end
          end
          for j in $data_states[i].minus_state_set
          if $data_states[j] != nil
          if $data_states[j].name =~ /^スリップ([0-9]+)(%|%)/
          slip_damage_percent -= $1.to_i
          elsif $data_states[j].name =~ /^スリップ([0-9]+)$/
          slip_damage_plus -= $1.to_i
          end
          end
          end
          end
          end
          if slip_damage_percent == 0 and slip_damage_plus == 0
          xrxs_bp7_slip_damage_effect
          else
          # 防具がスリップ防御が る場合を判定
          for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
          armor = $data_armors[i]
          next if armor == nil
          for j in armor.guard_state_set
          if $data_states[j] != nil
          if $data_states[j].name =~ /^スリップ([0-9]+)(%|%)/
          if slip_damage_percent > 0
          slip_damage_percent = [slip_damage_percent - $1.to_i, 0].max
          end
          end
          if $data_states[j].name =~ /^スリップ([0-9]+)$/
          if slip_damage_percent > 0
          slip_damage_plus = [slip_damage_plus - $1.to_i, 0].max
          end
          end
          end
          end
          end
          # ダメージを設定
          self.damage = self.maxhp * slip_damage_percent / 100 + slip_damage_plus
          # 分散
          if self.damage.abs > 0
          amp = [self.damage.abs * 15 / 100, 1].max
          self.damage += rand(amp+1) + rand(amp+1) - amp
          end
          # HP からダメージを減算
          self.hp -= self.damage
          # メソッド終了
          return true
          end
          end
          end
          # ▼▲▼ XRXS_BP 1. CP制導入 ver.15 ▼▲▼
          # by 桜雅 在土, 和希, Jack-R

          #==============================================================================
          # ■ Scene_Battle_CP
          #==============================================================================
          class Scene_Battle_CP
          #--------------------------------------------------------------------------
          # ● 公開インスタンス変数
          #--------------------------------------------------------------------------
          attr_accessor :stop # CP加算ストップ
          #----------------------------------------------------------------------------
          # ● オブジェクトの初期化
          #----------------------------------------------------------------------------
          def initialize
          @battlers = []
          @cancel = false
          @agi_total = 0
          # 配列 @count_battlers を初期化
          @count_battlers = []
          # エネミーを配列 @count_battlers に追加
          for enemy in $game_troop.enemies
          @count_battlers.push(enemy)
          end
          # アクターを配列 @count_battlers に追加
          for actor in $game_party.actors
          @count_battlers.push(actor)
          end
          for battler in @count_battlers
          @agi_total += battler.agi
          end
          for battler in @count_battlers
          battler.cp = [[65535 * (rand(15) + 85) / 100 * battler.agi / @agi_total * 4, 0].max, 65535].min
          end
          end
          #----------------------------------------------------------------------------
          # ● CPカウントの開始
          #----------------------------------------------------------------------------
          def start
          if @cp_thread != nil then
          return
          end
          @cancel = false
          @stop = false
          # ここからスレッド
          @cp_thread = Thread.new do
          while @cancel != true
          if @stop != true
          self.update # 更新
          sleep(0.05)
          end
          end
          end
          # ここまでスレッド
          end
          #----------------------------------------------------------------------------
          # ● CPカウントアップ
          #----------------------------------------------------------------------------
          def update
          if @count_battlers != nil then
          for battler in @count_battlers
          # 行動出来なければ無視
          if battler.dead? == true #or battler.movable? == false then
          battler.cp = 0
          next
          end
          # ここの 1.3を変えることで↓スピードを変更可能。ただし署箔_は使用uること。
          battler.cp = [[battler.cp + 1.3 * 4096 * battler.agi / @agi_total, 0].max, 65535].min
          end
          end
          end
          #----------------------------------------------------------------------------
          # ● CPカウントの開始
          #----------------------------------------------------------------------------
          def stop
          @cancel = true
          if @cp_thread != nil then
          @cp_thread.join
          @cp_thread = nil
          end
          end
          end
          #==============================================================================
          # ■ Game_Battler
          #==============================================================================
          class Game_Battler
          attr_accessor w_guarding # 現在防御中フラグ
          attr_accessor :cp # 現在CP
          attr_accessor :slip_state_update_ban # スリップ・ステート自動処理の禁止
          #--------------------------------------------------------------------------
          # ● コマンド入力可能判定
          #--------------------------------------------------------------------------
          def inputable?
          return (not @hidden and restriction <= 1 and @cp >=65535)
          end
          #--------------------------------------------------------------------------
          # ● ステート [スリップダメージ] 判定
          #--------------------------------------------------------------------------
          alias xrxs_bp1_slip_damage? slip_damage?
          def slip_damage?
          return false if @slip_state_update_ban
          return xrxs_bp1_slip_damage?
          end
          #--------------------------------------------------------------------------
          # ● ステート自然解除 (ターンごとに呼び出し)
          #--------------------------------------------------------------------------
          alias xrxs_bp1_remove_states_auto remove_states_auto
          def remove_states_auto
          return if @slip_state_update_ban
          xrxs_bp1_remove_states_auto
          end
          end
          #==============================================================================
          # ■ Game_Actor
          #==============================================================================
          class Game_Actor < Game_Battler
          #--------------------------------------------------------------------------
          # ● セットアップ
          #--------------------------------------------------------------------------
          alias xrxs_bp1_setup setup
          def setup(actor_id)
          xrxs_bp1_setup(actor_id)
          @hate = 100 # init-value is 100
          @cp = 0
          @now_guarding = false
          @slip_state_update_ban = false
          end
          end
          #==============================================================================
          # ■ Game_Enemy
          #==============================================================================
          class Game_Enemy < Game_Battler
          #--------------------------------------------------------------------------
          # ● オブジェクト初期化
          #--------------------------------------------------------------------------
          alias xrxs_bp1_initialize initialize
          def initialize(troop_id, member_index)
          xrxs_bp1_initialize(troop_id, member_index)
          @hate = 100 # init-value is 100
          @cp = 0
          @now_guarding = false
          @slip_state_update_ban = false
          end
          end
          #==============================================================================
          # ■ Window_BattleStatus
          #==============================================================================
          class Window_BattleStatus < Window_Base
          #--------------------------------------------------------------------------
          # ● 公開インスタンス変数
          #--------------------------------------------------------------------------
          attr_accessor :update_cp_only # CPメーターのみの更新
          #--------------------------------------------------------------------------
          # ● オブジェクト初期化
          #--------------------------------------------------------------------------
          alias xrxs_bp1_initialize initialize
          def initialize
          @update_cp_only = false
          xrxs_bp1_initialize
          end
          #--------------------------------------------------------------------------
          # ● リフレッシュ
          #--------------------------------------------------------------------------
          alias xrxs_bp1_refresh refresh
          def refresh
          if @update_cp_only == false
          xrxs_bp1_refresh
          end
          for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          actor_x = i * 160 + 4
          draw_actor_cp_meter(actor, actor_x, 96, 120, 0)
          end
          end
          #--------------------------------------------------------------------------
          # ● CPメーター の描画
          #--------------------------------------------------------------------------
          def draw_actor_cp_meter(actor, x, y, width = 156, type = 0)
          self.contents.font.color = system_color
          self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 255))
          if actor.cp == nil
          actor.cp = 0
          end
          w = width * [actor.cp,65535].min / 65535
          self.contents.fill_rect(x, y+28, w,1, Color.new(255, 255, 128, 255))
          self.contents.fill_rect(x, y+29, w,1, Color.new(255, 255, 0, 255))
          self.contents.fill_rect(x, y+30, w,1, Color.new(192, 192, 0, 255))
          self.contents.fill_rect(x, y+31, w,1, Color.new(128, 128, 0, 255))
          end
          end
          #==============================================================================
          # ■ Scene_Battle
          #==============================================================================
          class Scene_Battle
          # ここに効果音を設定uると、アクターコマンドがポップしたときに効果音を再
          $data_system_command_up_se = ""
          #--------------------------------------------------------------------------
          # ● バトル終了
          # result : 結果 (0:勝利 1:敗北 2:逃走)
          #--------------------------------------------------------------------------
          alias xrxs_bp1_battle_end battle_end
          def battle_end(result)
          # CPカウント停止
          @cp_thread.stop
          xrxs_bp1_battle_end(result)
          end
          #--------------------------------------------------------------------------
          # ● プレバトルフェーズ開始
          #--------------------------------------------------------------------------
          alias xrxs_bp1_start_phase1 start_phase1
          def start_phase1
          @agi_total = 0
          @cp_thread = Scene_Battle_CP.new
          # アクターコマンドウィンドウを再作
          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, "Run"])
          @actor_command_window.y = 128
          @actor_command_window.back_opacity = 160
          @actor_command_window.active = false
          @actor_command_window.visible = false
          @actor_command_window.draw_item(4, $game_temp.battle_can_escape ? @actor_command_window.normal_color : @actor_command_window.disabled_color)
          xrxs_bp1_start_phase1
          end
          #--------------------------------------------------------------------------
          # ● パーティコマンドフェーズ開始
          #--------------------------------------------------------------------------
          alias xrxs_bp1_start_phase2 start_phase2
          def start_phase2
          xrxs_bp1_start_phase2
          @party_command_window.active = false
          @party_command_window.visible = false
          # 次へ
          start_phase3
          end
          #--------------------------------------------------------------------------
          # ● フレーム更新 (パーティコマンドフェーズ)
          #--------------------------------------------------------------------------
          alias xrxs_bp1_update_phase2 update_phase2
          def update_phase2
          # C ボタンが押された場合
          if Input.trigger?(Input::C)
          # パーティコマンドウィンドウのカーソル位置で分岐
          case @party_command_window.index
          when 0 # 戦う
          # 決定 SE を演奏
          $game_system.se_play($data_system.decision_se)
          @cp_thread.start
          # アクターコマンドフェーズ開始
          start_phase3
          end
          return
          end
          xrxs_bp1_update_phase2
          end
          #--------------------------------------------------------------------------
          # ● 次のアクターのコマンド入力へ
          #--------------------------------------------------------------------------
          def phase3_next_actor
          # ループ
          begin
          # アクターの明滅エフェクト OFF
          if @active_battler != nil
          @active_battler.blink = false
          end
          # 最後のアクターの場合
          if @actor_index == $game_party.actors.size-1
          # メインフェーズ開始
          @cp_thread.start
          start_phase4
          return
          end
          # アクターのインデックスを進める
          @actor_index += 1
          @active_battler = $game_party.actors[@actor_index]
          @active_battler.blink = true
          if @active_battler.inputable? == false
          @active_battler.current_action.kind = -1
          end
          # アクターがコマンド入力を受け付けない状態ならもう一度
          end until @active_battler.inputable?
          @cp_thread.stop
          # アクターコマンドウィンドウをセットアップ
          @active_battler.now_guarding = false
          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_phase3
          return
          end
          # アクターのインデックスを戻u
          @actor_index -= 1
          @active_battler = $game_party.actors[@actor_index]
          @active_battler.blink = true
          # アクターがコマンド入力を受け付けない状態ならもう一度
          end until @active_battler.inputable?
          @cp_thread.stop
          # アクターコマンドウィンドウをセットアップ
          @active_battler.now_guarding = false
          phase3_setup_command_window
          end
          #--------------------------------------------------------------------------
          # ● アクターコマンドウィンドウのセットアップ
          #--------------------------------------------------------------------------
          alias xrxs_bp1_phase3_setup_command_window phase3_setup_command_window
          def phase3_setup_command_window
          # 効果音の再
          Audio.se_play($data_system_command_up_se) if $data_system_command_up_se != ""
          # 戻u
          xrxs_bp1_phase3_setup_command_window
          end
          #--------------------------------------------------------------------------
          # ● フレーム更新 (アクターコマンドフェーズ : 基本コマンド)
          #--------------------------------------------------------------------------
          alias xrxs_bsp1_update_phase3_basic_command update_phase3_basic_command
          def update_phase3_basic_command
          # C ボタンが押された場合
          if Input.trigger?(Input::C)
          # アクターコマンドウィンドウのカーソル位置で分岐
          case @actor_command_window.index
          when 4 # 逃げる
          if $game_temp.battle_can_escape
          # 決定 SE を演奏
          $game_system.se_play($data_system.decision_se)
          # アクションを設定
          @active_battler.current_action.kind = 0
          @active_battler.current_action.basic = 4
          # 次のアクターのコマンド入力へ
          phase3_next_actor
          else
          # ブザー SE を演奏
          $game_system.se_play($data_system.buzzer_se)
          end
          return
          end
          end
          xrxs_bsp1_update_phase3_basic_command
          end
          #--------------------------------------------------------------------------
          # ● メインフェーズ開始
          #--------------------------------------------------------------------------
          alias xrxs_bp1_start_phase4 start_phase4
          def start_phase4
          xrxs_bp1_start_phase4
          # エネミーアクション作
          for enemy in $game_troop.enemies
          if enemy.cp < 65535
          enemy.current_action.clear
          enemy.current_action.kind = -1 # ターン飛ばし。
          next
          end
          enemy.make_action
          end
          # 行動順序作
          make_action_orders
          end
          #--------------------------------------------------------------------------
          # ● フレーム更新 (メインフェーズ ステップ 1 : アクション準備)
          #--------------------------------------------------------------------------
          alias xrxs_bp1_update_phase4_step1 update_phase4_step1
          def update_phase4_step1
          # 初期化
          @phase4_act_continuation = 0
          # 勝敗判定
          if judge
          @cp_thread.stop
          # 勝利または敗北の場合 : メソッド終了
          return
          end
          # 未行動バトラー配列の先頭から取得
          @active_battler = @action_battlers[0]
          # ステータス更新をCPだけに限定。
          @status_window.update_cp_only = true
          # ステート更新を禁止。
          @active_battler.slip_state_update_ban = true if @active_battler != nil
          # 戻u
          xrxs_bp1_update_phase4_step1
          # 禁止を解除
          @status_window.update_cp_only = false
          @active_battler.slip_state_update_ban = false if @active_battler != nil
          end
          #--------------------------------------------------------------------------
          # ● フレーム更新 (メインフェーズ ステップ 2 : アクション開始)
          #--------------------------------------------------------------------------
          alias xrxs_bp1_update_phase4_step2 update_phase4_step2
          def update_phase4_step2
          # *制アクションでなければ
          unless @active_battler.current_action.forcing
          # CPが足りていない場合
          if @phase4_act_continuation == 0 and @active_battler.cp < 65535
          @phase4_step = 6
          return
          end
          # 制約が [敵を通常攻撃uる] か [味方を通常攻撃uる] の場合
          if @active_battler.restriction == 2 or @active_battler.restriction == 3
          # アクションに攻撃を設定
          @active_battler.current_action.kind = 0
          @active_battler.current_action.basic = 0
          end
          # 制約が [行動できない] の場合
          if @active_battler.restriction == 4
          # アクション*制対象のバトラーをクリア
          $game_temp.forcing_battler = nil
          if @phase4_act_continuation == 0 and @active_battler.cp >= 65535
          # ステート自然解除
          @active_battler.remove_states_auto
          # CP消費
          @active_battler.cp = [(@active_battler.cp - 65535),0].max
          # ステータスウィンドウをリフレッシュ
          @status_window.refresh
          end
          # ステップ 1 に移行
          @phase4_step = 1
          return
          end
          end
          # アクションの種別で分岐
          case @active_battler.current_action.kind
          when 0
          # 攻撃・防御・逃げる・何もしない時の共通消費CP
          @active_battler.cp -= 0 if @phase4_act_continuation == 0
          when 1
          # スキル使用時の消費CP
          @active_battler.cp -= 65535 if @phase4_act_continuation == 0
          when 2
          # アイテム使用時の消費CP
          @active_battler.cp -= 65535 if @phase4_act_continuation == 0
          when -1
          # CPが*まっていない
          @phase4_step = 6
          return
          end
          # CP加算を一時停止uる
          @cp_thread.stop = true
          # ステート自然解除
          @active_battler.remove_states_auto
          xrxs_bp1_update_phase4_step2
          end
          #--------------------------------------------------------------------------
          # ● 基本アクション 結果作
          #--------------------------------------------------------------------------
          alias xrxs_bp1_make_basic_action_result make_basic_action_result
          def make_basic_action_result
          # 攻撃の場合
          if @active_battler.current_action.basic == 0 and @phase4_act_continuation == 0
          @active_battler.cp -= 65535 # 攻撃時のCP消費
          end
          # 防御の場合
          if @active_battler.current_action.basic == 1 and @phase4_act_continuation == 0
          @active_battler.cp -= 32767 # 防御時のCP消費
          end
          # 敵の逃げるの場合
          if @active_battler.is_a?(Game_Enemy) and
          @active_battler.current_action.basic == 2 and @phase4_act_continuation == 0
          @active_battler.cp -= 65535 # 逃走時のCP消費
          end
          # 何もしないの場合
          if @active_battler.current_action.basic == 3 and @phase4_act_continuation == 0
          @active_battler.cp -= 32767 # 何もしない時のCP消費
          end
          # 逃げるの場合
          if @active_battler.current_action.basic == 4 and @phase4_act_continuation == 0
          @active_battler.cp -= 65535 # 逃走時のCP消費
          # 逃走可能ではない場合
          if $game_temp.battle_can_escape == false
          # ブザー SE を演奏
          $game_system.se_play($data_system.buzzer_se)
          return
          end
          # 決定 SE を演奏
          $game_system.se_play($data_system.decision_se)
          # 逃走処理
          update_phase2_escape
          return
          end
          xrxs_bp1_make_basic_action_result
          end
          #--------------------------------------------------------------------------
          # ● フレーム更新 (メインフェーズ ステップ 5 : ダメージ表示)
          #--------------------------------------------------------------------------
          alias xrxs_bp1_update_phase4_step5 update_phase4_step5
          def update_phase4_step5
          # スリップダメージ
          if @active_battler.hp > 0 and @active_battler.slip_damage?
          @active_battler.slip_damage_effect
          @active_battler.damage_pop = true
          end
          xrxs_bp1_update_phase4_step5
          end
          #--------------------------------------------------------------------------
          # ● フレーム更新 (メインフェーズ ステップ 6 : リフレッシュ)
          #--------------------------------------------------------------------------
          alias xrxs_bp1_update_phase4_step6 update_phase4_step6
          def update_phase4_step6
          # CP加算を再開uる
          @cp_thread.stop = false
          # ヘルプウィンドウを隠u
          @help_window.visible = false
          xrxs_bp1_update_phase4_step6
          end
          end
          # ▼▲▼ XRXS_BP 7. バトルステータス・クリアデザイン ver.1.02 ▼▲▼
          # by 桜雅 在土, TOMY

          #==============================================================================
          # ■ Window_BattleStatus
          #==============================================================================
          class Window_BattleStatus < Window_Base
          #--------------------------------------------------------------------------
          # ● 公開インスタンス変数
          #--------------------------------------------------------------------------
          attr_accessor :update_cp_only # CPメーターのみの更新
          #--------------------------------------------------------------------------
          # ● オブジェクト初期化
          #--------------------------------------------------------------------------
          alias xrxs_bp7_initialize initialize
          def initialize
          xrxs_bp7_initialize
          # ↓Full-Viewの場合は下二行の # を消して*ださい。
          #self.opacity = 0
          #self.back_opacity = 0
          end
          #--------------------------------------------------------------------------
          # ● リフレッシュ
          #--------------------------------------------------------------------------
          alias xrxs_bp7_refresh refresh
          def refresh
          if @update_cp_only
          xrxs_bp7_refresh
          return
          end
          # 描写を禁止しながら戻u
          @draw_ban = true
          xrxs_bp7_refresh
          # 描写の禁止を解除
          @draw_ban = false
          # 描写を開始
          @item_max = $game_party.actors.size
          for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          actor_x = i * 160 + 21
          # 歩行キャラグラフィックの描写
          #draw_actor_graphic(actor, actor_x - 9, 116)
          # HP/SPメーターの描写
          draw_actor_hp_meter_line(actor, actor_x, 72, 96, 12)
          draw_actor_sp_meter_line(actor, actor_x, 104, 96, 12)
          # HP数値の描写
          self.contents.font.size = 24 # HP/SP数値の侮嘯フ大きさ
          self.contents.font.color = actor.hp == 0 ? knockout_color :
          actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
          draw_shadow_text(actor_x-2, 58, 96, 24, actor.hp.to_s, 2)
          # SP数値の描写
          self.contents.font.color = actor.sp == 0 ? knockout_color :
          actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
          draw_shadow_text(actor_x-2, 90, 96, 24, actor.sp.to_s, 2)
          # 用語「HP」と用語「SP」の描写
          self.contents.font.size = 12 # 用語「HP/SP」の侮嘯フ大きさ
          self.contents.font.color = system_color # 用語「HP/SP」の侮嘯フ色
          draw_shadow_text(actor_x, 60, 96, 12, $data_system.words.hp)
          draw_shadow_text(actor_x, 92, 96, 12, $data_system.words.sp)

          draw_actor_state(actor, actor_x, 100)
          end
          end
          end
          #==============================================================================
          # ■ Window_Base
          #==============================================================================
          class Window_Base < Window
          #--------------------------------------------------------------------------
          # ● HPメーター の描画
          #--------------------------------------------------------------------------
          def draw_actor_hp_meter_line(actor, x, y, width = 156, height = 4)
          w = width * actor.hp / actor.maxhp
          hp_color_1 = Color.new(255, 0, 0, 192)
          hp_color_2 = Color.new(255, 255, 0, 192)
          self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
          draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
          x -= 1
          y += (height/4).floor
          self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
          draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
          x -= 1
          y += (height/4).ceil
          self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
          draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
          x -= 1
          y += (height/4).ceil
          self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
          draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
          end
          #--------------------------------------------------------------------------
          # ● SPメーター の描画
          #--------------------------------------------------------------------------
          def draw_actor_sp_meter_line(actor, x, y, width = 156, height = 4)
          w = width * actor.sp / actor.maxsp
          hp_color_1 = Color.new( 0, 0, 255, 192)
          hp_color_2 = Color.new( 0, 255, 255, 192)
          self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
          draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
          x -= 1
          y += (height/4).floor
          self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
          draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
          x -= 1
          y += (height/4).ceil
          self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
          draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
          x -= 1
          y += (height/4).ceil
          self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
          draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
          end
          #--------------------------------------------------------------------------
          # ● 名前の描画
          #--------------------------------------------------------------------------
          alias xrxs_bp7_draw_actor_name draw_actor_name
          def draw_actor_name(actor, x, y)
          xrxs_bp7_draw_actor_name(actor, x, y) if @draw_ban != true
          end
          #--------------------------------------------------------------------------
          # ● ステートの描画
          #--------------------------------------------------------------------------
          alias xrxs_bp7_draw_actor_state draw_actor_state
          def draw_actor_state(actor, x, y, width = 120)
          xrxs_bp7_draw_actor_state(actor, x, y, width) if @draw_ban != true
          end
          #--------------------------------------------------------------------------
          # ● HP の描画
          #--------------------------------------------------------------------------
          alias xrxs_bp7_draw_actor_hp draw_actor_hp
          def draw_actor_hp(actor, x, y, width = 144)
          xrxs_bp7_draw_actor_hp(actor, x, y, width) if @draw_ban != true
          end
          #--------------------------------------------------------------------------
          # ● SP の描画
          #--------------------------------------------------------------------------
          alias xrxs_bp7_draw_actor_sp draw_actor_sp
          def draw_actor_sp(actor, x, y, width = 144)
          xrxs_bp7_draw_actor_sp(actor, x, y, width) if @draw_ban != true
          end
          end
          #==============================================================================
          # ◇ 外部ライブラリ
          #==============================================================================
          class Window_Base
          #--------------------------------------------------------------------------
          # ● ライン描画 by 桜雅 在土
          #--------------------------------------------------------------------------
          def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
          # 描写距離の計算。大きめに直角時の瀦さ。
          distance = (start_x - end_x).abs + (start_y - end_y).abs
          # 描写開始
          if end_color == start_color
          for i in 1..distance
          x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
          y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
          self.contents.fill_rect(x, y, width, width, start_color)
          end
          else
          for i in 1..distance
          x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
          y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
          r = start_color.red * (distance-i)/distance + end_color.red * i/distance
          g = start_color.green * (distance-i)/distance + end_color.green * i/distance
          b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
          a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
          self.contents.fill_rect(x, y, width, width, Color.new(r, g, b, a))
          end
          end
          end

          #--------------------------------------------------------------------------
          # ● 影侮囎`画 by TOMY
          #--------------------------------------------------------------------------
          def draw_shadow_text(x, y, width, height, string, align = 0)
          # 元の色を保曹オてお*
          color = self.contents.font.color.dup
          # 黒字で影描画
          self.contents.font.color = Color.new(0, 0, 0)
          self.contents.draw_text(x + 2, y + 2, width, height, string, align)
          # 元の色に戻して描画
          self.contents.font.color = color
          self.contents.draw_text(x, y, width, height, string, align)
          end
          end

          Comment


            #6
            Re: water help!

            Atch, that's a long mess!
            "What if like...there was an exact copy of you somewhere, except they're the opposite gender, like you guys could literally have a freaky friday moment and nothing would change. Imagine the best friendship that could be found there."

            Comment


              #7
              Re: water help!

              Oh my ... I've never messed with CBS or ATB scripts or battle scripts, so I suggest you post your question in other RPGXP specialised forums as well.

              Comment


                #8
                Re: water help!

                Go to RMXP.net and go to ccoa's CBS thread for help.

                Here's a link to the thread:

                http://www.rmxp.org/forums/showthread.php?t=3564

                And do something about that post. It's a total mess.

                Comment

                Working...
                X