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

Project1

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

[已经解决] 请帮忙看个脚本……

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2010-6-29
帖子
30
跳转到指定楼层
1
发表于 2014-2-25 22:05:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Sion 于 2014-2-25 22:13 编辑

在使用防御之后读条就会变得很慢,本人只懂一点点脚本,注释的西班牙语又看不懂……
求助关于防御的AT是如何设定的啊……
RUBY 代码复制
  1. if true
  2. #==============================================================================
  3. # +++ MOG - ATB System  (v 1.0) +++
  4. #==============================================================================
  5. # By Moghunter
  6. # [url]http://www.atelier-rgss.com/[/url]
  7. #==============================================================================
  8. # Sistema de batalha de turnos em tempo real.
  9. #==============================================================================
  10.  
  11. #==============================================================================
  12. # ● AT SYSTEM
  13. #==============================================================================
  14. # A velocidade de AT é baseaddo na agilidade do Battler.
  15. # Em caso de batalhas preventivas (Preemptive) os aliados começarão com AT em
  16. # 80% e os inimigos começarão com AT em 0 (Zero)
  17. # Em batalhas surpresas (Surprise) é o inverso das batalhas preventivas.
  18. # Em batalhas normais todos os battlers começarão com AT em 40%.
  19. #==============================================================================
  20. # ● CAST TIME
  21. #==============================================================================
  22. # Para definir uma habilidade ou item com a função de Cast Time basta definir
  23. # o valor da velocidade (Speed) diferente de 0 (Zero).
  24. #
  25. # NOTA - Não é possível ativar 2 ou mais habilidades com a função Cast Time no
  26. # mesmo turno. (Caso você esteja usando características de Multi Action em
  27. # seu projeto.)
  28. #==============================================================================
  29. module MOG_AT_SYSTEM
  30.   #Som quando o sistema AT estiver no maximo
  31.   SE_ACTIVE = "Decision2"
  32.   #Definição do valor de AT para ativar a ação.(Gauge Meter).
  33.   AT_GAUGE_METER = 5000
  34.   # Definição do tipo de duração (Contagem/formula) de um turno.
  35.   # Essa definição influência na ativação dos eventos de batalha.
  36.   # (BATTLE EVENTS)
  37.   #
  38.   # 0 - Duração de um turno é um valor fixo.
  39.   # 1 - Duração de um turno é multiplicado pela quantidade de batllers.
  40.   # 2 - Duração de um turno é baseado na média de agilidade dos battlers.
  41.   #
  42.   TURN_DURATION_TYPE = 1
  43.   # Definição de valor usado para calcular a duração de um turno.
  44.   TURN_DURATION = 60
  45.   # Definição da animação quando o battler usa habilidades de carregamento.
  46.   CAST_ANIMATION = 113
  47.   # Ativar a janela de LOG, deixe desativado se desejar uma batalha mais
  48.   # dinâmica.
  49.   WAIT_LOG_WINDOW = true
  50.   # Ativar a mensagem inicial com os nomes dos inimigos.
  51.   MESSAGE_ENEMY_APPEAR = false
  52.   # Definição da posição da janela de mensagem.
  53.   # 0 - Superior
  54.   # 1 - Centro
  55.   # 2 - Inferior  
  56.   MESSAGE_POSITION = 0
  57.   # Tipo de posicionamento da Hud.
  58.   # 0 - Posição fixa.
  59.   # 1 - Posição baseado no valor X e Y do battler.
  60.   AT_HUD_POSITION_TYPE = 0
  61.   #Posição geral (Inicial) da Hud.
  62.   AT_HUD_POSITION = [25,400]
  63.   #Posição do medidor de AT
  64.   AT_METER_POSITION = [29,1]
  65.   #Definição da posição do espaço da HUD entre os membros do grupo.
  66.   #
  67.   #MEMBERS_SPACE = [Horizontal ,Vertical]
  68.   #
  69.   MEMBERS_SPACE = [136,0]
  70.   #Velocidade de animação do medidor de at, defina 0 se não quiser a animação.
  71.   AT_METER_FLOW_SPEED = 3
  72.   #Prioridade da Hud.
  73.   BATTLE_HUD_Z = 0   
  74. end
  75.  
  76. $imported = {} if $imported.nil?
  77. $imported[:mog_atb_system] = true
  78.  
  79. #==============================================================================
  80. # ■ Game_System
  81. #==============================================================================
  82. class Game_System
  83.  
  84.   attr_accessor :at_max
  85.  
  86.   #--------------------------------------------------------------------------
  87.   # ● Initialize
  88.   #--------------------------------------------------------------------------         
  89.   alias mog_at_system_initialize initialize
  90.   def initialize
  91.       @at_max = [[MOG_AT_SYSTEM::AT_GAUGE_METER, 999999].min, 100].max
  92.       mog_at_system_initialize
  93.   end
  94.  
  95. end
  96.  
  97. #==============================================================================
  98. # ■ BattleManager
  99. #==============================================================================
  100. module BattleManager
  101.  
  102.   #--------------------------------------------------------------------------
  103.   # ● Battle Start
  104.   #--------------------------------------------------------------------------  
  105.   def self.battle_start
  106.       $game_system.battle_count += 1
  107.       $game_party.on_battle_start
  108.       $game_troop.on_battle_start
  109.       if MOG_AT_SYSTEM::MESSAGE_ENEMY_APPEAR
  110.          $game_troop.enemy_names.each do |name|
  111.          $game_message.add(sprintf(Vocab::Emerge, name))
  112.          end
  113.       end
  114.       if @preemptive
  115.          $game_message.add(sprintf(Vocab::Preemptive, $game_party.name))
  116.       elsif @surprise
  117.          $game_message.add(sprintf(Vocab::Surprise, $game_party.name))
  118.       end
  119.       wait_for_message
  120.   end
  121.  
  122.   #--------------------------------------------------------------------------
  123.   # ● Input Start
  124.   #--------------------------------------------------------------------------
  125.   def self.input_start_at(battler)
  126.       if @phase != :input
  127.          @phase = :input
  128.          battler.make_actions
  129.          clear_actor
  130.       end
  131.       return !@surprise && battler.inputable?
  132.   end
  133.  
  134.   #--------------------------------------------------------------------------
  135.   # ● Turn Start
  136.   #--------------------------------------------------------------------------
  137.   def self.turn_start
  138.       @phase = :turn
  139.       clear_actor
  140.       make_action_orders
  141.   end  
  142.  
  143.   #--------------------------------------------------------------------------
  144.   # ● Preemtive Attack
  145.   #--------------------------------------------------------------------------  
  146.   def self.preemptive_attack
  147.       @preemptive
  148.   end  
  149.  
  150.   #--------------------------------------------------------------------------
  151.   # ● Suprise Attack
  152.   #--------------------------------------------------------------------------   
  153.   def self.surprise_attack
  154.       @surprise
  155.   end   
  156.  
  157. end  
  158.  
  159. #==============================================================================
  160. # ■ Game Action
  161. #==============================================================================
  162. class Game_Action  
  163.  
  164.   #--------------------------------------------------------------------------
  165.   # ● Prepare
  166.   #--------------------------------------------------------------------------            
  167.   alias mog_at_system_prepare prepare
  168.   def prepare
  169.       mog_at_system_prepare
  170.       set_cast_action
  171.   end
  172.  
  173.   #--------------------------------------------------------------------------
  174.   # ● Set Cast Action
  175.   #--------------------------------------------------------------------------               
  176.   def set_cast_action
  177.       return if forcing
  178.       if @item.object != nil and @item.object.speed != 0 and @subject.at_cast.empty?
  179.          @subject.at_cast = [@item.object,@item.object.speed.abs,@target_index]
  180.          @item.object = nil
  181.          @subject.animation_id = MOG_AT_SYSTEM::CAST_ANIMATION
  182.          @subject.at = 0
  183.          BattleManager.turn_end if @subject.auto_battle?
  184.       elsif !@subject.at_cast.empty?
  185.          if @subject.at_cast[1] == 0
  186.             @item.object = @subject.at_cast[0]
  187.             @target_index = @subject.at_cast[2]            
  188.             @subject.at_cast.clear
  189.          else   
  190.             @item.object = nil
  191.          end
  192.       end  
  193.   end  
  194.  
  195. end
  196.  
  197.  
  198. #==============================================================================
  199. # ■ Game Battler Base
  200. #==============================================================================
  201. class Game_BattlerBase  
  202.  
  203.   #--------------------------------------------------------------------------
  204.   # ● Inputable?
  205.   #--------------------------------------------------------------------------            
  206.   def inputable?
  207.       normal? && !auto_battle? && self.at == $game_system.at_max
  208.   end
  209.  
  210. end
  211.  
  212. #==============================================================================
  213. # ■ Game_Battler
  214. #==============================================================================
  215. class Game_Battler < Game_BattlerBase
  216.  
  217.    attr_accessor :at
  218.    attr_accessor :at_cast
  219.    attr_accessor :at_turn_duration
  220.    attr_accessor :at_action
  221.  
  222.   #--------------------------------------------------------------------------
  223.   # ● Initialize
  224.   #--------------------------------------------------------------------------      
  225.    alias mog_at_system_initialize initialize
  226.    def initialize
  227.        mog_at_system_initialize
  228.        @at = 0
  229.        @at_cast = []
  230.        @at_cast_selectable = true
  231.        @at_turn_duration = 0
  232.        @at_action = nil
  233.    end
  234.  
  235.   #--------------------------------------------------------------------------
  236.   # ● At
  237.   #--------------------------------------------------------------------------         
  238.    def at
  239.        n = at_active? ? $game_system.at_max : 0
  240.        return [[@at, n].min, 0].max
  241.    end  
  242.  
  243.   #--------------------------------------------------------------------------
  244.   # ● At Active
  245.   #--------------------------------------------------------------------------            
  246.    def at_active?
  247.        return false if restriction >= 4
  248.        return false if self.hp == 0
  249.        return true
  250.    end  
  251.  
  252.   #--------------------------------------------------------------------------
  253.   # ● Added New State
  254.   #--------------------------------------------------------------------------  
  255.   alias mog_at_system_add_new_state add_new_state
  256.   def add_new_state(state_id)
  257.       mog_at_system_add_new_state(state_id)
  258.       if restriction >= 4
  259.          self.at_cast.clear
  260.          self.at = 0
  261.       end   
  262.   end   
  263.  
  264.   #--------------------------------------------------------------------------
  265.   # ● can AT?
  266.   #--------------------------------------------------------------------------   
  267.   def can_upd_at?
  268.       return false if restriction >= 4
  269.       return false if self.hp == 0
  270.       return false if !self.at_cast.empty?
  271.       return false if self.at_action != nil
  272.       return true
  273.   end
  274.  
  275. end
  276.  
  277. #==============================================================================
  278. # ■ Game Enemy
  279. #==============================================================================
  280. class Game_Enemy < Game_Battler
  281.  
  282.   #--------------------------------------------------------------------------
  283.   # ● Tranform
  284.   #--------------------------------------------------------------------------  
  285.    alias mog_at_system_transform transform
  286.    def transform(enemy_id)
  287.        mog_at_system_transform(enemy_id)
  288.        self.at = 0
  289.        self.at_cast.clear
  290.    end
  291. end   
  292.  
  293. if !MOG_AT_SYSTEM::WAIT_LOG_WINDOW
  294. #==============================================================================
  295. # ■ BattleManager
  296. #==============================================================================
  297. class Window_BattleLog < Window_Selectable
  298.  
  299.   #--------------------------------------------------------------------------
  300.   # ● Refresh
  301.   #--------------------------------------------------------------------------   
  302.   def refresh
  303.   end  
  304.  
  305.   #--------------------------------------------------------------------------
  306.   # ● Message Speed
  307.   #--------------------------------------------------------------------------   
  308.   def message_speed
  309.       return 5
  310.   end
  311.  
  312. end
  313. end
  314.  
  315. #==============================================================================
  316. # ■ Scene Battle
  317. #==============================================================================
  318. class Scene_Battle < Scene_Base
  319.   include MOG_AT_SYSTEM
  320.  
  321.   #--------------------------------------------------------------------------
  322.   # ● AT Wait
  323.   #--------------------------------------------------------------------------         
  324.   alias mog_at_system_start start
  325.   def start
  326.       reset_at_parameter  
  327.       mog_at_system_start
  328.   end  
  329.  
  330.   #--------------------------------------------------------------------------
  331.   # ● Battle Start
  332.   #--------------------------------------------------------------------------
  333.   def battle_start
  334.       BattleManager.battle_start
  335.       process_event
  336.       set_turn_duration
  337.   end
  338.  
  339.   #--------------------------------------------------------------------------
  340.   # ● Reset AT Parameter
  341.   #--------------------------------------------------------------------------  
  342.   def reset_at_parameter
  343.       return if @at_phase != nil
  344.       @at_phase = 0
  345.       n_at = $game_system.at_max * 40 / 100
  346.       p_at = $game_system.at_max * 90 / 100
  347.       s_at = 0
  348.       all_battle_members.each do |battler|
  349.           if BattleManager.preemptive_attack
  350.              battler.at = p_at if battler.is_a?(Game_Actor)
  351.              battler.at = s_at if battler.is_a?(Game_Enemy)
  352.           elsif BattleManager.surprise_attack   
  353.              battler.at = p_at if battler.is_a?(Game_Enemy)
  354.              battler.at = s_at if battler.is_a?(Game_Actor)
  355.           else   
  356.              battler.at = n_at
  357.           end
  358.           if battler.at >= $game_system.at_max
  359.              battler.at = $game_system.at_max - 1
  360.           end
  361.           battler.at = 0 if battler.at < 0  
  362.           battler.at_cast.clear
  363.         end
  364.   end
  365.  
  366.   #--------------------------------------------------------------------------
  367.   # ● Set Turn Duration
  368.   #--------------------------------------------------------------------------
  369.   def set_turn_duration
  370.       max_battlers = all_battle_members.size > 0 ? all_battle_members.size : 1
  371.       case TURN_DURATION_TYPE
  372.         when 1
  373.            n  = TURN_DURATION * max_battlers
  374.         when 2
  375.            turn_sp = 0
  376.            all_battle_members.each do |battler|
  377.                turn_sp += battler.agi
  378.            end  
  379.            n = TURN_DURATION + (turn_sp / max_battlers)
  380.         else
  381.            n = TURN_DURATION
  382.       end
  383.       turn_time_max = [[n, 9999].min, 120].max
  384.       @turn_duration = [0, turn_time_max]
  385.       if @status_window != nil
  386.          @status_window.open
  387.       end   
  388.   end   
  389.  
  390.   #--------------------------------------------------------------------------
  391.   # ● Turn End
  392.   #--------------------------------------------------------------------------
  393.   def turn_end
  394.       @at_phase = 0
  395.       all_battle_members.each do |battler|
  396.          if battler.at >= $game_system.at_max
  397.             battler.at = 0
  398.             refresh_status
  399.             @log_window.display_auto_affected_status(battler)
  400.             @log_window.wait_and_clear
  401.          end
  402.       end
  403.       BattleManager.turn_end
  404.   end
  405.  
  406.   #--------------------------------------------------------------------------
  407.   # ● Update Turn Duration
  408.   #--------------------------------------------------------------------------            
  409.   def update_turn_duration
  410.       return if @turn_duration == nil or @turn_duration[0] == nil
  411.       @turn_duration[0] += 1
  412.       if @turn_duration[0] >= @turn_duration[1]
  413.          @turn_duration[0] = 0
  414.          $game_troop.increase_turn
  415.          process_event
  416.          check_states_effect_turn
  417.       end  
  418.   end
  419.  
  420.   #--------------------------------------------------------------------------
  421.   # ● Check States Effect Turn
  422.   #--------------------------------------------------------------------------               
  423.   def check_states_effect_turn
  424.       all_battle_members.each do |battler|  
  425.           battler.on_turn_end if battler.restriction >= 4
  426.       end  
  427.   end  
  428.  
  429.   #--------------------------------------------------------------------------
  430.   # ● Update AT System
  431.   #--------------------------------------------------------------------------           
  432.   def update_at_system      
  433.       reset_at_parameter if @at_phase == nil
  434.       set_turn_duration if @turn_duration == nil
  435.       return if !can_update_at?
  436.       update_turn_duration
  437.       all_battle_members.each do |battler|
  438.           update_battler_turn_duration(battler)
  439.           if !battler.at_cast.empty?
  440.              battler.at_cast[1] -= 1
  441.              if battler.at_cast[1] <= 0
  442.                 execute_at_cast(battler)
  443.                 break
  444.              end
  445.           else
  446.              battler.at += battler.agi
  447.           end   
  448.           if battler.at >= $game_system.at_max
  449.              battler.on_turn_end
  450.              update_at_actor(battler)
  451.              update_at_enemy(battler)
  452.              battler.current_action.prepare if battler.current_action
  453.              if battler.at_cast.empty?
  454.                 @at_phase = 1
  455.                 turn_start if battler.is_a?(Game_Enemy)
  456.              end            
  457.              break
  458.           end   
  459.       end  
  460.   end
  461.  
  462.   #--------------------------------------------------------------------------
  463.   # ● Update Battler Turn Duration
  464.   #--------------------------------------------------------------------------            
  465.   def update_battler_turn_duration(battler)
  466.       if battler.restriction >= 4
  467.          battler.at_turn_duration += 1
  468.          if battler.at_turn_duration >= $game_system.at_max
  469.             battler.on_turn_end
  470.             battler.at_turn_duration = 0
  471.          end   
  472.       else   
  473.          battler.at_turn_duration = 0
  474.       end  
  475.   end  
  476.  
  477.   #--------------------------------------------------------------------------
  478.   # ● Execute AT CAST
  479.   #--------------------------------------------------------------------------            
  480.   def execute_at_cast(battler)
  481.       @subject = battler
  482.       battler.make_actions  
  483.       turn_start
  484.   end  
  485.  
  486.   #--------------------------------------------------------------------------
  487.   # ● Update AT Actor
  488.   #--------------------------------------------------------------------------            
  489.   def update_at_actor(battler)   
  490.       return if !battler.is_a?(Game_Actor)
  491.       Audio.se_play("Audio/SE/" + SE_ACTIVE,100,100)  
  492.       start_party_command_selection_at(battler)
  493.   end
  494.  
  495.   #--------------------------------------------------------------------------
  496.   # ● Update AT Enemy
  497.   #--------------------------------------------------------------------------            
  498.   def update_at_enemy(battler)   
  499.       return if !battler.is_a?(Game_Enemy)
  500.       battler.make_actions
  501.   end   
  502.  
  503.   #--------------------------------------------------------------------------
  504.   # ● Can Update AT
  505.   #--------------------------------------------------------------------------            
  506.   def can_update_at?
  507.       return false if $game_troop.interpreter.running?
  508.       return false if BattleManager.action_forced?
  509.       return false if @at_phase != 0
  510.       return false if $game_message.visible
  511.       return false if BattleManager.in_turn?
  512.       return true
  513.   end   
  514.  
  515.   #--------------------------------------------------------------------------
  516.   # ● Star Party Command Selection at
  517.   #--------------------------------------------------------------------------
  518.   def start_party_command_selection_at(battler)
  519.       unless scene_changing?
  520.          refresh_status
  521.          @status_window.unselect
  522.          @status_window.open
  523.          if BattleManager.input_start_at(battler)
  524.             @actor_command_window.close
  525.             next_command
  526.          else
  527.            turn_start
  528.          end
  529.       end
  530.   end  
  531.  
  532.   #--------------------------------------------------------------------------
  533.   # ● Update Basic
  534.   #--------------------------------------------------------------------------        
  535.   alias mog_at_system_update_basic update_basic
  536.   def update_basic
  537.       mog_at_system_update_basic
  538.       update_at_system
  539.       update_party_command
  540.       $game_message.position = MESSAGE_POSITION
  541.   end
  542.  
  543.   #--------------------------------------------------------------------------
  544.   # ● Update Party Command
  545.   #--------------------------------------------------------------------------      
  546.   def update_party_command
  547.       return if !@party_command_window.active
  548.       return if !@actor_command_window.visible
  549.       return if $game_message.visible
  550.       if Input.trigger?(:B)
  551.          next_command
  552.          Sound.play_cancel
  553.          @party_command_window.active = false
  554.       end  
  555.   end
  556.  
  557. end
  558.  
  559. unless $imported[:mog_battle_hud_ex]
  560.  
  561. #==============================================================================
  562. # ■ Game Temp
  563. #==============================================================================
  564. class Game_Temp
  565.  
  566.   attr_accessor :cache_at_meter
  567.  
  568.   #--------------------------------------------------------------------------
  569.   # ● Initialize
  570.   #--------------------------------------------------------------------------      
  571.   alias mog_at_meter_initialize initialize
  572.   def initialize
  573.       mog_at_meter_initialize
  574.       cache_atmeter
  575.   end
  576.  
  577.   #--------------------------------------------------------------------------
  578.   # ● Cache ATmeter
  579.   #--------------------------------------------------------------------------      
  580.   def cache_atmeter
  581.       @cache_at_meter = []
  582.       @cache_at_meter.push(Cache.system("Battle_AT_Meter"))
  583.       @cache_at_meter.push(Cache.system("Battle_AT_Layout"))
  584.   end
  585.  
  586. end
  587.  
  588. #==============================================================================
  589. # ■ AT Meter
  590. #==============================================================================
  591. class AT_Meter
  592.  
  593.   include MOG_AT_SYSTEM
  594.  
  595.   #--------------------------------------------------------------------------
  596.   # ● Initialize
  597.   #--------------------------------------------------------------------------   
  598.   def initialize(actor)
  599.       [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  600.       @flow_speed = 0
  601.       if AT_HUD_POSITION_TYPE == 1 and @actor.use_sprite?
  602.          @x = AT_HUD_POSITION[0] +  @actor.screen_x rescue 0
  603.          @y = AT_HUD_POSITION[1] +  @actor.screnn_y rescue 0
  604.       else   
  605.          @x = AT_HUD_POSITION[0] + (MEMBERS_SPACE[0] * @actor.index)
  606.          @y = AT_HUD_POSITION[1] + (MEMBERS_SPACE[1] * @actor.index)        
  607.       end
  608.       pre_cache
  609.       create_layout
  610.       create_at_meter
  611.   end
  612.  
  613.   #--------------------------------------------------------------------------
  614.   # ● Pre Cache
  615.   #--------------------------------------------------------------------------      
  616.   def pre_cache
  617.       [url=home.php?mod=space&uid=1330256]@meter[/url] = $game_temp.cache_at_meter[0]
  618.       @meter_cw = @meter.width / 3
  619.       @meter_ch = @meter.height / 3
  620.   end
  621.  
  622.   #--------------------------------------------------------------------------
  623.   # ● Create Layout
  624.   #--------------------------------------------------------------------------      
  625.   def create_layout
  626.       @layout = Sprite.new
  627.       @layout.bitmap = $game_temp.cache_at_meter[1]
  628.       @layout.z = BATTLE_HUD_Z
  629.       @layout.x = @x
  630.       @layout.y = @y
  631.   end
  632.  
  633.   #--------------------------------------------------------------------------
  634.   # ● Create AT Meter
  635.   #--------------------------------------------------------------------------      
  636.   def create_at_meter
  637.       @at_meter = Sprite.new
  638.       @at_meter.bitmap = Bitmap.new(@meter_cw,@meter_ch)
  639.       @at_meter.z =  BATTLE_HUD_Z + 50
  640.       @at_meter.x = @x + AT_METER_POSITION[0]
  641.       @at_meter.y = @y + AT_METER_POSITION[1]
  642.       @at_flow = rand(@meter_cw * 2)
  643.       at_flow_update
  644.   end  
  645.  
  646.   #--------------------------------------------------------------------------
  647.   # ● Dispose
  648.   #--------------------------------------------------------------------------   
  649.   def dispose
  650.       return if @layout == nil
  651.       @layout.dispose
  652.       @layout = nil
  653.       @at_meter.bitmap.dispose
  654.       @at_meter.dispose
  655.   end  
  656.  
  657.   #--------------------------------------------------------------------------
  658.   # ● Update
  659.   #--------------------------------------------------------------------------  
  660.   def update
  661.       return if @layout == nil
  662.       at_position
  663.       @flow_speed += 1
  664.       if @flow_speed >= AT_METER_FLOW_SPEED
  665.          @flow_speed = 0
  666.          at_flow_update
  667.       end
  668.   end
  669.  
  670.   #--------------------------------------------------------------------------
  671.   # ● Update
  672.   #--------------------------------------------------------------------------   
  673.   def at_position
  674.       return unless AT_HUD_POSITION_TYPE == 1 and @actor.use_sprite?
  675.       @x = AT_HUD_POSITION[0] +  @actor.screen_x rescue 0
  676.       @y = AT_HUD_POSITION[1] +  @actor.screnn_y rescue 0
  677.       @layout.x = @x
  678.       @layout.y = @y
  679.       @at_meter.x = @x + AT_METER_POSITION[0]
  680.       @at_meter.y = @y + AT_METER_POSITION[1]
  681.   end
  682.  
  683.   #--------------------------------------------------------------------------
  684.   # ● AT Flow Update
  685.   #--------------------------------------------------------------------------
  686.   def at_flow_update
  687.       @at_meter.bitmap.clear
  688.       if !@actor.at_cast.empty?
  689.          max_cast = @actor.at_cast[0].speed.abs != 0 ? @actor.at_cast[0].speed.abs : 1
  690.          at_width = @meter_cw * @actor.at_cast[1] / max_cast
  691.          ch = @meter_ch * 2
  692.       else
  693.          at_width = @meter_cw * @actor.at / $game_system.at_max
  694.          ch = @actor.at < $game_system.at_max ? 0 : @meter_ch
  695.       end  
  696.       src_rect = Rect.new(@at_flow, ch,at_width, @meter_ch)
  697.       @at_meter.bitmap.blt(0,0, @meter, src_rect)
  698.       @at_flow += AT_METER_FLOW_SPEED
  699.       @at_flow = 0 if @at_flow >=  @meter_cw * 2      
  700.   end   
  701.  
  702. end  
  703.  
  704. #==============================================================================
  705. # ■ Spriteset Battle
  706. #==============================================================================
  707. class Spriteset_Battle
  708.  
  709.   #--------------------------------------------------------------------------
  710.   # ● Initialize
  711.   #--------------------------------------------------------------------------           
  712.   alias mog_at_system_initialize initialize
  713.   def initialize
  714.       mog_at_system_initialize
  715.       create_at_meter
  716.   end  
  717.  
  718.   #--------------------------------------------------------------------------
  719.   # ● Create AT Meter
  720.   #--------------------------------------------------------------------------            
  721.   def create_at_meter     
  722.       @at_meter = []
  723.       for i in $game_party.battle_members
  724.           @at_meter.push(AT_Meter.new(i))
  725.       end      
  726.   end  
  727.  
  728.   #--------------------------------------------------------------------------
  729.   # ● Dispose
  730.   #--------------------------------------------------------------------------      
  731.   alias mog_at_system_dispose dispose
  732.   def dispose
  733.       mog_at_system_dispose
  734.       dispose_at_meter
  735.   end
  736.  
  737.   #--------------------------------------------------------------------------
  738.   # ● Dispose AT Meter
  739.   #--------------------------------------------------------------------------        
  740.   def dispose_at_meter
  741.       return if @at_meter == nil
  742.       @at_meter.each {|sprite| sprite.dispose }
  743.       @at_meter = nil
  744.   end  
  745.  
  746.   #--------------------------------------------------------------------------
  747.   # ● Update
  748.   #--------------------------------------------------------------------------        
  749.   alias mog_at_system_update update
  750.   def update
  751.       mog_at_system_update
  752.       update_at_meter
  753.   end  
  754.  
  755.   #--------------------------------------------------------------------------
  756.   # ● Update AT Meter
  757.   #--------------------------------------------------------------------------         
  758.   def update_at_meter
  759.       return if @at_meter == nil
  760.       @at_meter.each {|sprite| sprite.update }
  761.   end  
  762.  
  763. end
  764.  
  765. end
  766.  
  767. end

Lv1.梦旅人

梦石
0
星屑
50
在线时间
444 小时
注册时间
2011-1-3
帖子
151

开拓者

2
发表于 2014-2-26 11:10:27 | 只看该作者
本帖最后由 漫漫人生路 于 2014-2-26 11:16 编辑

请将技能库里2号技能 防御 的速度修正值为0,或者按需求增大。其他技能出现这种缓慢情况的也请修改速度修正。
具体脚本在该脚本的 178行到188行,应该是这里吧.........

点评

谢谢!  发表于 2014-2-26 12:14

评分

参与人数 1星屑 +132 收起 理由
熊喵酱 + 132 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-16 17:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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