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

Project1

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

[已经过期] 有關MOG Hunter的Ayesha ATB Guage

[复制链接]

Lv1.梦旅人

梦石
0
星屑
180
在线时间
54 小时
注册时间
2012-12-28
帖子
31
跳转到指定楼层
1
发表于 2016-4-23 15:13:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
先上腳本原碼。
  1. #==============================================================================
  2. # +++ MOG - Ayesha AT Gauge (ver 1.9) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # https://atelierrgss.wordpress.com/
  6. #==============================================================================
  7. # Adiciona um medidor animado de AT, incluindo os ícones dos respectivos
  8. # battlers.
  9. #==============================================================================
  10. # Arquivos necessários.
  11. #
  12. # ATB_Layout.png
  13. # ATB_Enemy.png
  14. # ATB_Actor.png
  15. #
  16. # Coloque as imagens na pasta
  17. #
  18. #            /Graphics/Ayesha_ATB/
  19. #
  20. #==============================================================================
  21. # Opcional - Ícones específicos dos battlers.
  22. #==============================================================================
  23. # Nomeie os arquivos das seguinte forma.
  24. #
  25. # Actor_ + ID.png
  26. # Enemy_ + ID.png
  27. #
  28. #==============================================================================
  29. # Compatível com :
  30. #
  31. # - MOG ATB System (v 1.0)
  32. # - Victor's Active Time Battle (1.05)
  33. # - C Winter's Active Time Battle (1.62)
  34. #
  35. #==============================================================================
  36. # Histórico
  37. #==============================================================================
  38. # v1.9 - Correção do requerimento do script MOG ATB.
  39. # v1.8 - Apresentar o ícone da skill na função "Cast Time"
  40. # v1.7 - Refresh da hud ao mudar a posição dos personagens.
  41. # v1.6 - Correção de não apresentar o ícone ao reviver o battler inimigo.
  42. #==============================================================================
  43. $imported = {} if $imported.nil?
  44. $imported[:mog_ayesha_at_gauge] = true

  45. module AYESHA_ATB_GAUGE
  46.   #Definição do tipo de medidor. (Nota - A imagem original deve ser na vertical)
  47.   # 0 - Vertical  /  1 - Horizontal
  48.   GAUGE_TYPE = 0
  49.   #Posição geral do medidor
  50.   LAYOUT_POS = [480,0]
  51.   #Posição do Ícones dos battlers.
  52.   POINT_POS = [2,50]
  53.   #Posição do Ícone quando o battler estiver ativo.
  54.   CENTER_POS = [11,9]
  55.   #Tamanho do medidor. [Altura e largura]
  56.   GAUGE_SIZE = [170,31]
  57.   #Posição Z do sprite.
  58.   SPRITE_Z = 51
  59.   #Definir a posição z do sprite baseado na altura.
  60.   Z_FIX = false
  61.   #Definição da posição dos ícones das skills.
  62.   CHARGE_ICON_POS_FOR_ACTORS = [0,0]
  63.   CHARGE_ICON_POS_FOR_ENEMIES = [0,0]
  64. end

  65. #==============================================================================
  66. # ■ Cache
  67. #==============================================================================
  68. module Cache

  69.   #--------------------------------------------------------------------------
  70.   # * Hud
  71.   #--------------------------------------------------------------------------
  72.   def self.ayesha_atb(filename)
  73.       load_bitmap("Graphics/Ayesha_ATB/", filename)
  74.   end

  75. end

  76. #==============================================================================
  77. # ■ Game BattlerBase
  78. #==============================================================================
  79. class Game_BattlerBase
  80.    attr_accessor :hidden
  81. end

  82. #==============================================================================
  83. # ■ Game Temp
  84. #==============================================================================
  85. class Game_Temp
  86.   attr_accessor :ay_gauge_data
  87.   attr_accessor :battle_end
  88.   
  89.   #--------------------------------------------------------------------------
  90.   # ● Initialize
  91.   #--------------------------------------------------------------------------      
  92.   alias mog_ayesha_gauge_initialize initialize
  93.   def initialize
  94.       @ay_gauge_data = [false,false,[0,0]] ; @battle_end = false
  95.       mog_ayesha_gauge_initialize
  96.   end
  97.   
  98. end

  99. #==============================================================================
  100. # ■ Game System
  101. #==============================================================================
  102. class Game_System
  103.   attr_accessor :ay_gauge_type
  104.   
  105.   #--------------------------------------------------------------------------
  106.   # ● Initialize
  107.   #--------------------------------------------------------------------------      
  108.   alias mog_ayesha_gauge_sys_initialize initialize
  109.   def initialize
  110.       @ay_gauge_type = AYESHA_ATB_GAUGE::GAUGE_TYPE
  111.       mog_ayesha_gauge_sys_initialize
  112.   end  
  113.   
  114. end

  115. #===============================================================================
  116. # ■ Spriteset_Battle
  117. #===============================================================================
  118. class Spriteset_Battle
  119.   include AYESHA_ATB_GAUGE
  120.   #--------------------------------------------------------------------------
  121.   # ● Update Battle Start
  122.   #--------------------------------------------------------------------------        
  123.   alias mog_ayesha_atb_initialize initialize
  124.   def initialize
  125.       mog_ayesha_atb_initialize
  126.       create_ayesha_atb
  127.   end  
  128.   
  129.   #--------------------------------------------------------------------------
  130.   # ● Dispose
  131.   #--------------------------------------------------------------------------  
  132.   alias mog_ayesha_atb_dispose dispose
  133.   def dispose
  134.       dispose_ayesha_atb
  135.       mog_ayesha_atb_dispose      
  136.   end
  137.   
  138.   #--------------------------------------------------------------------------
  139.   # ● Update
  140.   #--------------------------------------------------------------------------         
  141.   alias mog_ayesha_atb_update update
  142.   def update
  143.       mog_ayesha_atb_update
  144.       update_ayesha_atb
  145.   end  

  146.   #--------------------------------------------------------------------------
  147.   # ● Create Ayesha ATB
  148.   #--------------------------------------------------------------------------   
  149.   def create_ayesha_atb
  150.       return if @schala_atb != nil
  151.       view = Z_FIX ? @viewport1 : nil
  152.       @ayesha_atb = Ayesha_ATB_Gauge.new(view)
  153.   end
  154.   
  155.   #--------------------------------------------------------------------------
  156.   # ● Dispose ayesha ATB
  157.   #--------------------------------------------------------------------------   
  158.   def dispose_ayesha_atb
  159.       return if @ayesha_atb == nil
  160.       @ayesha_atb.dispose ; @ayesha_atb = nil
  161.   end
  162.   
  163.   #--------------------------------------------------------------------------
  164.   # ● Update Schala ATB
  165.   #--------------------------------------------------------------------------   
  166.   def update_ayesha_atb
  167.       return if @ayesha_atb == nil      
  168.       @ayesha_atb.update
  169.   end
  170.   
  171. end

  172. #==============================================================================
  173. # ** Game Interpreter
  174. #==============================================================================
  175. class Game_Interpreter
  176.   
  177. #--------------------------------------------------------------------------
  178. # ● Command_129
  179. #--------------------------------------------------------------------------
  180. alias mog_ayesha_gauge_command_129 command_129
  181. def command_129
  182.      mog_ayesha_gauge_command_129
  183.      $game_temp.ay_gauge_data[1] = true if SceneManager.scene_is?(Scene_Battle)
  184. end
  185.   
  186. #--------------------------------------------------------------------------
  187. # ● Command 335
  188. #--------------------------------------------------------------------------
  189. alias mog_ayesha_at_command_335 command_335
  190. def command_335
  191.      mog_ayesha_at_command_335
  192.      $game_temp.ay_gauge_data[1] = true if SceneManager.scene_is?(Scene_Battle)
  193. end

  194. end

  195. #==============================================================================
  196. # ** Game Party
  197. #==============================================================================
  198. class Game_Party < Game_Unit
  199.    
  200. #--------------------------------------------------------------------------
  201. # * Swap Order
  202. #--------------------------------------------------------------------------
  203. alias mog_ayesha_gauge_swap_order swap_order
  204. def swap_order(index1, index2)
  205.       mog_ayesha_gauge_swap_order(index1, index2)
  206.       $game_temp.ay_gauge_data[1] = true if SceneManager.scene_is?(Scene_Battle)
  207. end  
  208.   
  209. end

  210. #==============================================================================
  211. # ■ Ayesha ATB Gauge
  212. #==============================================================================
  213. class Ayesha_ATB_Gauge
  214.   include AYESHA_ATB_GAUGE
  215.   
  216.   #--------------------------------------------------------------------------
  217.   # ● Initialize
  218.   #--------------------------------------------------------------------------            
  219.   def initialize(viewport = nil)
  220.       $game_temp.ay_gauge_data[0] = false ; @faces = [] ; create_sprites(viewport)
  221.   end

  222.   #--------------------------------------------------------------------------
  223.   # ● Create Sprites
  224.   #--------------------------------------------------------------------------            
  225.   def create_sprites(viewport = nil)
  226.       return if $game_party.members.size == 0 or $game_troop.members.size == 0
  227.       @layout = Sprite.new ; @layout.bitmap = Cache.ayesha_atb("ATB_Layout")
  228.       @layout.z = SPRITE_Z ; @layout.opacity = 0 ; @layout.viewport = viewport
  229.       $game_temp.ay_gauge_data[2] = [@layout.bitmap.width, @layout.height]
  230.       @layout.x = LAYOUT_POS[0] + @layout.ox
  231.       @layout.y = LAYOUT_POS[1] + @layout.oy
  232.      (@layout.angle = 270 ; @layout.x += @layout.bitmap.width) if $game_system.ay_gauge_type == 1
  233.       battlers.each do |i| @faces.push(Ayesha_Sprite_Icon.new(viewport,i)) end
  234.   end   
  235.       
  236.   #--------------------------------------------------------------------------
  237.   # ● Initialize
  238.   #--------------------------------------------------------------------------
  239.   def battlers
  240.       return $game_troop.members + $game_party.battle_members
  241.   end
  242.   
  243.   #--------------------------------------------------------------------------
  244.   # ● Dispose
  245.   #--------------------------------------------------------------------------
  246.   def dispose
  247.       @faces.each {|sprite| sprite.dipose_schala_point }
  248.       return if @layout == nil
  249.       @layout.bitmap.dispose ; @layout.dispose ; @layout = nil
  250.   end
  251.   
  252.   #--------------------------------------------------------------------------
  253.   # ● Update
  254.   #--------------------------------------------------------------------------  
  255.   def update
  256.       return if @layout == nil
  257.       @faces.each {|sprite| sprite.update_schala_point }
  258.       @layout.opacity += !sprite_visible? ? - 10 : 10
  259.       @layout.visible = !$game_message.visible
  260.       refresh_ayesha_gauge if $game_temp.ay_gauge_data[1]
  261.   end
  262.   
  263.   #--------------------------------------------------------------------------
  264.   # ● Sprite Visible
  265.   #--------------------------------------------------------------------------              
  266.   def sprite_visible?
  267.       return false if $game_temp.ay_gauge_data[0]
  268.       return false if $game_message.visible
  269.       return false if $game_temp.battle_end
  270.       return true
  271.   end  
  272.   
  273.   #--------------------------------------------------------------------------
  274.   # ● Refresh Ayesha Gauge
  275.   #--------------------------------------------------------------------------   
  276.   def refresh_ayesha_gauge
  277.       $game_temp.ay_gauge_data[1] = false ; dispose ; create_sprites(nil)
  278.   end
  279.   
  280. end

  281. #=============================================================================
  282. # ■ Ayesha Sprite Icon
  283. #==============================================================================
  284. class Ayesha_Sprite_Icon < Sprite
  285.   include AYESHA_ATB_GAUGE
  286.   
  287.   #--------------------------------------------------------------------------
  288.   # ● Initialize
  289.   #--------------------------------------------------------------------------              
  290.   def initialize(viewport = nil,battler)
  291.       super(viewport)
  292.       @target = battler ; @gauge_size = GAUGE_SIZE[0]
  293.       return if @target == nil
  294.       create_bitmap
  295.       self.ox = @cw / 2 ; self.oy = @ch / 2 ; self.x = 0 ; self.y = 0
  296.       self.z = @sz ; self.opacity = 0 ; @pos_y = 0
  297.       @gy = $game_temp.ay_gauge_data[2][0] - self.oy
  298.       if $game_system.ay_gauge_type == 1
  299.          @x2 = self.ox + LAYOUT_POS[0] + POINT_POS[0] - (@gauge_size + 5)
  300.          @y2 = self.oy + LAYOUT_POS[1] + POINT_POS[1] - @gy
  301.          @y2 += GAUGE_SIZE[1] if @target.is_a?(Game_Enemy)      
  302.       else  
  303.          @x2 = self.ox + LAYOUT_POS[0] + POINT_POS[0]
  304.          @y2 = self.oy + LAYOUT_POS[1] + POINT_POS[1] + @gauge_size
  305.          @x2 += GAUGE_SIZE[1] if @target.is_a?(Game_Enemy)
  306.       end
  307.       @x = 0 ; @y = 0 ; @cast_time = [false,0] ; @wait_fade = 2
  308.       @center = [LAYOUT_POS[0] + self.ox + 11,LAYOUT_POS[1] + self.oy + 9]
  309.       catb = ATB::MAX_AP rescue nil ; @ccwinter_atb = true if catb != nil  
  310.       @atb = actor_at ; create_charge
  311.   end

  312.   #--------------------------------------------------------------------------
  313.   # ● Create Charge
  314.   #--------------------------------------------------------------------------              
  315.   def create_charge
  316.       @icon_image = Cache.system("Iconset") ; @charge_cast
  317.       @charge = Sprite.new ; @charge.bitmap = Bitmap.new(24,24)
  318.       @charge_org = CHARGE_ICON_POS_FOR_ACTORS if @target.is_a?(Game_Actor)
  319.       @charge_org = CHARGE_ICON_POS_FOR_ENEMIES if @target.is_a?(Game_Enemy)
  320.       update_charge
  321.   end

  322.   #--------------------------------------------------------------------------
  323.   # ● Update Charge
  324.   #--------------------------------------------------------------------------              
  325.   def update_charge
  326.       @charge.z = self.z ; @charge.x = self.x + @charge_org[0]
  327.       @charge.y = self.y + @charge_org[1]
  328.       @charge.opacity = self.opacity
  329.   end   
  330.   
  331.   #--------------------------------------------------------------------------
  332.   # ● Refresh
  333.   #--------------------------------------------------------------------------              
  334.   def refresh_charge
  335.       @charge_cast = @cast_time[0]
  336.       @charge.bitmap.clear
  337.       if !$imported[:mog_atb_system]
  338.          self.bitmap = Cache.ayesha_atb("Cast") if self.bitmap == nil
  339.       else
  340.         return if @target.atb_cast.empty?
  341.         b_rect = Rect.new(@target.atb_cast[0].icon_index % 16 * 24, @target.atb_cast[0].icon_index / 16 * 24, 24, 24)
  342.         @charge.bitmap.blt(0,0,@icon_image,b_rect)
  343.       end
  344.   end
  345.    
  346.   #--------------------------------------------------------------------------
  347.   # ● Create Bitmap
  348.   #--------------------------------------------------------------------------            
  349.   def create_bitmap      
  350.       @face_index = [0,0] ; @s_bitmap = []
  351.       b_nm = @target.is_a?(Game_Actor) ? "Actor" : "Enemy"
  352.       b_id = @target.is_a?(Game_Actor) ? @target.id : @target.enemy_id
  353.       @s_bitmap.push(Cache.ayesha_atb(b_nm.to_s + "_" + b_id.to_s)) rescue nil
  354.       @s_bitmap.push(Cache.ayesha_atb(b_nm.to_s + "_ATB")) if @s_bitmap[0] == nil rescue nil
  355.       @s_bitmap[0] = Bitmap.new(32,32) if @s_bitmap[0] == nil
  356.       @s_bitmap.push(Cache.ayesha_atb(b_nm.to_s + "_" + b_id.to_s + "B")) rescue nil
  357.       @cw = @s_bitmap[0].width ; @ch = @s_bitmap[0].height ; @sz = SPRITE_Z + 1
  358.       self.bitmap = @s_bitmap[0] ; refresh_bitmap
  359.   end

  360.   #--------------------------------------------------------------------------
  361.   # ● Refresh Bitmap
  362.   #--------------------------------------------------------------------------            
  363.   def refresh_bitmap
  364.       @face_index[1] = @face_index[0] ; self.bitmap = @s_bitmap[@face_index[0]]
  365.       self.zoom_x = 1.00
  366.       @center = [LAYOUT_POS[0] + self.ox + CENTER_POS[0],LAYOUT_POS[1] + self.oy + CENTER_POS[1]]
  367.       if self.bitmap == nil
  368.          self.bitmap = @s_bitmap[0] ; self.zoom_x = 1.4
  369.          @center = [LAYOUT_POS[0] + self.ox + CENTER_POS[0] + 6,LAYOUT_POS[1] + self.oy + CENTER_POS[1] + 7]
  370.       end
  371.   end
  372.   
  373.   #--------------------------------------------------------------------------
  374.   # ● Dispose Schala Point
  375.   #--------------------------------------------------------------------------            
  376.   def dipose_schala_point
  377.       return if self.bitmap == nil or self.bitmap.disposed?
  378.       self.bitmap.dispose ; self.bitmap = nil ; dispose_charge
  379.   end

  380.   #--------------------------------------------------------------------------
  381.   # ● Dispose Charge
  382.   #--------------------------------------------------------------------------              
  383.   def dispose_charge
  384.       @charge.bitmap.dispose if @charge.bitmap != nil
  385.       @charge.dispose
  386.   end  
  387.   
  388.   #--------------------------------------------------------------------------
  389.   # ● Update Schala Point
  390.   #--------------------------------------------------------------------------              
  391.   def update_schala_point
  392.       return if self.bitmap == nil or self.bitmap.disposed? or !self.visible
  393.       if can_update_atb?
  394.          self.opacity += 10 unless @wait_fade > 0; update_atb
  395.       else
  396.          self.opacity -= 10 # ; check_all_dead? if self.opacity == 0
  397.          self.zoom_x = 1.00 ; @cast_time[0] = false ; @wait_fade = 2
  398.       end
  399.       execute_move(0,self.x,@x) ; execute_move(1,self.y,@y)      
  400.       self.zoom_y = self.zoom_x ; self.opacity = 0 if sprite_visible?
  401.       update_charge ; @wait_fade -= 1 if @wait_fade > 0
  402.   end
  403.   
  404.   #--------------------------------------------------------------------------
  405.   # ● Sprite Visible
  406.   #--------------------------------------------------------------------------              
  407.   def sprite_visible?
  408.       return true if $game_message.visible
  409.       return true if $game_temp.battle_end
  410.       return false
  411.   end
  412.   
  413.   #--------------------------------------------------------------------------
  414.   # ● Check All Dead?
  415.   #--------------------------------------------------------------------------              
  416.   def check_all_dead?
  417.       return if [email protected]_a?(Game_Enemy)      
  418.       self.visible = false ; $game_temp.ay_gauge_data[0] = true
  419.       $game_troop.members.each {|b| $game_temp.ay_gauge_data[0] = false if !b.dead?}
  420.   end
  421.   
  422.   #--------------------------------------------------------------------------
  423.   # ● Can Update ATB
  424.   #--------------------------------------------------------------------------  
  425.   def can_update_atb?
  426.       return false if @target == nil or @target.dead? or @target.hidden
  427.       return false if $game_temp.ay_gauge_data[0]
  428.       return true
  429.   end
  430.   
  431.   #--------------------------------------------------------------------------
  432.   # ● Update ATB
  433.   #--------------------------------------------------------------------------               
  434.   def update_atb
  435.       update_atb_type
  436.       if atb_max?
  437.          @x = @center[0]; @y = @center[1] ; @face_index[0] = 1
  438.       else
  439.         if $game_system.ay_gauge_type == 1
  440.            if actor_cast?
  441.               @x = @x2 + gauge_cast - (@gauge_size * @atb / @atb_max) ; @y = @y2
  442.            else   
  443.               @x = @x2 + @gauge_size * @atb / @atb_max ; @y = @y2
  444.            end  
  445.            self.z = @sz + @x if Z_FIX
  446.         else
  447.            if actor_cast?
  448.               @y = @y2 - gauge_cast + (@gauge_size * @atb / @atb_max) ; @x = @x2
  449.            else   
  450.               @y = @y2 - @gauge_size * @atb / @atb_max ; @x = @x2
  451.            end
  452.            self.z = @sz + (@gauge_size - @y) if Z_FIX
  453.         end   
  454.         @face_index[0] = 0 ; self.zoom_x = 1.00
  455.       end      
  456.       refresh_bitmap if @face_index[0] != @face_index[1]
  457.   end

  458.   #--------------------------------------------------------------------------
  459.   # ● ATB Max
  460.   #--------------------------------------------------------------------------                  
  461.   def atb_max?
  462.       if @atb.abs >= @atb_max.abs
  463.          if $imported[:mog_atb_system]
  464.             return true if BattleManager.battler_in_turn?(@target)
  465.          else
  466.             return true
  467.          end
  468.       end
  469.       return true if @cast_time[1] > 0
  470.       return false
  471.   end
  472.    
  473.   #--------------------------------------------------------------------------
  474.   # ● Update ATB Type
  475.   #--------------------------------------------------------------------------                  
  476.   def update_atb_type
  477.       if actor_cast?         
  478.          @atb_max = actor_max_cast ; @atb = actor_cast ; @cast_time = [true,0]
  479.          @charge.visible = true
  480.       else
  481.          @atb_max = actor_max_at ; @atb = actor_at
  482.          @cast_time[1] = cast_wait_time if @cast_time[0] ; @cast_time[1] -= 1 if @cast_time[1] > 0
  483.          @cast_time[0] = false ; @charge.visible = false unless @cast_time[1] > 55
  484.       end
  485.       refresh_charge if @cast_time[0] != @charge_cast
  486.       @atb_max = 1 if @atb_max == 0  
  487.   end

  488.   #--------------------------------------------------------------------------
  489.   # ● Execute Move
  490.   #--------------------------------------------------------------------------      
  491.   def execute_move(type,cp,np)
  492.       sp = 5 + ((cp - np).abs / 20)
  493.       if cp > np
  494.          cp -= sp ; cp = np if cp < np
  495.       elsif cp < np
  496.          cp += sp ; cp = np if cp > np
  497.       end     
  498.       self.x = cp if type == 0 ; self.y = cp if type == 1
  499.   end   

  500.   #--------------------------------------------------------------------------
  501.   # * AT
  502.   #--------------------------------------------------------------------------  
  503.   def actor_at
  504.       return @target.atb if $imported[:mog_atb_system]
  505.       return @target.atb if $imported[:ve_active_time_battle]
  506.       return @target.catb_value if $imported["YSA-CATB"]
  507.       return @target.ap if @ccwinter_atb != nil
  508.       return 0
  509.   end

  510.   #--------------------------------------------------------------------------
  511.   # * Max AT
  512.   #--------------------------------------------------------------------------  
  513.   def actor_max_at
  514.       return @target.atb_max if $imported[:mog_atb_system]
  515.       return @target.max_atb if $imported[:ve_active_time_battle]
  516.       return @target.max_atb if $imported["YSA-CATB"]
  517.       return ATB::MAX_AP if @ccwinter_atb != nil
  518.       return 1
  519.   end

  520.   #--------------------------------------------------------------------------
  521.   # ● Actor Cast
  522.   #--------------------------------------------------------------------------            
  523.   def actor_cast
  524.       return @target.atb_cast[1] rescue nil if $imported[:mog_atb_system]
  525.       return [email protected] if $imported[:ve_active_time_battle]
  526.       return @target.chant_count rescue 0 if @ccwinter_atb != nil
  527.       return 0
  528.   end

  529.   #--------------------------------------------------------------------------
  530.   # ● Actor Max Cast
  531.   #--------------------------------------------------------------------------            
  532.   def actor_max_cast
  533.       if $imported[:mog_atb_system]
  534.          return @target.atb_cast[2] if @target.atb_cast[2] != 0
  535.          return @target.atb_cast[0].speed.abs
  536.       end   
  537.       return @target.max_atb if $imported[:ve_active_time_battle]
  538.       return [email protected]_chant_count rescue 1 if @ccwinter_atb != nil
  539.       return 1
  540.   end

  541.   #--------------------------------------------------------------------------
  542.   # ● Actor Max Cast
  543.   #--------------------------------------------------------------------------            
  544.   def gauge_cast
  545.       return @gauge_size if $imported[:mog_atb_system]
  546.       return 0
  547.   end
  548.   
  549.   #--------------------------------------------------------------------------
  550.   # ● Actor Cast?
  551.   #--------------------------------------------------------------------------            
  552.   def actor_cast?
  553.       if $imported[:mog_atb_system]
  554.          return true if [email protected]_cast.empty? rescue false
  555.       end   
  556.       if $imported[:ve_active_time_battle]
  557.          return true if @target.cast_action? rescue false
  558.       end      
  559.       if @ccwinter_atb
  560.          return true if @target.chanting? rescue false
  561.       end
  562.       return false
  563.   end   
  564.   
  565.   #--------------------------------------------------------------------------
  566.   # ● Cast Wait Time
  567.   #--------------------------------------------------------------------------            
  568.   def cast_wait_time
  569.       return 10 if @ccwinter_atb
  570.       return 60
  571.   end
  572.   
  573. end

  574. #==============================================================================
  575. # ■ Game_Battler
  576. #==============================================================================
  577. class Game_Battler < Game_BattlerBase     
  578.    attr_accessor :chant_count
  579.    attr_accessor :max_chant_count
  580. end
复制代码
具體效果是醬


但在用這腳本時,選擇目標時根本不知道是ATB槽上哪個敵人...(除非製作大量的圖像素材,但也同樣的怪物也無法判斷是A怪物還是B)

可以做到選擇目標時,使那個ATB槽的怪物圖標有閃爍效果嗎? (就像選擇目標時,目標的敵人圖在閃爍,只是現在閃爍的是那個ATB槽上的圖標)

自己搞了半天,還是搞不懂orz 求大大指教orz

评分

参与人数 1星屑 +3 收起 理由
Vortur + 3 帮不上忙,塞点糖吧

查看全部评分

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

本版积分规则

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

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

GMT+8, 2024-5-16 15:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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