Project1

标题: QTE 連技系統漢化 [打印本页]

作者: FrozenDen    时间: 2012-5-29 10:54
标题: QTE 連技系統漢化
本帖最后由 FrozenDen 于 2012-5-29 11:06 编辑

Yanfly Engine Ace - Active Chain Skills v1.01 漢化版
實現連技,配合技能屬性和快物變身,如附加狀態[頭],怪物有[頭]弱點,血量下降到一定水平變身,
可實部位破壞,專攻弱點等等。
[示範影片(YouTube)]
希望幫到大家{:2_275:}
RUBY 代码复制
  1. #==============================================================================
  2. #
  3. # ▼ Yanfly Engine Ace - Active Chain Skills v1.01
  4. # -- Last Updated: 2011.12.22
  5. # -- Level: Hard
  6. # -- Requires: n/a
  7. #
  8. #==============================================================================
  9.  
  10. $imported = {} if $imported.nil?
  11. $imported["YEA-ActiveChainSkills"] = true
  12.  
  13. #==============================================================================
  14. # ▼ Updates
  15. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  16. # 2011.12.22 - Better updating speed for window.
  17. # 2011.12.18 - Started Script and Finished.
  18. #
  19. #==============================================================================
  20. # ▼ Introduction
  21. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  22. # 這腳本實現了主動連技的可能性,當帶有連技屬性的技能發動時,畫面左下方會出現
  23. # 可以連甚麼技的訊息列表,透過簡單QTE,能立刻發動下一招連技。理論上,只要有足夠
  24. # 的資源(MP, TP) 和連技屬性的設定,是可以無限連技的。
  25. #==============================================================================
  26. # ▼ Instructions
  27. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  28. # To install this script, open up your script editor and copy/paste this script
  29. # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
  30. #
  31. # -----------------------------------------------------------------------------
  32. # 以下是要放進[技能][註]的東東
  33. # -----------------------------------------------------------------------------
  34. # <chain skill L: x>
  35. # <chain skill R: x>
  36. # <chain skill X: x>
  37. # <chain skill Y: x>
  38. # <chain skill Z: x>
  39. # 這個是給予可連技屬性的東東,X 是技能的編號, 013,102 之類的。放了進去就是代表
  40. # 此技能能連去編號XXX 的技能。當沒有設定時,如只設定了Skill X,Y,Z ,L和R 是不
  41. # 會在連技訊息列表中出現。而不夠資源如MP,TP 時,連技訊息列表中該技能就會黑掉。
  42. # <chain only>
  43. # 這個東東是令該技能在正常技能表中不能選擇,只能透過連技去發動。
  44. #==============================================================================
  45. # ▼ Compatibility
  46. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  47. # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
  48. # it will run with RPG Maker VX without adjusting.
  49. #
  50. # While this script doesn't interfere with Input Combo Skills, it will most
  51. # likely be unable to used in conjunction with Input Combo Skills. I will not
  52. # provide support for any errors that may occur from this, nor will I be
  53. # responsible for any damage doing this may cause your game.
  54. #
  55. #==============================================================================
  56.  
  57. module YEA
  58.   module ACTIVE_CHAIN
  59.  
  60.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  61.     # - Chain Skill Settings -
  62.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  63.     # Adjust general settings here. These settings adjust the sound effect
  64.     # played when an active skill is selected and what the minimum time window
  65.     # is for an active chain skill.
  66.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  67.     # 下面是連技成功時的音效,可改。
  68.     ACTIVE_SKILL_SOUND = RPG::SE.new("Skill2", 80, 100)
  69.  
  70.     # 下面是設定連技訊息列表出現的時間長度,也就是QTE 的限時。
  71.     MINIMUM_TIME = 120
  72.  
  73.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  74.     # - Chain Skill Text -
  75.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  76.     # 這裡是設定連技訊息列表內容的地方,除了Title 外,都可用text codes.
  77.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  78.     CHAIN_TITLE  = "Active Chain Skills"
  79.     TITLE_SIZE   = 20
  80.     L_SKILL_ON   = "\eC[17]Q\eC[0]Chain: "
  81.     L_SKILL_OFF  = "\eC[7]QChain: "
  82.     L_SKILL_ACT  = "\eC[17]QChain: "
  83.     R_SKILL_ON   = "\eC[17]W\eC[0]Chain: "
  84.     R_SKILL_OFF  = "\eC[7]WChain: "
  85.     R_SKILL_ACT  = "\eC[17]WChain: "
  86.     X_SKILL_ON   = "\eC[17]A\eC[0]ttack: "
  87.     X_SKILL_OFF  = "\eC[7]Attack: "
  88.     X_SKILL_ACT  = "\eC[17]Attack: "
  89.     Y_SKILL_ON   = "\eC[17]S\eC[0]trike: "
  90.     Y_SKILL_OFF  = "\eC[7]Strike: "
  91.     Y_SKILL_ACT  = "\eC[17]Strike: "
  92.     Z_SKILL_ON   = "\eC[17]D\eC[0]efend: "
  93.     Z_SKILL_OFF  = "\eC[7]Defend: "
  94.     Z_SKILL_ACT  = "\eC[17]Defend: "
  95.  
  96.   end # ACTIVE_CHAIN
  97. end # YEA
  98.  
  99. #==============================================================================
  100. # ▼ Editting anything past this point may potentially result in causing
  101. # computer damage, incontinence, explosion of user's head, coma, death, and/or
  102. # halitosis so edit at your own risk.
  103. #==============================================================================
  104.  
  105. module YEA
  106.   module REGEXP
  107.   module SKILL
  108.  
  109.     CHAIN_ONLY  = /<(?:CHAIN_ONLY|chain only)>/i
  110.     CHAIN_SKILL = /<(?:CHAIN_SKILL|chain skill)[ ]([LRXYZ]):[ ](\d+)>/i
  111.  
  112.   end # SKILL
  113.   end # REGEXP
  114. end # YEA
  115.  
  116. #==============================================================================
  117. # ■ DataManager
  118. #==============================================================================
  119.  
  120. module DataManager
  121.  
  122.   #--------------------------------------------------------------------------
  123.   # alias method: load_database
  124.   #--------------------------------------------------------------------------
  125.   class <<self; alias load_database_acs load_database; end
  126.   def self.load_database
  127.     load_database_acs
  128.     load_notetags_acs
  129.   end
  130.  
  131.   #--------------------------------------------------------------------------
  132.   # new method: load_notetags_acs
  133.   #--------------------------------------------------------------------------
  134.   def self.load_notetags_acs
  135.     for skill in $data_skills
  136.       next if skill.nil?
  137.       skill.load_notetags_acs
  138.     end
  139.   end
  140.  
  141. end # DataManager
  142.  
  143. #==============================================================================
  144. # ■ RPG::Skill
  145. #==============================================================================
  146.  
  147. class RPG::Skill < RPG::UsableItem
  148.  
  149.   #--------------------------------------------------------------------------
  150.   # public instance variables
  151.   #--------------------------------------------------------------------------
  152.   attr_accessor :chain_only
  153.   attr_accessor :chain_skill
  154.  
  155.   #--------------------------------------------------------------------------
  156.   # common cache: load_notetags_acs
  157.   #--------------------------------------------------------------------------
  158.   def load_notetags_acs
  159.     @chain_only = false
  160.     @chain_skill = {}
  161.     #---
  162.     self.note.split(/[\r\n]+/).each { |line|
  163.       case line
  164.       #---
  165.       when YEA::REGEXP::SKILL::CHAIN_ONLY
  166.         @chain_only = true
  167.       when YEA::REGEXP::SKILL::CHAIN_SKILL
  168.         case $1.upcase
  169.         when "L"; @chain_skill[:L] = $2.to_i
  170.         when "R"; @chain_skill[:R] = $2.to_i
  171.         when "X"; @chain_skill[:X] = $2.to_i
  172.         when "Y"; @chain_skill[:Y] = $2.to_i
  173.         when "Z"; @chain_skill[:Z] = $2.to_i
  174.         else; next
  175.         end
  176.       #---
  177.       end
  178.     } # self.note.split
  179.     #---
  180.   end
  181.  
  182. end # RPG::UsableItem
  183.  
  184. #==============================================================================
  185. # ■ Game_Action
  186. #==============================================================================
  187.  
  188. class Game_Action
  189.  
  190.   #--------------------------------------------------------------------------
  191.   # new method: set_active_chain_skill
  192.   #--------------------------------------------------------------------------
  193.   def set_active_chain_skill(skill_id)
  194.     set_skill(skill_id)
  195.     @target_index = subject.current_action.target_index
  196.     @active_chain_skill = true
  197.   end
  198.  
  199.   #--------------------------------------------------------------------------
  200.   # alias method: valid?
  201.   #--------------------------------------------------------------------------
  202.   alias game_action_valid_acs valid?
  203.   def valid?
  204.     subject.enable_active_chain(true) if @active_chain_skill
  205.     result = game_action_valid_acs
  206.     subject.enable_active_chain(false) if @active_chain_skill
  207.     return result
  208.   end
  209.  
  210. end # Game_Action
  211.  
  212. #==============================================================================
  213. # ■ Game_BattlerBase
  214. #==============================================================================
  215.  
  216. class Game_BattlerBase
  217.  
  218.   #--------------------------------------------------------------------------
  219.   # alias method: skill_conditions_met?
  220.   #--------------------------------------------------------------------------
  221.   alias game_battlerbase_skill_conditions_met_acs skill_conditions_met?
  222.   def skill_conditions_met?(skill)
  223.     return false if chain_skill_restriction?(skill)
  224.     return game_battlerbase_skill_conditions_met_acs(skill)
  225.   end
  226.  
  227.   #--------------------------------------------------------------------------
  228.   # new method: chain_skill_restriction?
  229.   #--------------------------------------------------------------------------
  230.   def chain_skill_restriction?(skill)
  231.     return false unless actor?
  232.     return false unless $game_party.in_battle
  233.     return false unless skill.chain_only
  234.     return !@active_chain_enabled
  235.   end
  236.  
  237.   #--------------------------------------------------------------------------
  238.   # alias method: hp=
  239.   #--------------------------------------------------------------------------
  240.   alias game_battlerbase_hpequals_acs hp=
  241.   def hp=(value)
  242.     game_battlerbase_hpequals_acs(value)
  243.     return unless SceneManager.scene_is?(Scene_Battle)
  244.     return unless actor?
  245.     return if value == 0
  246.     SceneManager.scene.refresh_active_chain_skill_window(self)
  247.   end
  248.  
  249.   #--------------------------------------------------------------------------
  250.   # alias method: mp=
  251.   #--------------------------------------------------------------------------
  252.   alias game_battlerbase_mpequals_acs mp=
  253.   def mp=(value)
  254.     game_battlerbase_mpequals_acs(value)
  255.     return unless SceneManager.scene_is?(Scene_Battle)
  256.     return unless actor?
  257.     return if value == 0
  258.     SceneManager.scene.refresh_active_chain_skill_window(self)
  259.   end
  260.  
  261.   #--------------------------------------------------------------------------
  262.   # alias method: tp=
  263.   #--------------------------------------------------------------------------
  264.   alias game_battlerbase_tpequals_acs tp=
  265.   def tp=(value)
  266.     game_battlerbase_tpequals_acs(value)
  267.     return unless SceneManager.scene_is?(Scene_Battle)
  268.     return unless actor?
  269.     return if value == 0
  270.     SceneManager.scene.refresh_active_chain_skill_window(self)
  271.   end
  272.  
  273. end # Game_BattlerBase
  274.  
  275. #==============================================================================
  276. # ■ Game_Battler
  277. #==============================================================================
  278.  
  279. class Game_Battler < Game_BattlerBase
  280.  
  281.   #--------------------------------------------------------------------------
  282.   # alias method: on_battle_start
  283.   #--------------------------------------------------------------------------
  284.   alias game_battler_on_battle_start_acs on_battle_start
  285.   def on_battle_start
  286.     game_battler_on_battle_start_acs
  287.     @active_chain_enabled = false
  288.   end
  289.  
  290.   #--------------------------------------------------------------------------
  291.   # alias method: on_battle_end
  292.   #--------------------------------------------------------------------------
  293.   alias game_battler_on_battle_end_acs on_battle_end
  294.   def on_battle_end
  295.     game_battler_on_battle_end_acs
  296.     @active_chain_enabled = false
  297.   end
  298.  
  299.   #--------------------------------------------------------------------------
  300.   # new method: enable_active_chain
  301.   #--------------------------------------------------------------------------
  302.   def enable_active_chain(active)
  303.     return unless actor?
  304.     @active_chain_enabled = active
  305.   end
  306.  
  307.   #--------------------------------------------------------------------------
  308.   # new method: add_active_skill_chain
  309.   #--------------------------------------------------------------------------
  310.   def add_active_skill_chain(skill_id)
  311.     chain_skill = Game_Action.new(self)
  312.     chain_skill.set_active_chain_skill(skill_id)
  313.     @actions.insert(1, chain_skill)
  314.   end
  315.  
  316. end # Game_Battler
  317.  
  318. #==============================================================================
  319. # ■ Window_ChainSkillList
  320. #==============================================================================
  321.  
  322. class Window_ChainSkillList < Window_Base
  323.  
  324.   #--------------------------------------------------------------------------
  325.   # initialize
  326.   #--------------------------------------------------------------------------
  327.   def initialize
  328.     dw = [Graphics.width/2, 320].max
  329.     super(-standard_padding, 0, dw, fitting_height(6))
  330.     self.z = 200
  331.     self.opacity = 0
  332.     hide
  333.   end
  334.  
  335.   #--------------------------------------------------------------------------
  336.   # reveal
  337.   #--------------------------------------------------------------------------
  338.   def reveal(battler, skill)
  339.     @battler = battler
  340.     @skill = skill
  341.     @chain_skills = []
  342.     for key in skill.chain_skill
  343.       next if key[1].nil?
  344.       next if $data_skills[key[1]].nil?
  345.       next unless @battler.skills.include?($data_skills[key[1]])
  346.       @chain_skills.push($data_skills[key[1]])
  347.     end
  348.     return if @chain_skills == []
  349.     self.y = Graphics.height - fitting_height(4)
  350.     self.y -= fitting_height(@chain_skills.size + 1)
  351.     show
  352.     activate
  353.     @enabled = true
  354.     refresh
  355.   end
  356.  
  357.   #--------------------------------------------------------------------------
  358.   # button=
  359.   #--------------------------------------------------------------------------
  360.   def button=(button)
  361.     @button = button
  362.     @enabled = false
  363.     refresh unless @button.nil?
  364.   end
  365.  
  366.   #--------------------------------------------------------------------------
  367.   # refresh_check
  368.   #--------------------------------------------------------------------------
  369.   def refresh_check(battler)
  370.     return if @battler != battler
  371.     refresh
  372.   end
  373.  
  374.   #--------------------------------------------------------------------------
  375.   # refresh
  376.   #--------------------------------------------------------------------------
  377.   def refresh
  378.     @button = nil if @enabled
  379.     contents.clear
  380.     draw_background_colour
  381.     draw_horz_line(0)
  382.     draw_combo_title
  383.     draw_chain_skills
  384.   end
  385.  
  386.   #--------------------------------------------------------------------------
  387.   # draw_background_colour
  388.   #--------------------------------------------------------------------------
  389.   def draw_background_colour
  390.     dh = line_height * (@chain_skills.size + 1)
  391.     rect = Rect.new(0, 0, contents.width, dh)
  392.     back_colour1 = Color.new(0, 0, 0, 192)
  393.     back_colour2 = Color.new(0, 0, 0, 0)
  394.     contents.gradient_fill_rect(rect, back_colour1, back_colour2)
  395.   end
  396.  
  397.   #--------------------------------------------------------------------------
  398.   # draw_horz_line
  399.   #--------------------------------------------------------------------------
  400.   def draw_horz_line(dy)
  401.     line_y = dy + line_height - 2
  402.     line_colour = normal_color
  403.     line_colour.alpha = 48
  404.     contents.fill_rect(0, line_y, contents.width, 2, line_colour)
  405.   end
  406.  
  407.   #--------------------------------------------------------------------------
  408.   # draw_combo_title
  409.   #--------------------------------------------------------------------------
  410.   def draw_combo_title
  411.     reset_font_settings
  412.     text = YEA::ACTIVE_CHAIN::CHAIN_TITLE
  413.     contents.font.size = YEA::ACTIVE_CHAIN::TITLE_SIZE
  414.     contents.font.bold = true
  415.     contents.font.italic = true
  416.     draw_text(12, 0, contents.width - 12, line_height, text)
  417.     reset_font_settings
  418.   end
  419.  
  420.   #--------------------------------------------------------------------------
  421.   # draw_chain_skills
  422.   #--------------------------------------------------------------------------
  423.   def draw_chain_skills
  424.     button_array = [:L, :R, :X, :Y, :Z]
  425.     dx = 24
  426.     dy = line_height
  427.     for button in button_array
  428.       next if @skill.chain_skill[button].nil?
  429.       chain_skill = $data_skills[@skill.chain_skill[button]]
  430.       next unless @battler.skills.include?(chain_skill)
  431.       text = text_setting(button, chain_skill)
  432.       text += sprintf("\eI[%d]", chain_skill.icon_index)
  433.       text += chain_skill.name
  434.       draw_text_ex(dx, dy, text)
  435.       dy += line_height
  436.     end
  437.   end
  438.  
  439.   #--------------------------------------------------------------------------
  440.   # text_setting
  441.   #--------------------------------------------------------------------------
  442.   def text_setting(button, skill)
  443.     active = button == @button
  444.     text = ""
  445.     case button
  446.     when :L
  447.       if @enabled && @battler.usable?(skill)
  448.         text = YEA::ACTIVE_CHAIN::L_SKILL_ON
  449.       elsif !@enabled && active
  450.         text = YEA::ACTIVE_CHAIN::L_SKILL_ACT
  451.       else
  452.         text = YEA::ACTIVE_CHAIN::L_SKILL_OFF
  453.       end
  454.     when :R
  455.       if @enabled && @battler.usable?(skill)
  456.         text = YEA::ACTIVE_CHAIN::R_SKILL_ON
  457.       elsif !@enabled && active
  458.         text = YEA::ACTIVE_CHAIN::R_SKILL_ACT
  459.       else
  460.         text = YEA::ACTIVE_CHAIN::R_SKILL_OFF
  461.       end
  462.     when :X
  463.       if @enabled && @battler.usable?(skill)
  464.         text = YEA::ACTIVE_CHAIN::X_SKILL_ON
  465.       elsif !@enabled && active
  466.         text = YEA::ACTIVE_CHAIN::X_SKILL_ACT
  467.       else
  468.         text = YEA::ACTIVE_CHAIN::X_SKILL_OFF
  469.       end
  470.     when :Y
  471.       if @enabled && @battler.usable?(skill)
  472.         text = YEA::ACTIVE_CHAIN::Y_SKILL_ON
  473.       elsif !@enabled && active
  474.         text = YEA::ACTIVE_CHAIN::Y_SKILL_ACT
  475.       else
  476.         text = YEA::ACTIVE_CHAIN::Y_SKILL_OFF
  477.       end
  478.     when :Z
  479.       if @enabled && @battler.usable?(skill)
  480.         text = YEA::ACTIVE_CHAIN::Z_SKILL_ON
  481.       elsif !@enabled && active
  482.         text = YEA::ACTIVE_CHAIN::Z_SKILL_ACT
  483.       else
  484.         text = YEA::ACTIVE_CHAIN::Z_SKILL_OFF
  485.       end
  486.     end
  487.     return text
  488.   end
  489.  
  490. end # Window_ChainSkillList
  491.  
  492. #==============================================================================
  493. # ■ Scene_Battle
  494. #==============================================================================
  495.  
  496. class Scene_Battle < Scene_Base
  497.  
  498.   #--------------------------------------------------------------------------
  499.   # alias method: create_all_windows
  500.   #--------------------------------------------------------------------------
  501.   alias scene_battle_create_all_windows_acs create_all_windows
  502.   def create_all_windows
  503.     scene_battle_create_all_windows_acs
  504.     create_chain_skill_window
  505.   end
  506.  
  507.   #--------------------------------------------------------------------------
  508.   # new method: create_chain_skill_window
  509.   #--------------------------------------------------------------------------
  510.   def create_chain_skill_window
  511.     @active_chain_skill_window = Window_ChainSkillList.new
  512.     @active_chain_skill_counter = 0
  513.   end
  514.  
  515.   #--------------------------------------------------------------------------
  516.   # alias method: use_item
  517.   #--------------------------------------------------------------------------
  518.   alias scene_battle_use_item_acs use_item
  519.   def use_item
  520.     @subject.enable_active_chain(true)
  521.     item = @subject.current_action.item
  522.     chain_skill_list_appear(true, item)
  523.     start_active_skill_counter(item)
  524.     scene_battle_use_item_acs
  525.     wait_active_skill_counter
  526.     chain_skill_list_appear(false, item)
  527.     @subject.enable_active_chain(false)
  528.   end
  529.  
  530.   #--------------------------------------------------------------------------
  531.   # new method: chain_skill_list_appear
  532.   #--------------------------------------------------------------------------
  533.   def chain_skill_list_appear(visible, skill)
  534.     return if @subject.nil?
  535.     return unless @subject.actor?
  536.     return unless skill.is_a?(RPG::Skill)
  537.     @active_chain_skill = 0
  538.     @current_chain_skill = skill
  539.     @active_chain_skill_window.reveal(@subject, skill) if visible
  540.     @active_chain_skill_window.hide unless visible
  541.   end
  542.  
  543.   #--------------------------------------------------------------------------
  544.   # new method: refresh_active_chain_skill_window
  545.   #--------------------------------------------------------------------------
  546.   def refresh_active_chain_skill_window(battler)
  547.     return unless @active_chain_skill_window.visible
  548.     @active_chain_skill_window.refresh_check(battler)
  549.   end
  550.  
  551.   #--------------------------------------------------------------------------
  552.   # new method: start_active_skill_counter
  553.   #--------------------------------------------------------------------------
  554.   def start_active_skill_counter(skill)
  555.     return unless @active_chain_skill_window.visible
  556.     @active_chain_skill_counter = YEA::ACTIVE_CHAIN::MINIMUM_TIME
  557.   end
  558.  
  559.   #--------------------------------------------------------------------------
  560.   # new method: wait_active_skill_counter
  561.   #--------------------------------------------------------------------------
  562.   def wait_active_skill_counter
  563.     return unless @active_chain_skill_window.visible
  564.     wait(@active_chain_skill_counter)
  565.   end
  566.  
  567.   #--------------------------------------------------------------------------
  568.   # new method: update_active_chain_skill_counter
  569.   #--------------------------------------------------------------------------
  570.   def update_active_chain_skill_counter
  571.     return if @active_chain_skill_counter == 0
  572.     @active_chain_skill_counter -= 1
  573.   end
  574.  
  575.   #--------------------------------------------------------------------------
  576.   # alias method: update_basic
  577.   #--------------------------------------------------------------------------
  578.   alias scene_battle_update_basic_acs update_basic
  579.   def update_basic
  580.     scene_battle_update_basic_acs
  581.     update_active_chain_skill_counter
  582.     update_active_chain_skill_select
  583.   end
  584.  
  585.   #--------------------------------------------------------------------------
  586.   # new method: update_active_chain_skill_select
  587.   #--------------------------------------------------------------------------
  588.   def update_active_chain_skill_select
  589.     return unless @active_chain_skill_window.visible
  590.     return if @active_chain_skill > 0
  591.     if Input.press?(:L)
  592.       check_active_chain_skill(:L)
  593.     elsif Input.press?(:R)
  594.       check_active_chain_skill(:R)
  595.     elsif Input.press?(:X)
  596.       check_active_chain_skill(:X)
  597.     elsif Input.press?(:Y)
  598.       check_active_chain_skill(:Y)
  599.     elsif Input.press?(:Z)
  600.       check_active_chain_skill(:Z)
  601.     end
  602.   end
  603.  
  604.   #--------------------------------------------------------------------------
  605.   # new method: check_active_chain_skill
  606.   #--------------------------------------------------------------------------
  607.   def check_active_chain_skill(button)
  608.     skill_id = @current_chain_skill.chain_skill[button]
  609.     return if skill_id.nil?
  610.     return if $data_skills[skill_id].nil?
  611.     chain_skill = $data_skills[skill_id]
  612.     return unless @subject.usable?(chain_skill)
  613.     return unless @subject.skills.include?(chain_skill)
  614.     @active_chain_skill_counter = 12
  615.     @active_chain_skill = skill_id
  616.     @active_chain_skill_window.button = button
  617.     YEA::ACTIVE_CHAIN::ACTIVE_SKILL_SOUND.play
  618.     @subject.add_active_skill_chain(skill_id)
  619.   end
  620.  
  621. end # Scene_Battle
  622.  
  623. #==============================================================================
  624. #
  625. # ▼ End of File
  626. #
  627. #==============================================================================

作者: ushiromiya    时间: 2012-5-29 20:15
支持一下,意思是可以像格斗游戏一样按出招式?
作者: FrozenDen    时间: 2012-5-30 18:45
例如你把技能分成單體強攻,全體攻擊,或是狀態弱化。
或是技能有不同的附加屬性,例如技能A 有[上] [ 中] [下] 3 個版本
當全部都放在技能列  就會很多= =
透過連技系統,你可以放技能[A連技],再選上中下
作者: ushiromiya    时间: 2012-6-2 12:28
FrozenDen 发表于 2012-5-30 18:45
例如你把技能分成單體強攻,全體攻擊,或是狀態弱化。
或是技能有不同的附加屬性,例如技能A 有[上] [ 中]  ...

好像复制不了啊,怎么办?


‘‘──ushiromiya于2012-6-2 23:52补充以下内容:

点了没反应

’’
作者: hanying1703    时间: 2013-2-22 21:31
可不可以做那种有人拉住了你 然后要求连击的QTE 要求连按25下以上的
作者: 小小⑨    时间: 2013-3-9 20:57
hanying1703 发表于 2013-2-22 21:31
可不可以做那种有人拉住了你 然后要求连击的QTE 要求连按25下以上的

同问,一直不知道,也找不到方法




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1