设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1967|回复: 4
打印 上一主题 下一主题

[已经解决] 请问这个脚本的作用...传说的ACB

[复制链接]

Lv2.观梦者

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
帖子
840
跳转到指定楼层
1
发表于 2010-7-7 01:22:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 负零 于 2010-7-7 21:45 编辑

此脚本似乎是什么布局脚本...但ACB什么意思...或是什么系统,求解
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ ACB レイアウト1 - KGC_ACB_Layout1 ◆
  3. #_/    ◇ Last update : 2008/xx/xx ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  ACB用のレイアウトスクリプトです。
  6. #_/============================================================================
  7. #_/ 【戦闘システム】≪Active Count Battle≫ のすぐ下に導入してください。
  8. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  9. if false
  10. #==============================================================================
  11. # ★ カスタマイズ項目 - Customize ★
  12. #==============================================================================

  13. module KGC
  14. module ACB
  15.   # ◆ ACB ゲージの開始色 (通常時)
  16.   #  数値  : \C[n] と同じ色。
  17.   #  Color : 指定した色。 ( Color.new(255, 128, 128) など )
  18.   GAUGE_NORMAL_START_COLOR = Color.new(0, 160, 160)
  19.   # ◆ ACB ゲージの終了色 (通常時)
  20.   GAUGE_NORMAL_END_COLOR   = Color.new(0, 255, 255)
  21.   # ◆ ACB ゲージの開始色 (最大時)
  22.   GAUGE_MAX_START_COLOR    = 20
  23.   # ◆ ACB ゲージの終了色 (最大時)
  24.   GAUGE_MAX_END_COLOR      = 21
  25.   # ◆ ACB ゲージの開始色 (詠唱時)
  26.   GAUGE_CHANT_START_COLOR  = 30
  27.   # ◆ ACB ゲージの終了色 (詠唱時)
  28.   GAUGE_CHANT_END_COLOR    = 31

  29.   # ◆ アクターステータスの背景を表示する
  30.   SHOW_STATUS_BACK    = true
  31.   # ◆ アクターステータスの背景不透明度
  32.   STATUS_BACK_OPACITY = 160
  33.   # ◆ アクター1人分の横幅
  34.   BATTLE_STATUS_WIDTH = 100
  35.   # ◆ 顔グラフィックを描画する
  36.   DRAW_FACE_GRAPHIC   = false
  37.   # ◆ 消費した MP を反映するタイミング
  38.   #   0..スキル発動時  1..行動終了後
  39.   #  0 でバグる場合は 1 を使用してください。
  40.   SKILL_MP_COST_APPLY_TIMING = 0

  41.   # ◆ 敵グラフィックの Y 座標補正値
  42.   #  敵グラフィックを指定値分ずらす。
  43.   ENEMY_OFFSET_Y = 16

  44.   # ◆ 戦闘メッセージの背景を表示する
  45.   SHOW_MESSAGE_BACK    = true
  46.   # ◆ 戦闘メッセージの背景不透明度
  47.   MESSAGE_BACK_OPACITY = 160

  48.   # ◆ オーダーバー表示
  49.   SHOW_ORDER_BAR = true
  50.   # ◆ オーダーバー描画位置
  51.   #  [X座標, Y座標]
  52.   ORDER_POSITION = [16, 2]
  53.   # ◆ オーダーアイコン位置補正
  54.   #  [X座標, Y座標]
  55.   #  X座標は、大きくするほどバーの中心から離れる。
  56.   ORDER_ICON_POSITION = [6, 0]
  57.   # ◆ ウェイトエリア倍率
  58.   #  ウェイトエリアの幅を基準値(100)に対する百分率で指定。
  59.   #  150 だと、通常の 1.5倍の待機時間までウェイトエリア内に収まる。
  60.   WAIT_AREA_SCALE = 200
  61.   # ◆ 待機時間予測を有効化
  62.   #  コマンド選択時、行動後のウェイトエリア内での位置を予測。
  63.   ORDER_PREDICT = true

  64.   # ◆ オーダーバー背景
  65.   #  [フォルダ] Graphics/ACB/
  66.   ORDER_BACK = "order_bar"
  67.   # ◆ アクター用オーダーアイコン
  68.   #  {i}..アクター ID
  69.   ORDER_ICON_ACTOR = "actor_icon{i}"
  70.   # ◆ エネミー用オーダーアイコン
  71.   #  {i}..エネミーINDEX
  72.   ORDER_ICON_ENEMY = "enemy_icon{i}"
  73.   # ◆ オーダーアイコン {i} の桁数
  74.   ORDER_ICON_DIGITS = 3
  75.   # ◆ 待機時間予測アイコン (通常)
  76.   ORDER_ICON_PREDICT_NORMAL = "predict"
  77.   # ◆ 待機時間予測アイコン (詠唱)
  78.   ORDER_ICON_PREDICT_CHANT  = "predict_chant"
  79. end
  80. end

  81. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  82. $imported = {} if $imported == nil
  83. $imported["ACB_Layout1"] = true

  84. #==============================================================================
  85. # ■ Window_Base
  86. #==============================================================================

  87. class Window_Base < Window
  88.   #--------------------------------------------------------------------------
  89.   # ○ ACB ゲージの通常時の色 1 の取得
  90.   #--------------------------------------------------------------------------
  91.   def acb_gauge_normal_color1
  92.     color = KGC::ACB::GAUGE_NORMAL_START_COLOR
  93.     return (color.is_a?(Integer) ? text_color(color) : color)
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ○ ACB ゲージの通常時の色 2 の取得
  97.   #--------------------------------------------------------------------------
  98.   def acb_gauge_normal_color2
  99.     color = KGC::ACB::GAUGE_NORMAL_END_COLOR
  100.     return (color.is_a?(Integer) ? text_color(color) : color)
  101.   end
  102.   #--------------------------------------------------------------------------
  103.   # ○ ACB ゲージの最大時の色 1 の取得
  104.   #--------------------------------------------------------------------------
  105.   def acb_gauge_max_color1
  106.     color = KGC::ACB::GAUGE_MAX_START_COLOR
  107.     return (color.is_a?(Integer) ? text_color(color) : color)
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ○ ACB ゲージの最大時の色 2 の取得
  111.   #--------------------------------------------------------------------------
  112.   def acb_gauge_max_color2
  113.     color = KGC::ACB::GAUGE_MAX_END_COLOR
  114.     return (color.is_a?(Integer) ? text_color(color) : color)
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ○ ACB ゲージの詠唱時の色 1 の取得
  118.   #--------------------------------------------------------------------------
  119.   def acb_gauge_chant_color1
  120.     color = KGC::ACB::GAUGE_CHANT_START_COLOR
  121.     return (color.is_a?(Integer) ? text_color(color) : color)
  122.   end
  123.   #--------------------------------------------------------------------------
  124.   # ○ ACB ゲージの詠唱時の色 2 の取得
  125.   #--------------------------------------------------------------------------
  126.   def acb_gauge_chant_color2
  127.     color = KGC::ACB::GAUGE_CHANT_END_COLOR
  128.     return (color.is_a?(Integer) ? text_color(color) : color)
  129.   end
  130.   #--------------------------------------------------------------------------
  131.   # ○ ACB ゲージの描画
  132.   #     actor : アクター
  133.   #     x     : 描画先 X 座標
  134.   #     y     : 描画先 Y 座標
  135.   #     width : 幅
  136.   #--------------------------------------------------------------------------
  137.   def draw_actor_acb_gauge(actor, x, y, width = 120)
  138.     gw = width * actor.acb_count / actor.max_acb_count
  139.     gw = 0 unless actor.movable?
  140.     if gw == width
  141.       # 最大
  142.       gc1 = acb_gauge_max_color1
  143.       gc2 = acb_gauge_max_color2
  144.     elsif actor.chant
  145.       # 詠唱中
  146.       gc1 = acb_gauge_chant_color1
  147.       gc2 = acb_gauge_chant_color2
  148.     else
  149.       # 蓄積中
  150.       gc1 = acb_gauge_normal_color1
  151.       gc2 = acb_gauge_normal_color2
  152.     end
  153.     self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
  154.     self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  155.   end
  156. end

  157. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  158. #==============================================================================
  159. # ■ Window_BattleMessage
  160. #==============================================================================

  161. class Window_BattleMessage < Window_Message
  162.   #--------------------------------------------------------------------------
  163.   # ● オブジェクト初期化
  164.   #--------------------------------------------------------------------------
  165.   alias initialize_KGC_ACB_L1 initialize
  166.   def initialize
  167.     initialize_KGC_ACB_L1

  168.     create_contents
  169.     reset_window
  170.   end
  171.   #--------------------------------------------------------------------------
  172.   # ● 背景スプライトの作成
  173.   #--------------------------------------------------------------------------
  174.   def create_back_sprite
  175.     super
  176.     @back_sprite.zoom_y = 0.8
  177.   end
  178.   #--------------------------------------------------------------------------
  179.   # ● 背景スプライトの更新
  180.   #--------------------------------------------------------------------------
  181.   def update_back_sprite
  182.     super
  183.     @back_sprite.y += 16
  184.     @back_sprite.opacity =
  185.       @back_sprite.opacity * KGC::ACB::MESSAGE_BACK_OPACITY / 255
  186.   end
  187.   #--------------------------------------------------------------------------
  188.   # ● ウィンドウの背景と位置の設定
  189.   #--------------------------------------------------------------------------
  190.   alias reset_window_KGC_ACB_L1 reset_window
  191.   def reset_window
  192.     reset_window_KGC_ACB_L1

  193.     # 背景を暗くする
  194.     @background = (KGC::ACB::SHOW_MESSAGE_BACK ? 1 : 0)
  195.     self.opacity = 0
  196.   end
  197. end

  198. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  199. #==============================================================================
  200. # ■ Window_ActorCommand
  201. #==============================================================================

  202. class Window_ActorCommand < Window_Command
  203.   #--------------------------------------------------------------------------
  204.   # ● オブジェクト初期化
  205.   #--------------------------------------------------------------------------
  206.   alias initialize_KGC_ACB_L1 initialize
  207.   def initialize
  208.     initialize_KGC_ACB_L1

  209.     create_name_window
  210.   end
  211.   #--------------------------------------------------------------------------
  212.   # ○ 名前ウィンドウの作成
  213.   #--------------------------------------------------------------------------
  214.   def create_name_window
  215.     @name_window = Window_Base.new(x, y - 40, width, 32 + WLH)
  216.   end
  217.   #--------------------------------------------------------------------------
  218.   # ● 解放
  219.   #--------------------------------------------------------------------------
  220.   def dispose
  221.     super
  222.     @name_window.dispose
  223.   end
  224.   #--------------------------------------------------------------------------
  225.   # ● X 座標変更
  226.   #--------------------------------------------------------------------------
  227.   def x=(value)
  228.     super(value)
  229.     @name_window.x = value if @name_window != nil
  230.   end
  231.   #--------------------------------------------------------------------------
  232.   # ● Y 座標変更
  233.   #--------------------------------------------------------------------------
  234.   def y=(value)
  235.     super(value)
  236.     @name_window.y = value - 48 if @name_window != nil
  237.   end
  238.   #--------------------------------------------------------------------------
  239.   # ● Z 座標変更
  240.   #--------------------------------------------------------------------------
  241.   def z=(value)
  242.     super(value)
  243.     @name_window.z = value - 100 if @name_window != nil
  244.   end
  245.   #--------------------------------------------------------------------------
  246.   # ● 可視状態変更
  247.   #--------------------------------------------------------------------------
  248.   def visible=(value)
  249.     super(value)
  250.     @name_window.visible = value if @name_window != nil
  251.   end
  252.   #--------------------------------------------------------------------------
  253.   # ● フレーム更新
  254.   #--------------------------------------------------------------------------
  255.   def update
  256.     super
  257.     @name_window.update if @name_window != nil
  258.   end
  259.   #--------------------------------------------------------------------------
  260.   # ● セットアップ
  261.   #     actor : アクター
  262.   #--------------------------------------------------------------------------
  263.   alias setup_KGC_ACB_L1 setup
  264.   def setup(actor)
  265.     setup_KGC_ACB_L1(actor)

  266.     setup_name_window(actor)
  267.   end
  268.   #--------------------------------------------------------------------------
  269.   # ○ 名前ウィンドウのセットアップ
  270.   #     actor : アクター
  271.   #--------------------------------------------------------------------------
  272.   def setup_name_window(actor)
  273.     @name_window.contents.clear
  274.     @name_window.contents.draw_text(0, 0, width - 32, WLH, actor.name)
  275.   end
  276. end

  277. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  278. #==============================================================================
  279. # □ Window_TargetEnemyACB
  280. #------------------------------------------------------------------------------
  281. #   ACB で、行動対象の敵キャラを選択するウィンドウです。
  282. #==============================================================================

  283. class Window_TargetEnemyACB < Window_Selectable
  284.   #--------------------------------------------------------------------------
  285.   # ● オブジェクト初期化
  286.   #--------------------------------------------------------------------------
  287.   def initialize
  288.     @enemies = []
  289.     @enemy_rect = []
  290.     $game_troop.existing_members.each { |enemy|
  291.       @enemies << enemy
  292.       bitmap = Cache.battler(enemy.battler_name, enemy.battler_hue)
  293.       rect = bitmap.rect.clone
  294.       rect.x = enemy.screen_x - (rect.width / 2) - 4
  295.       rect.y = enemy.screen_y - rect.height - 4
  296.       rect.width += 8
  297.       rect.height += 8
  298.       @enemy_rect << rect
  299.     }

  300.     super(-16, -16, Graphics.width + 32, Graphics.height + 32)
  301.     @item_max = @enemies.size
  302.     @column_max = @enemies.size
  303.     self.index = 0
  304.     self.opacity = 0
  305.     self.active = true
  306.   end
  307.   #--------------------------------------------------------------------------
  308.   # ○ 敵キャラオブジェクト取得
  309.   #--------------------------------------------------------------------------
  310.   def enemy
  311.     return @enemies[@index]
  312.   end
  313.   #--------------------------------------------------------------------------
  314.   # ● 1 ページに表示できる行数の取得
  315.   #--------------------------------------------------------------------------
  316.   def page_row_max
  317.     return 1
  318.   end
  319.   #--------------------------------------------------------------------------
  320.   # ● 項目を描画する矩形の取得
  321.   #     index : 項目番号
  322.   #--------------------------------------------------------------------------
  323.   def item_rect(index)
  324.     return @enemy_rect[index]
  325.   end
  326. end

  327. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  328. #==============================================================================
  329. # ■ Window_BattleStatus
  330. #==============================================================================

  331. class Window_BattleStatus < Window_Selectable
  332.   #--------------------------------------------------------------------------
  333.   # ● 定数
  334.   #--------------------------------------------------------------------------
  335.   WLH = 20
  336.   #--------------------------------------------------------------------------
  337.   # ● オブジェクト初期化
  338.   #--------------------------------------------------------------------------
  339.   def initialize
  340.     super(-12, -14, Graphics.width + 24, 128)
  341.     if $imported["LargeParty"]
  342.       @column_max = $game_party.max_battle_member_count
  343.     else
  344.       @column_max = Game_Party::MAX_MEMBERS
  345.     end
  346.     @spacing = 8
  347.     refresh
  348.     self.opacity = 0
  349.     self.active = false

  350.     create_background
  351.   end
  352.   #--------------------------------------------------------------------------
  353.   # ● ウィンドウ内容の作成
  354.   #--------------------------------------------------------------------------
  355.   def create_contents
  356.     self.contents.dispose
  357.     self.contents = Bitmap.new(width - 32, height - 32)
  358.   end
  359.   #--------------------------------------------------------------------------
  360.   # ○ 背景スプライトの作成
  361.   #--------------------------------------------------------------------------
  362.   def create_background
  363.     rect = Rect.new(0, 0, width, height - 16)
  364.     @back_sprite = Sprite.new
  365.     @back_sprite.bitmap = Bitmap.new(rect.width, rect.height)
  366.     @back_sprite.y = self.y
  367.     @back_sprite.z = self.z - 1

  368.     bitmap = Cache.system("MessageBack")
  369.     @back_sprite.bitmap.stretch_blt(rect, bitmap, bitmap.rect)
  370.     @back_sprite.visible = KGC::ACB::SHOW_STATUS_BACK
  371.     @back_sprite.opacity = KGC::ACB::STATUS_BACK_OPACITY
  372.   end
  373.   #--------------------------------------------------------------------------
  374.   # ● 解放
  375.   #--------------------------------------------------------------------------
  376.   def dispose
  377.     super

  378.     @back_sprite.bitmap.dispose
  379.     @back_sprite.dispose
  380.   end
  381.   #--------------------------------------------------------------------------
  382.   # ● Z 座標の変更
  383.   #--------------------------------------------------------------------------
  384.   def z=(value)
  385.     super(value)
  386.     return if @back_sprite == nil
  387.     @back_sprite.z = value - 1
  388.   end
  389.   #--------------------------------------------------------------------------
  390.   # ● フレーム更新
  391.   #--------------------------------------------------------------------------
  392.   def update
  393.     super
  394.     update_acb_gauge
  395.   end
  396.   #--------------------------------------------------------------------------
  397.   # ○ ACB ゲージの更新
  398.   #--------------------------------------------------------------------------
  399.   def update_acb_gauge
  400.     @item_max.times { |i|
  401.       rect = item_rect(i)
  402.       actor = $game_party.members[index]
  403.       draw_actor_acb_gauge(actor, rect.x + 2, WLH * 3 + 10, rect.width - 4)
  404.     }
  405.   end
  406.   #--------------------------------------------------------------------------
  407.   # ● 項目の描画
  408.   #     index   : 項目番号
  409.   #--------------------------------------------------------------------------
  410.   def draw_item(index)
  411.     rect = item_rect(index)
  412.     rect.x += 2
  413.     rect.width -= 4
  414.     self.contents.clear_rect(rect)
  415.     self.contents.font.color = normal_color
  416.     actor = $game_party.members[index]

  417.     if KGC::ACB::DRAW_FACE_GRAPHIC
  418.       face_size = [96, rect.width].min
  419.       draw_actor_face(actor,
  420.         rect.x + (rect.width - face_size) / 2,
  421.         0,
  422.         face_size)
  423.     end

  424.     draw_actor_name(actor, rect.x, 0, rect.width)
  425.     draw_actor_hp(actor, rect.x, WLH * 1, rect.width)
  426.     draw_actor_mp(actor, rect.x, WLH * 2, rect.width)
  427.     draw_actor_state(actor, rect.x, WLH * 3, rect.width)
  428.     draw_actor_acb_gauge(actor, rect.x, WLH * 3 + 10, rect.width)
  429.   end
  430.   #--------------------------------------------------------------------------
  431.   # ● 項目を描画する矩形の取得
  432.   #     index : 項目番号
  433.   #--------------------------------------------------------------------------
  434.   def item_rect(index)
  435.     rect = Rect.new(0, 0, 0, 0)
  436.     rect.width = KGC::ACB::BATTLE_STATUS_WIDTH
  437.     rect.height = height - 32
  438.     rect.x = index * (rect.width + @spacing)
  439.     return rect
  440.   end
  441.   #--------------------------------------------------------------------------
  442.   # ● 顔グラフィックの描画
  443.   #     face_name  : 顔グラフィック ファイル名
  444.   #     face_index : 顔グラフィック インデックス
  445.   #     x          : 描画先 X 座標
  446.   #     y          : 描画先 Y 座標
  447.   #     size       : 表示サイズ
  448.   #--------------------------------------------------------------------------
  449.   def draw_face(face_name, face_index, x, y, size = 96)
  450.     bitmap = Cache.face(face_name)
  451.     rect = Rect.new(0, 0, 0, 0)
  452.     rect.x = face_index % 4 * 96 + (96 - size) / 2
  453.     rect.y = face_index / 4 * 96 + (96 - size) / 2
  454.     rect.width = size
  455.     rect.height = size
  456.     self.contents.blt(x, y, bitmap, rect, 160)
  457.     bitmap.dispose
  458.   end
  459.   #--------------------------------------------------------------------------
  460.   # ● 名前の描画
  461.   #     actor : アクター
  462.   #     x     : 描画先 X 座標
  463.   #     y     : 描画先 Y 座標
  464.   #     width : 幅
  465.   #--------------------------------------------------------------------------
  466.   def draw_actor_name(actor, x, y, width = 108)
  467.     if $imported["OverDrive"]
  468.       draw_actor_od_gauge(actor, x, y, width)
  469.     end
  470.     self.contents.font.color = hp_color(actor)
  471.     self.contents.draw_text(x, y, width, WLH, actor.name)
  472.   end
  473.   #--------------------------------------------------------------------------
  474.   # ○ 再描画
  475.   #     actor : 対象アクター
  476.   #--------------------------------------------------------------------------
  477.   def redraw(actor)
  478.     draw_item(actor.index)
  479.   end
  480. end

  481. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  482. #==============================================================================
  483. # ■ Scene_Battle
  484. #==============================================================================

  485. class Scene_Battle < Scene_Base
  486.   #--------------------------------------------------------------------------
  487.   # ● 情報表示ビューポートの作成
  488.   #--------------------------------------------------------------------------
  489.   def create_info_viewport
  490.     @info_viewport = Viewport.new(0, 128, Graphics.width, Graphics.height - 256)
  491.     @info_viewport.z = 11000

  492.     @status_window = Window_BattleStatus.new
  493.     @status_window.z = 12000

  494.     @party_command_window = Window_PartyCommand.new
  495.     @party_command_window.viewport = @info_viewport
  496.     @info_viewport.visible = false

  497.     @actor_command_window = Window_ActorCommand.new
  498.     @actor_command_window.x = Graphics.width - @actor_command_window.width
  499.     @actor_command_window.y = 168
  500.   end
  501.   #--------------------------------------------------------------------------
  502.   # ● 対象敵キャラ選択の開始
  503.   #--------------------------------------------------------------------------
  504.   def start_target_enemy_selection
  505.     @target_enemy_window = Window_TargetEnemyACB.new
  506.     @target_enemy_window.z = @status_window.z - 100
  507.     @actor_command_window.active = false
  508.     @actor_command_window.visible = false
  509.   end
  510.   #--------------------------------------------------------------------------
  511.   # ● 対象敵キャラ選択の終了
  512.   #--------------------------------------------------------------------------
  513.   def end_target_enemy_selection
  514.     @target_enemy_window.dispose
  515.     @target_enemy_window = nil
  516.     if @actor_command_window.index == 0
  517.       @actor_command_window.active = true
  518.       @actor_command_window.visible = true
  519.     end
  520.   end
  521.   #--------------------------------------------------------------------------
  522.   # ● 対象アクター対象選択の開始
  523.   #--------------------------------------------------------------------------
  524.   def start_target_actor_selection
  525.     @target_actor_window = Window_BattleStatus.new
  526.     @target_actor_window.index = 0
  527.     @target_actor_window.active = true
  528.     @target_actor_window.z = @status_window.z
  529.     @status_window.visible = false
  530.     @actor_command_window.active = false
  531.     @actor_command_window.visible = false

  532.     if @help_window != nil
  533.       @help_window.z = @status_window.z - 100
  534.       @skill_window.z = @help_window.z if @skill_window != nil
  535.       @item_window.z  = @help_window.z if @item_window != nil
  536.     end
  537.   end
  538.   #--------------------------------------------------------------------------
  539.   # ● 対象アクター選択の終了
  540.   #--------------------------------------------------------------------------
  541.   def end_target_actor_selection
  542.     @target_actor_window.dispose
  543.     @target_actor_window = nil
  544.     @status_window.visible = true

  545.     if @help_window != nil
  546.       @help_window.z = @status_window.z + 100
  547.       @skill_window.z = @help_window.z if @skill_window != nil
  548.       @item_window.z  = @help_window.z if @item_window != nil
  549.     end
  550.   end
  551.   #--------------------------------------------------------------------------
  552.   # ● スキル選択の開始
  553.   #--------------------------------------------------------------------------
  554.   alias start_skill_selection_KGC_ACB_L1 start_skill_selection
  555.   def start_skill_selection
  556.     start_skill_selection_KGC_ACB_L1

  557.     @help_window.z = @status_window.z + 100
  558.     @skill_window.z = @help_window.z
  559.     @actor_command_window.visible = false
  560.   end
  561.   #--------------------------------------------------------------------------
  562.   # ● スキル選択の終了
  563.   #--------------------------------------------------------------------------
  564.   alias end_skill_selection_KGC_ACB_L1 end_skill_selection
  565.   def end_skill_selection
  566.     end_skill_selection_KGC_ACB_L1

  567.     @actor_command_window.visible = true
  568.   end
  569.   #--------------------------------------------------------------------------
  570.   # ● アイテム選択の開始
  571.   #--------------------------------------------------------------------------
  572.   alias start_item_selection_KGC_ACB_L1 start_item_selection
  573.   def start_item_selection
  574.     start_item_selection_KGC_ACB_L1

  575.     @help_window.z = @status_window.z + 100
  576.     @item_window.z = @help_window.z
  577.     @actor_command_window.visible = false
  578.   end
  579.   #--------------------------------------------------------------------------
  580.   # ● アイテム選択の終了
  581.   #--------------------------------------------------------------------------
  582.   alias end_item_selection_KGC_ACB_L1 end_item_selection
  583.   def end_item_selection
  584.     end_item_selection_KGC_ACB_L1

  585.     @actor_command_window.visible = true
  586.   end
  587.   #--------------------------------------------------------------------------
  588.   # ● 戦闘行動の処理
  589.   #--------------------------------------------------------------------------
  590.   alias process_action_KGC_ACB_L1 process_action
  591.   def process_action
  592.     process_action_KGC_ACB_L1

  593.     redraw_status(@active_battler)
  594.   end
  595.   #--------------------------------------------------------------------------
  596.   # ● ターン終了
  597.   #--------------------------------------------------------------------------
  598.   alias turn_end_KGC_ACB_L1 turn_end
  599.   def turn_end
  600.     turn_end_KGC_ACB_L1

  601.     redraw_status(@active_battler)
  602.   end
  603.   #--------------------------------------------------------------------------
  604.   # ● 戦闘行動の実行 : スキル
  605.   #--------------------------------------------------------------------------
  606.   alias execute_action_skill_KGC_ACB_L1 execute_action_skill
  607.   def execute_action_skill
  608.     # 行動前に MP を反映する場合
  609.     if KGC::ACB::SKILL_MP_COST_APPLY_TIMING == 0
  610.       # MP を仮消費してステータスを更新
  611.       last_mp = @active_battler.mp
  612.       skill = @active_battler.action.skill
  613.       @active_battler.mp -= @active_battler.calc_mp_cost(skill)
  614.       redraw_status(@active_battler)
  615.       # 消費前に戻す
  616.       @active_battler.mp = last_mp
  617.     end

  618.     execute_action_skill_KGC_ACB_L1

  619.     # 行動後に MP を反映する場合
  620.     if KGC::ACB::SKILL_MP_COST_APPLY_TIMING == 1
  621.       redraw_status(@active_battler)
  622.     end
  623.   end
  624.   #--------------------------------------------------------------------------
  625.   # ● ステータスの一部を再描画
  626.   #     target : 対象者
  627.   #--------------------------------------------------------------------------
  628.   def redraw_status(target)
  629.     if target.is_a?(Game_Actor)
  630.       @status_window.redraw(target)
  631.     end
  632.   end
  633.   #--------------------------------------------------------------------------
  634.   # ● HP ダメージ表示
  635.   #     target : 対象者
  636.   #     obj    : スキルまたはアイテム
  637.   #--------------------------------------------------------------------------
  638.   alias display_hp_damage_KGC_ACB_L1 display_hp_damage
  639.   def display_hp_damage(target, obj = nil)
  640.     redraw_status(target)
  641.     if target.absorbed
  642.       # 吸収の場合は行動者も更新
  643.       redraw_status(@active_battler)
  644.     end

  645.     display_hp_damage_KGC_ACB_L1(target, obj)
  646.   end
  647.   #--------------------------------------------------------------------------
  648.   # ● MP ダメージ表示
  649.   #     target : 対象者
  650.   #     obj    : スキルまたはアイテム
  651.   #--------------------------------------------------------------------------
  652.   alias display_mp_damage_KGC_ACB_L1 display_mp_damage
  653.   def display_mp_damage(target, obj = nil)
  654.     redraw_status(target)
  655.     if target.absorbed
  656.       # 吸収の場合は行動者も更新
  657.       redraw_status(@active_battler)
  658.     end

  659.     display_mp_damage_KGC_ACB_L1(target, obj)
  660.   end
  661.   #--------------------------------------------------------------------------
  662.   # ● ステート変化の表示
  663.   #     target : 対象者
  664.   #     obj    : スキルまたはアイテム
  665.   #--------------------------------------------------------------------------
  666.   alias display_state_changes_KGC_ACB_L1 display_state_changes
  667.   def display_state_changes(target, obj = nil)
  668.     redraw_status(target)

  669.     display_state_changes_KGC_ACB_L1(target, obj)
  670.   end
  671. end

  672. end
复制代码

点评

木有...我都说我有个范例 所以我以为你的DQ特技风是里面扣得...嘎嘎  发表于 2010-7-7 21:44
上网址  发表于 2010-7-7 10:31

Lv1.梦旅人

不画画就死星人

梦石
0
星屑
164
在线时间
1818 小时
注册时间
2007-6-14
帖子
3219
2
发表于 2010-7-7 10:19:09 | 只看该作者
Active Count Battle
{:nm_1:}是即时战斗系统的界面吧
渣绘关注慎重
[url=http://www.pixiv.net/member.php?id=1160389][color=DimGray]http://www.pixiv.net/member.php?id=1160389[/color][/url]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
3
发表于 2010-7-7 11:04:21 | 只看该作者
粗略地看了下,就是一个即时战斗脚本,有咏唱、蓄力、敌人资料等功能,且改变了一下窗口布局

google 翻译:

一个创建共同实时战斗的脚本。
如速度和咏唱,如果没有功能或有Riarutaimurashii。

“等待”,“Akushonueito”完成权利,[女性10○城巴指南和图标[○○谷威尼斯住宿加早餐指南再现像阿拉伯银行联盟(?)能战斗。
(例如,当进入后选择投在潜伏期变化取决于操作命令停止命令)
微妙的例子是设置在底部。

实现快速和可定制的项目,很轻,在清新的过程,作为一个超级(假)是更快的结果。
因此,刷新通常会感到压力最大。 (也许)
(是在速度在正常负荷的五方1 - 只需要大约2)
加速时间采取边界字符,字符本身要比正常可见。

?加强了战斗的事件组合?偏好运行顺利。

当一个非加速运动沉闷的时刻被发现在这个过程中,把党的“多人”字符“阴影”,因为通过它的处理是一个有点沉重的时候刷新。 (不是一个错误。)
如果这些都被删除淡一些,一个非常好的主意,因为该字符不会成为难以看到。
(如果您删除,所以当光速这个时间)
如果您删除?加强偏好?视为容易消除战斗的整个背景。

顺便说一句,飞行是“一个按钮,按住”是。
(“逃生”有没有命令)

英文:
Script to create a common real-time battles.
Such as speed and chant, With no function or have Riarutaimurashii.

"Wait" "Akushonueito" Done right, [F 10 ○ CTB Guide and icon [○ ○ Gu Venice Bed & Breakfast Guide recreate battles like UAB (?) Can.
(And stop when you enter the command command after selecting a cast change in latency depending on the action.)
Subtle example is set at the bottom.

Enabling fast and customizable items, be very light during the refresh process, as a result of super (false) is faster.
Therefore, the refresh will usually feel the most stress. (Probably)
(At speed is one of the five parties in the normal load - it only takes about two)
Accelerated time to adopt a border character, the character itself is more visible than normal.

?Strengthening Preferences? by combination works smoothly battle events.

When a non-accelerated motion dull moment to be found at the course and turn this party "multiplayer" character "Shadows" by it because the handling is a bit heavy when refreshing. (Not a bug.)
If these are removed a little lighter, a very good idea because the character does not become hard to see.
(If you remove, so when the light speed this time)
If you remove the ?strengthening Preferences? seen as easier to remove the entire background of the battle.

Incidentally, the flight is "A button press and hold" is.
("Escape" There is no command).
回复 支持 反对

使用道具 举报

Lv1.梦旅人

kissye的宠物<

梦石
0
星屑
61
在线时间
1563 小时
注册时间
2008-8-11
帖子
6174

贵宾

4
发表于 2010-7-7 11:35:59 | 只看该作者
回复 紫苏 的帖子

当一个非加速运动沉闷的时刻被发现在这个过程中,把的“多人”字符“阴影”,因为通过它的处理是一个有点沉重的时候刷新。 (不是一个错误。)

亮点
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
帖子
840
5
 楼主| 发表于 2010-7-7 21:43:09 | 只看该作者
本帖最后由 负零 于 2010-7-7 21:45 编辑

都说了是翻译机出品...谢谢各位,不过话说他的范例里并不是即时制战斗 怎么会出现这种东西
另外 请斑竹给你认为答得好的人认可...谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-8 22:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表