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

Project1

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

[已经解决] 关于这句脚本问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
跳转到指定楼层
1
发表于 2013-11-9 15:29:40 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
RUBY 代码复制
  1. #==============================================================================
  2. # +++ MOG - Battle Result (1.4) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # [url]http://www.atelier-rgss.com[/url]
  6. #==============================================================================
  7. # Apresentação animada do resultado da batalha.
  8. #==============================================================================
  9. # Arquivos necessários. (Graphics/System)
  10. #
  11. # Result.png
  12. # Result_Layout.png
  13. # Result_Levelup.png
  14. # Result_Levelword.png
  15. # Result_Number_1.png
  16. # Result_Number_2.png
  17. #
  18. #==============================================================================
  19. # Histórico (Version History)
  20. #==============================================================================
  21. # 1.4 - Compatibilidade com o script de pause.
  22. # 1.3 - Melhoria do código e compatibilidade.
  23. # 1.2 - Melhoria do código e compatibilidade.
  24. #     - Adição de sons.
  25. # 1.1 - Corrigido o erro de apresentar o Resultado ao fugir ou perder a batalha.
  26. #==============================================================================
  27. module MOG_BATLE_RESULT
  28.   #Posição do EXP.
  29.   RESULT_EXP_POSITION = [440,80]
  30.   #Posição do GOLD.
  31.   RESULT_GOLD_POSITION = [476,125]
  32.   #Posição da palavra LeveL UP.
  33.   RESULT_LEVELWORD_POSITION = [0,0]
  34.   #Posição do Level.
  35.   RESULT_LEVEL_POSITION = [230,-7]
  36.   #Posição dos parâmetros
  37.   RESULT_PARAMETER_POSITION = [70,70]
  38.   #Posição da janela de skill.
  39.   RESULT_NEW_SKILL_POSITION = [240,230]
  40.   #Definição da animação de Level UP.
  41.   RESULT_LEVELUP_ANIMATION_ID = 37
  42. end
  43.  
  44. #==============================================================================
  45. # ■ Game Temp
  46. #==============================================================================
  47. class Game_Temp
  48.   attr_accessor :level_parameter
  49.   attr_accessor :level_parameter_old
  50.   attr_accessor :result
  51.   attr_accessor :battle_end
  52.  
  53.   #--------------------------------------------------------------------------
  54.   # ● Initialize
  55.   #--------------------------------------------------------------------------
  56.   alias mog_result_initialize initialize
  57.   def initialize
  58.       @level_parameter = []
  59.       @level_parameter_old = []
  60.       @result = false
  61.       @battle_end = false
  62.       mog_result_initialize
  63.   end
  64.  
  65. end
  66.  
  67. #==============================================================================
  68. # ■ Game Actor
  69. #==============================================================================
  70. class Game_Actor < Game_Battler
  71.  
  72.   #--------------------------------------------------------------------------
  73.   # ● Display_level_up
  74.   #--------------------------------------------------------------------------
  75.   alias mog_result_display_level_up display_level_up
  76.   def display_level_up(new_skills)
  77.       if $game_temp.result
  78.          $game_temp.level_parameter = [@level,new_skills]
  79.          return
  80.       end   
  81.       mog_result_display_level_up(new_skills)
  82.   end
  83.  
  84. end
  85.  
  86. #==============================================================================
  87. # ■ BattleManager
  88. #==============================================================================
  89. module BattleManager
  90.  
  91.   #--------------------------------------------------------------------------
  92.   # ● Process Victory
  93.   #--------------------------------------------------------------------------
  94.   def self.process_victory
  95.       play_battle_end_me
  96.       replay_bgm_and_bgs
  97.       if $mog_rgss3_battle_cry != nil
  98.          execute_battle_cry(1, nil, nil)
  99.       end   
  100.       battle_end(0)
  101.       SceneManager.return
  102.       return true
  103.   end
  104.  
  105. end
  106.  
  107. #==============================================================================
  108. # ■ Spriteset Battle
  109. #==============================================================================
  110. class Scene_Battle < Scene_Base
  111.  
  112.   #--------------------------------------------------------------------------
  113.   # ● Dispose
  114.   #--------------------------------------------------------------------------               
  115.   alias mog_battle_result_pre_terminate pre_terminate
  116.   def pre_terminate
  117.       execute_result if can_enable_battle_result?
  118.       mog_battle_result_pre_terminate
  119.   end  
  120.  
  121.   #--------------------------------------------------------------------------
  122.   # ● Can Enable Battle Result?
  123.   #--------------------------------------------------------------------------   
  124.   def can_enable_battle_result?
  125.       return false if !$game_troop.all_dead?
  126.       return false if $game_party.members.empty?
  127.       return false if $game_party.all_dead?      
  128.       return true
  129.   end
  130.  
  131.   #--------------------------------------------------------------------------
  132.   # ● Execute Result
  133.   #--------------------------------------------------------------------------                  
  134.   def execute_result
  135.       @result = Battle_Result.new
  136.       if $mog_rgss3_combo_count != nil
  137.          $game_temp.combo_time = 0 rescue nil
  138.       end   
  139.       loop do
  140.            @result.update
  141.            @spriteset.update
  142.            Graphics.update
  143.            Input.update
  144.            break if @result.victory_phase == 10
  145.       end
  146.       @result.dispose
  147.   end  
  148.  
  149. end
  150.  
  151. #==============================================================================
  152. # ■ Battle Result
  153. #==============================================================================
  154. class Battle_Result
  155.   include MOG_BATLE_RESULT
  156.  
  157.   attr_accessor :victory_phase
  158.  
  159.   #--------------------------------------------------------------------------
  160.   # ● Initialize
  161.   #--------------------------------------------------------------------------      
  162.   def initialize
  163.       $game_temp.battle_end = true
  164.       $game_temp.result = true
  165.       @victory_phase = 0
  166.       @victory_wait_duration = 0
  167.       @fade_result_window = false
  168.       create_victory_sprites
  169.   end
  170.  
  171.   #--------------------------------------------------------------------------
  172.   # ● Create Victory Sprites
  173.   #--------------------------------------------------------------------------   
  174.   def create_victory_sprites
  175.       @result_number = Cache.system("Result_Number_1")
  176.       @result_number2 = Cache.system("Result_Number_2")
  177.       @result_cw = @result_number.width / 10
  178.       @result_ch = @result_number.height / 2         
  179.       @result2_cw = @result_number2.width / 10
  180.       @result2_ch = @result_number2.height / 2  
  181.       create_victory_text
  182.       create_victory_layout
  183.       create_victory_exp
  184.       create_victory_gold
  185.       create_window_treasure
  186.   end  
  187.  
  188.   #--------------------------------------------------------------------------
  189.   # ● Victory Wait ?
  190.   #--------------------------------------------------------------------------        
  191.   def victory_wait?
  192.       return false if @victory_wait_duration <= 0
  193.       @victory_wait_duration -= 1
  194.       return true
  195.   end     
  196.  
  197.   #--------------------------------------------------------------------------
  198.   # ● End Victory
  199.   #--------------------------------------------------------------------------   
  200.   def end_victory
  201.       @victory_wait_duration = 10
  202.       dispose
  203.   end
  204.  
  205.   #--------------------------------------------------------------------------
  206.   # ● Create Victory Layout
  207.   #--------------------------------------------------------------------------      
  208.   def create_victory_layout
  209.       return if @victory_layout_sprite != nil
  210.       @victory_layout_sprite = Sprite.new
  211.       @victory_layout_sprite.z = 1001
  212.       @victory_layout_sprite.bitmap = Cache.system("Result_Layout")
  213.       @victory_layout_sprite.zoom_x = 2.0
  214.       @victory_layout_sprite.opacity = 0
  215.   end  
  216.  
  217.   #--------------------------------------------------------------------------
  218.   # ● Create Victory Text
  219.   #--------------------------------------------------------------------------      
  220.   def create_victory_text
  221.       return if @victory_sprite != nil
  222.       @victory_sprite = Sprite.new
  223.       @victory_sprite.z = 1000
  224.       @victory_sprite.bitmap = Cache.system("Result")
  225.       @victory_sprite.ox = @victory_sprite.width / 2
  226.       @victory_sprite.oy = @victory_sprite.height / 2
  227.       @victory_sprite.x = @victory_sprite.ox
  228.       @victory_sprite.y = @victory_sprite.oy
  229.       @victory_sprite.zoom_x = 1.5
  230.       @victory_sprite.zoom_y = 1.5
  231.       @victory_sprite.opacity = 0   
  232.   end  
  233.  
  234. end
  235.  
  236. #==============================================================================
  237. # ■ Battle Result
  238. #==============================================================================
  239. class Battle_Result
  240.  
  241.   #--------------------------------------------------------------------------
  242.   # ● Dispose
  243.   #--------------------------------------------------------------------------      
  244.   def dispose
  245.       $game_temp.result = false
  246.       $game_temp.battle_end = false
  247.       @victory_sprite.bitmap.dispose
  248.       @victory_sprite.dispose
  249.       @victory_layout_sprite.bitmap.dispose
  250.       @victory_layout_sprite.dispose
  251.       @exp_number.bitmap.dispose
  252.       @exp_number.dispose
  253.       @gold_number.bitmap.dispose
  254.       @gold_number.dispose
  255.       @result_number.dispose
  256.       @window_treasure.dispose
  257.       dispose_level_up      
  258.       @result_number.dispose
  259.       @result_number2.dispose
  260.       @tr_viewport.dispose
  261.   end  
  262.  
  263.   #--------------------------------------------------------------------------
  264.   # ● Dispose Result Actor Bitmap
  265.   #--------------------------------------------------------------------------              
  266.   def dispose_result_actor_bitmap
  267.       return if @result_actor_sprite == nil
  268.       return if @result_actor_sprite.bitmap == nil
  269.       @result_actor_sprite.bitmap.dispose
  270.   end
  271.  
  272.   #--------------------------------------------------------------------------
  273.   # ● Dispose Level UP
  274.   #--------------------------------------------------------------------------        
  275.   def dispose_level_up
  276.       return if @levelup_layout == nil
  277.       @levelup_layout.bitmap.dispose
  278.       @levelup_layout.dispose
  279.       @levelup_word.bitmap.dispose
  280.       @levelup_word.dispose
  281.       @result_actor_sprite.bitmap.dispose
  282.       @result_actor_sprite.dispose
  283.       @parameter_sprite.bitmap.dispose
  284.       @parameter_sprite.dispose
  285.       @level_sprite.bitmap.dispose
  286.       @level_sprite.dispose
  287.       if @new_skill_window != nil
  288.          @new_skill_window.dispose
  289.       end   
  290.   end
  291.  
  292. end
  293.  
  294. #==============================================================================
  295. # ■ Battle Result
  296. #==============================================================================
  297. class Battle_Result
  298.  
  299.   #--------------------------------------------------------------------------
  300.   # ● Update
  301.   #--------------------------------------------------------------------------  
  302.   def update
  303.       if $mog_rgss3_pause != nil
  304.          update_pause if MOG_PAUSE::PAUSE_SCENE_BATTLE
  305.       end   
  306.       return if @victory_phase == nil
  307.       update_victory_fade if @fade_result_window
  308.       return if victory_wait?
  309.       case @victory_phase
  310.          when 0;  update_victory_initial
  311.          when 1;  update_victory_initial2
  312.          when 2;  update_victory_initial3
  313.          when 3;  update_victory_exp
  314.          when 4;  update_victory_gold
  315.          when 5;  update_victory_item
  316.          when 6;  update_victory_levelup
  317.          when 9;  update_skip_result
  318.       end
  319.       if Input.trigger?(:C)
  320.          if @victory_phase == 10
  321.             end_victory
  322.          elsif @victory_phase.between?(1,5)
  323.             Sound.play_cursor
  324.             @victory_phase = 9
  325.          end         
  326.       end   
  327.   end
  328.  
  329.   #--------------------------------------------------------------------------
  330.   # ● Skip Result
  331.   #--------------------------------------------------------------------------         
  332.   def update_skip_result
  333.       @victory_sprite.opacity -= 10
  334.       @victory_sprite.visible = false
  335.       @victory_layout_sprite.opacity += 10
  336.       @victory_layout_sprite.zoom_x = 1.00
  337.       @gold_number.opacity += 10
  338.       @gold_number.zoom_x = 1.00
  339.       @gold_number.zoom_y = 1.00
  340.       @exp_number.opacity += 10
  341.       @exp_number.zoom_x = 1.00
  342.       @exp_number.zoom_y = 1.00      
  343.       @window_treasure.contents_opacity += 10
  344.       if @exp_old != @exp_total
  345.          @exp_old = @exp_total
  346.          refresh_exp_number
  347.       end
  348.       if @gold_old = @gold_total  
  349.          @gold_old = @gold_total
  350.          refresh_gold_number
  351.       end   
  352.       @window_treasure.x = 0
  353.       update_victory_item if @window_treasure.contents_opacity == 255
  354.   end  
  355.  
  356.   #--------------------------------------------------------------------------
  357.   # ● Update Victory Fade
  358.   #--------------------------------------------------------------------------      
  359.   def update_victory_fade
  360.       fade_speed = 10
  361.       @victory_sprite.opacity -= fade_speed
  362.       @victory_layout_sprite.opacity -= fade_speed
  363.       @gold_number.opacity -= fade_speed
  364.       @exp_number.opacity -= fade_speed
  365.       @window_treasure.contents_opacity -= fade_speed
  366.   end
  367.  
  368.   #--------------------------------------------------------------------------
  369.   # ● Update Victory Initial
  370.   #--------------------------------------------------------------------------      
  371.   def update_victory_initial
  372.       @victory_sprite.zoom_x -= 0.01
  373.       @victory_sprite.zoom_y -= 0.01
  374.       @victory_sprite.opacity += 10
  375.       if @victory_sprite.zoom_x <= 1.00
  376.          @victory_sprite.zoom_x = 1
  377.          @victory_sprite.zoom_y = 1
  378.          @victory_sprite.opacity = 255
  379.          @victory_phase = 1
  380.          @victory_wait_duration = 20
  381.       end
  382.   end
  383.  
  384.   #--------------------------------------------------------------------------
  385.   # ● Update Victory Initial 2
  386.   #--------------------------------------------------------------------------      
  387.   def update_victory_initial2
  388.       @victory_sprite.zoom_x += 0.01
  389.       @victory_sprite.zoom_y += 0.01
  390.       @victory_sprite.opacity -= 10
  391.       if @victory_sprite.opacity <= 0
  392.          @victory_sprite.zoom_x = 1
  393.          @victory_sprite.zoom_y = 1
  394.          @victory_sprite.opacity = 0
  395.          @victory_phase = 2
  396.       end
  397.   end
  398.  
  399.   #--------------------------------------------------------------------------
  400.   # ● Update Victory Initial 3
  401.   #--------------------------------------------------------------------------        
  402.   def update_victory_initial3   
  403.       @victory_layout_sprite.zoom_x -= 0.02
  404.       @victory_layout_sprite.opacity += 10
  405.       if @victory_layout_sprite.zoom_x <= 1.00
  406.          @victory_layout_sprite.zoom_x = 1
  407.          @victory_layout_sprite.opacity = 255
  408.          @victory_phase = 3
  409.       end              
  410.   end   
  411.  
  412. end
  413.  
  414. #==============================================================================
  415. # ■ Battle Result
  416. #==============================================================================
  417. class Battle_Result
  418.  
  419.   #--------------------------------------------------------------------------
  420.   # ● Create Victory Exp
  421.   #--------------------------------------------------------------------------      
  422.   def create_victory_exp
  423.       @exp_number = Sprite.new
  424.       @exp_number.bitmap = Bitmap.new(@result_number.width,@result_ch)
  425.       @exp_number.z = 1002
  426.       @exp_number.y = RESULT_EXP_POSITION[1]
  427.       @exp_number.zoom_x = 2
  428.       @exp_number.zoom_y = 2
  429.       @exp_total = $game_troop.exp_total
  430.       @exp_number.opacity = 0
  431.       @exp_old = 0
  432.       @exp_ref = ((1 * @exp_total) / 111).truncate rescue nil
  433.       @exp_ref = 1 if @exp_ref < 1 or @exp_ref == nil      
  434.       @exp_ref = 0 if @exp_total == 0
  435.       refresh_exp_number
  436.   end
  437.  
  438.   #--------------------------------------------------------------------------
  439.   # ● Update Victory Exp
  440.   #--------------------------------------------------------------------------        
  441.   def update_victory_exp
  442.       update_exp_sprite
  443.       update_exp_number
  444.   end
  445.  
  446.   #--------------------------------------------------------------------------
  447.   # ● Update EXP Sprite
  448.   #--------------------------------------------------------------------------         
  449.   def update_exp_sprite
  450.       @exp_number.opacity += 15
  451.       if @exp_number.zoom_x > 1.00
  452.          @exp_number.zoom_x -= 0.03
  453.          @exp_number.zoom_x = 1.00 if @exp_number.zoom_x <= 1.00
  454.       end
  455.       @exp_number.zoom_y = @exp_number.zoom_x
  456.       if (@exp_old >= @exp_total) and @exp_number.zoom_x == 1.00
  457.          @victory_phase = 4
  458.          Sound.play_cursor
  459.       end   
  460.   end
  461.  
  462.   #--------------------------------------------------------------------------
  463.   # ● Refresh Exp Number
  464.   #--------------------------------------------------------------------------        
  465.   def refresh_exp_number
  466.       @exp_number.bitmap.clear
  467.       draw_result_exp(@exp_old, 0,0)      
  468.   end
  469.  
  470.   #--------------------------------------------------------------------------
  471.   # ● Update Exp_number
  472.   #--------------------------------------------------------------------------
  473.   def update_exp_number
  474.       return if @exp_old == @exp_total
  475.       @exp_old += @exp_ref
  476.       @exp_old = @exp_total if @exp_old > @exp_total
  477.       refresh_exp_number
  478.   end
  479.  
  480.   #--------------------------------------------------------------------------
  481.   # ● Draw Result EXP
  482.   #--------------------------------------------------------------------------        
  483.   def draw_result_exp(value,x,y)
  484.       ncw = @result_cw
  485.       nch = @result_ch
  486.       number = value.abs.to_s.split(//)
  487.       x2 = x - (number.size * ncw)
  488.       @exp_number.ox = (number.size * ncw) / 2
  489.       @exp_number.oy = @result_ch / 2
  490.       @exp_number.x = (RESULT_EXP_POSITION[0] + @result_cw + @exp_number.ox) - (number.size * ncw)
  491.       for r in 0..number.size - 1
  492.           number_abs = number[r].to_i
  493.           nsrc_rect = Rect.new(ncw * number_abs, 0, ncw, nch)
  494.           @exp_number.bitmap.blt(x + (ncw *  r), y, @result_number, nsrc_rect)        
  495.       end
  496.   end
  497.  
  498. end
  499.  
  500. #==============================================================================
  501. # ■ Battle Result
  502. #==============================================================================
  503. class Battle_Result
  504.  
  505.   #--------------------------------------------------------------------------
  506.   # ● Create Victory Gold
  507.   #--------------------------------------------------------------------------      
  508.   def create_victory_gold
  509.       @gold_number = Sprite.new
  510.       @gold_number.bitmap = Bitmap.new(@result_number.width,@result_ch)
  511.       @gold_number.z = 1002
  512.       @gold_number.y = RESULT_GOLD_POSITION[1]
  513.       @gold_number.opacity = 0
  514.       @gold_number.zoom_x = 2
  515.       @gold_number.zoom_y = 2      
  516.       @gold_total = $game_troop.gold_total
  517.       @gold_old = 0
  518.       @gold_ref = ((1 * @gold_total) / 111).truncate rescue nil
  519.       @gold_ref = 1 if @gold_ref < 1 or @gold_ref == nil      
  520.       @gold_ref = 0 if @gold_total == 0
  521.       $game_party.gain_gold($game_troop.gold_total)
  522.       refresh_gold_number
  523.   end   
  524.  
  525.   #--------------------------------------------------------------------------
  526.   # ● Update Victory Gold
  527.   #--------------------------------------------------------------------------        
  528.   def update_victory_gold
  529.       update_gold_sprite
  530.       update_gold_number
  531.   end
  532.  
  533.   #--------------------------------------------------------------------------
  534.   # ● Update GOLD Sprite
  535.   #--------------------------------------------------------------------------         
  536.   def update_gold_sprite
  537.       @gold_number.opacity += 15
  538.       if @gold_number.zoom_x > 1.00
  539.          @gold_number.zoom_x -= 0.03
  540.          @gold_number.zoom_x = 1.00 if @gold_number.zoom_x <= 1.00
  541.       end
  542.       @gold_number.zoom_y = @gold_number.zoom_x
  543.       if @gold_old >= @gold_total and @gold_number.zoom_x == 1.00
  544.          @victory_phase = 5
  545.          Sound.play_cursor
  546.       end   
  547.   end  
  548.  
  549.   #--------------------------------------------------------------------------
  550.   # ● Refresh gold Number
  551.   #--------------------------------------------------------------------------        
  552.   def refresh_gold_number
  553.       @gold_number.bitmap.clear
  554.       draw_result_gold(@gold_old, 0,0)      
  555.   end
  556.  
  557.   #--------------------------------------------------------------------------
  558.   # ● Update Gold Number
  559.   #--------------------------------------------------------------------------
  560.   def update_gold_number
  561.       return if @gold_old == @gold_total
  562.       @gold_old += @gold_ref
  563.       @gold_old = @gold_total if @gold_old > @gold_total
  564.       refresh_gold_number
  565.   end      
  566.  
  567.   #--------------------------------------------------------------------------
  568.   # ● Draw Result Gold
  569.   #--------------------------------------------------------------------------        
  570.   def draw_result_gold(value,x,y)
  571.       ncw = @result_cw
  572.       nch = @result_ch
  573.       number = value.abs.to_s.split(//)
  574.       x2 = x - (number.size * ncw)
  575.       @gold_number.ox = (number.size * ncw) / 2
  576.       @gold_number.oy = @result_ch / 2
  577.       @gold_number.x = (RESULT_GOLD_POSITION[0] + @result_cw + @gold_number.ox) - (number.size * ncw)
  578.       for r in 0..number.size - 1
  579.           number_abs = number[r].to_i
  580.           nsrc_rect = Rect.new(ncw * number_abs, @result_ch, ncw, nch)
  581.           @gold_number.bitmap.blt(x + (ncw *  r), y, @result_number, nsrc_rect)        
  582.       end
  583.   end
  584.  
  585. end
  586.  
  587. #==============================================================================
  588. # ■ Battle Result
  589. #==============================================================================
  590. class Battle_Result
  591.  
  592.   #--------------------------------------------------------------------------
  593.   # ● Create Window Treasure
  594.   #--------------------------------------------------------------------------            
  595.   def create_window_treasure
  596.       @tr_viewport = Viewport.new(-8, 164, 576, 118)
  597.       @tr_viewport.z = 1003
  598.       @window_treasure = Window_Treasure.new
  599.       @window_treasure.viewport = @tr_viewport
  600.   end  
  601.  
  602.   #--------------------------------------------------------------------------
  603.   # ● Update Victory Item
  604.   #--------------------------------------------------------------------------         
  605.   def update_victory_item
  606.       @window_treasure.update
  607.       @actor_level = []
  608.       return if @window_treasure.x != 0 and @victory_phase >= 6
  609.       @victory_phase = 6
  610.       @result_member_max = $game_party.battle_members.size
  611.       @result_member_id = 0
  612.   end
  613.  
  614. end
  615.  
  616. #==============================================================================
  617. # ■ Window Treasure
  618. #==============================================================================
  619. class Window_Treasure < Window_Base
  620.  
  621.   #--------------------------------------------------------------------------
  622.   # ● Initialize
  623.   #--------------------------------------------------------------------------
  624.   def initialize
  625.       super(-544,-10, 576, 256)
  626.       self.opacity = 0
  627.       self.contents_opacity = 0
  628.       self.contents.font.size = 24
  629.       self.contents.font.bold = true
  630.       self.z = 1003
  631.       @range_max = 256
  632.       @wait_time = 30
  633.       @scroll = false
  634.       draw_treasure
  635.   end
  636.  
  637.   #--------------------------------------------------------------------------
  638.   # ● Draw_Treasure
  639.   #--------------------------------------------------------------------------  
  640.   def draw_treasure
  641.       contents.clear
  642.       t_index = 0
  643.       space_x = 540 / 3
  644.       $game_troop.make_drop_items.each do |item|
  645.          xi = (t_index * space_x) - ((t_index / 3) * (space_x * 3))        
  646.          yi = (t_index / 3) * 32
  647.          $game_party.gain_item(item, 1)
  648.          draw_item_name(item,xi, yi, true, 140)
  649.          t_index += 1
  650.      end
  651.      @range_max = (t_index / 3) * 32
  652.      @scroll = true if t_index > 12
  653.   end  
  654.  
  655.   #--------------------------------------------------------------------------
  656.   # ● Update
  657.   #--------------------------------------------------------------------------  
  658.   def update
  659.       super
  660.       self.contents_opacity += 10
  661.       if self.x < 0
  662.          self.x += 15
  663.          if self.x >= 0
  664.             self.x = 0
  665.             Sound.play_cursor
  666.          end   
  667.       end
  668.       if @scroll and self.contents_opacity == 255 and self.x == 0
  669.          @wait_time -= 1 if  @wait_time > 0
  670.          return if @wait_time > 0
  671.          self.y -= 1
  672.          self.y = 128 if self.y < -@range_max
  673.          @wait_time = 30 if self.y == -10
  674.       end
  675.   end
  676.  
  677. end
  678.  
  679. #==============================================================================
  680. # ■ Battle Result
  681. #==============================================================================
  682. class Battle_Result
  683.  
  684.   #--------------------------------------------------------------------------
  685.   # ● Create Levelup
  686.   #--------------------------------------------------------------------------            
  687.   def create_levelup
  688.       if @levelup_layout == nil
  689.          @levelup_layout = Sprite.new
  690.          @levelup_layout.z = 1000
  691.          @levelup_layout.bitmap = Cache.system("Result_Levelup")
  692.       end
  693.       if @levelup_word == nil
  694.          @levelup_word = Sprite.new
  695.          @levelup_word.z = 1001
  696.          @levelup_word.bitmap = Cache.system("Result_Levelword")
  697.          @levelup_word.ox = @levelup_word.bitmap.width / 2
  698.          @levelup_word.oy = @levelup_word.bitmap.height / 2
  699.          @levelup_word.x = @levelup_word.ox + RESULT_LEVELWORD_POSITION[0]
  700.          @levelup_word.y = @levelup_word.oy + RESULT_LEVELWORD_POSITION[1]
  701.       end
  702.       @levelup_word.blend_type = 1
  703.       @levelup_word.zoom_x = 2
  704.       @levelup_word.zoom_y = 2      
  705.   end  
  706.  
  707.   #--------------------------------------------------------------------------
  708.   # ● Create Parameter Number
  709.   #--------------------------------------------------------------------------              
  710.   def create_parameter_number
  711.       if @parameter_sprite == nil
  712.          @parameter_sprite = Sprite.new
  713.          @parameter_sprite.bitmap = Bitmap.new(250,220)
  714.          @parameter_sprite.z = 1001
  715.          @parameter_sprite.x = RESULT_PARAMETER_POSITION[0]
  716.          @parameter_sprite.y = RESULT_PARAMETER_POSITION[1]
  717.          @parameter_sprite.bitmap.font.size = 16
  718.          @parameter_sprite.bitmap.font.bold = true         
  719.       end
  720.       refresh_parameter
  721.   end
  722.  
  723.   #--------------------------------------------------------------------------
  724.   # ● Refresh Parameter
  725.   #--------------------------------------------------------------------------               
  726.   def refresh_parameter
  727.        @parameter_animation = 0
  728.        @parameter_sprite.bitmap.clear
  729.        @parameter_sprite.opacity = 0
  730.        @parameter_sprite.x = RESULT_PARAMETER_POSITION[0] - 200
  731.        actor_old = $game_temp.level_parameter_old
  732.        draw_result_parameter(@actor_result.mhp,actor_old[1],0,28 * 0)
  733.        draw_result_parameter(@actor_result.mmp,actor_old[2],0,28 * 1)
  734.        draw_result_parameter(@actor_result.atk,actor_old[3],0,28 * 2)
  735.        draw_result_parameter(@actor_result.def,actor_old[4],0,28 * 3)
  736.        draw_result_parameter(@actor_result.mat,actor_old[5],0,28 * 4)
  737.        draw_result_parameter(@actor_result.mdf,actor_old[6],0,28 * 5)
  738.        draw_result_parameter(@actor_result.agi,actor_old[7],0,28 * 6)
  739.        draw_result_parameter(@actor_result.luk,actor_old[8],0,28 * 7)
  740.   end  
  741.  
  742.   #--------------------------------------------------------------------------
  743.   # ● Draw Result EXP
  744.   #--------------------------------------------------------------------------        
  745.   def draw_result_parameter(value,value2,x,y)
  746.       ncw = @result2_cw
  747.       nch = @result2_ch
  748.       number = value.abs.to_s.split(//)
  749.       x2 = x + (number.size * ncw) + 16
  750.       for r in 0..number.size - 1
  751.           number_abs = number[r].to_i
  752.           nsrc_rect = Rect.new(ncw * number_abs, 0, ncw, nch)
  753.           @parameter_sprite.bitmap.blt(x + (ncw *  r), y, @result_number2, nsrc_rect)        
  754.       end
  755.       value3 = value - value2
  756.       par = ""
  757.       if value > value2
  758.          par = "+"
  759.          @parameter_sprite.bitmap.font.color = Color.new(50,255,255)
  760.       elsif value < value2
  761.          par = ""
  762.          @parameter_sprite.bitmap.font.color = Color.new(255,155,100)
  763.       end
  764.       return if value == value2
  765.       @parameter_sprite.bitmap.draw_text(x2,y - 8,100,32,par.to_s + value3.to_s,0)   
  766.   end  
  767.  
  768.   #--------------------------------------------------------------------------
  769.   # ● Create Result Actor
  770.   #--------------------------------------------------------------------------            
  771.   def create_result_actor
  772.       if @result_actor_sprite == nil
  773.          @result_actor_sprite = Sprite.new
  774.          @result_actor_sprite.z = 999
  775.       end
  776.       dispose_result_actor_bitmap
  777.       @result_actor_sprite.bitmap = Cache.picture("Actor" + @actor_result.id.to_s)
  778.       @result_actor_org = [380 - (@result_actor_sprite.bitmap.width / 2), Graphics.height - @result_actor_sprite.bitmap.height]
  779.       @result_actor_sprite.x = @result_actor_org[0] + 200
  780.       @result_actor_sprite.y = @result_actor_org[1]
  781.       @result_actor_sprite.opacity = 0
  782.   end  
  783.  
  784.   #--------------------------------------------------------------------------
  785.   # ● Check New Skill
  786.   #--------------------------------------------------------------------------              
  787.   def check_new_skill
  788.       @new_skills = $game_temp.level_parameter[1]
  789.       @new_skills_index = 0
  790.   end
  791.  
  792.   #--------------------------------------------------------------------------
  793.   # ● Show New Skill
  794.   #--------------------------------------------------------------------------               
  795.   def show_new_skill(start = false)
  796.       Sound.play_recovery unless start
  797.       @new_skill_window.draw_new_skill(@new_skills[@new_skills_index])
  798.       @new_skills_index += 1
  799.       if @new_skills_index == @new_skills.size or
  800.          @new_skills[@new_skills_index] == nil
  801.          @new_skills = nil
  802.       end   
  803.   end
  804.  
  805.   #--------------------------------------------------------------------------
  806.   # ● Check Level UP
  807.   #--------------------------------------------------------------------------            
  808.   def check_level_up   
  809.       if @new_skills != nil and !@new_skills.empty?
  810.          show_new_skill
  811.          return
  812.       end  
  813.       for battler_id in @result_member_id..@result_member_max
  814.           actor_result = $game_party.members[@result_member_id]  
  815.           $game_temp.level_parameter = [] if $game_temp.level_parameter == nil
  816.           $game_temp.level_parameter_old = [] if $game_temp.level_parameter_old == nil
  817.           $game_temp.level_parameter.clear
  818.           $game_temp.level_parameter_old.clear
  819.           $game_temp.level_parameter_old = [actor_result.level,actor_result.mhp,actor_result.mmp,
  820.           actor_result.atk, actor_result.def, actor_result.mat, actor_result.mdf, actor_result.agi, actor_result.luk] rescue nil
  821.           actor_result.gain_exp($game_troop.exp_total) rescue nil
  822.           @result_member_id += 1
  823.           @new_skills = nil
  824.           @new_skills_index = 0
  825.           if $game_temp.level_parameter != nil and !$game_temp.level_parameter.empty?
  826.              show_level_result
  827.              break
  828.           end   
  829.       end
  830.       return if !$game_temp.level_parameter.empty?
  831.       @victory_phase = 10 if @result_member_id >= @result_member_max
  832.   end  
  833.  
  834.   #--------------------------------------------------------------------------
  835.   # ● Create Level
  836.   #--------------------------------------------------------------------------               
  837.   def create_level
  838.       if @level_sprite == nil
  839.          @level_sprite = Sprite.new
  840.          @level_sprite.bitmap = Bitmap.new(200,64)
  841.          @level_sprite.z = 1002
  842.       end      
  843.       @level_sprite.bitmap.font.size = 48
  844.       @level_sprite.bitmap.font.bold = true
  845.       @level_sprite.x = RESULT_LEVEL_POSITION[0]
  846.       @level_sprite.y = RESULT_LEVEL_POSITION[1]
  847.       @level_sprite.bitmap.clear
  848.       @level_sprite.bitmap.font.color = Color.new(255,255,255)
  849.       @level_sprite.bitmap.draw_text(0,0,100,64,@actor_result.level,1)
  850.       levelup = @actor_result.level - $game_temp.level_parameter_old[0]
  851.       @level_sprite.bitmap.font.color = Color.new(50,255,255)
  852.       @level_sprite.bitmap.font.size = 18
  853.       @level_sprite.bitmap.draw_text(80,0,100,64,"+" + levelup.to_s ,0)
  854.   end
  855.  
  856.   #--------------------------------------------------------------------------
  857.   # ● Create New Skill Windos
  858.   #--------------------------------------------------------------------------                  
  859.   def create_new_skill_window
  860.       if @new_skill_window == nil
  861.          @new_skill_window = Window_Result_Skill.new
  862.       end   
  863.       @new_skill_window.x = RESULT_NEW_SKILL_POSITION[0]
  864.       @new_skill_window.y = RESULT_NEW_SKILL_POSITION[1]
  865.       check_new_skill
  866.       if @new_skills != nil and !@new_skills.empty?
  867.          show_new_skill
  868.       else  
  869.          @new_skill_window.x = -544
  870.       end
  871.   end  
  872.  
  873.   #--------------------------------------------------------------------------
  874.   # ● Show Level Result
  875.   #--------------------------------------------------------------------------              
  876.   def show_level_result
  877.       Sound.play_cursor
  878.       @actor_result = $game_party.members[@result_member_id - 1] rescue nil
  879.       return if @actor_result == nil
  880.       @actor_result.animation_id = RESULT_LEVELUP_ANIMATION_ID
  881.       @fade_result_window = true
  882.       create_levelup
  883.       create_level
  884.       create_parameter_number
  885.       create_result_actor
  886.       create_new_skill_window
  887.   end  
  888.  
  889. end
  890.  
  891. #==============================================================================
  892. # ■ Battle Result
  893. #==============================================================================
  894. class Battle_Result
  895.  
  896.   #--------------------------------------------------------------------------
  897.   # ● Update Victory Item
  898.   #--------------------------------------------------------------------------         
  899.   def update_victory_levelup      
  900.        check_level_up if Input.trigger?(:C)
  901.        update_show_levelup
  902.        if @levelup_layout == nil
  903.           @window_treasure.update
  904.        else
  905.           @window_treasure.contents_opacity -= 15
  906.        end
  907.   end
  908.  
  909.   #--------------------------------------------------------------------------
  910.   # ● Update Show Level UP
  911.   #--------------------------------------------------------------------------            
  912.   def update_show_levelup
  913.       return if @levelup_layout == nil
  914.       return if @result_actor_sprite == nil
  915.       @new_skill_window.update
  916.       if @result_actor_sprite.x > @result_actor_org[0]
  917.          @result_actor_sprite.x -= 5
  918.          @result_actor_sprite.opacity += 7
  919.          if @result_actor_sprite.x <= @result_actor_org[0]
  920.             @result_actor_sprite.x = @result_actor_org[0]
  921.             @result_actor_sprite.opacity = 255
  922.          end
  923.       end
  924.       if @levelup_word.zoom_x > 1.00
  925.          @levelup_word.zoom_x -= 0.03
  926.          if @levelup_word.zoom_x < 1.00
  927.             @levelup_word.zoom_x = 1.00
  928.             @levelup_word.blend_type = 0
  929.          end
  930.       end
  931.       @levelup_word.zoom_y = @levelup_word.zoom_x
  932.       if @parameter_sprite.x < RESULT_PARAMETER_POSITION[0]
  933.          @parameter_sprite.opacity += 13
  934.          @parameter_sprite.x += 5
  935.          if @parameter_sprite.x >= RESULT_PARAMETER_POSITION[0]
  936.             @parameter_sprite.opacity = 255
  937.             @parameter_sprite.x = RESULT_PARAMETER_POSITION[0]
  938.          end   
  939.       end  
  940.   end   
  941.  
  942. end
  943.  
  944. #==============================================================================
  945. # ■ Window Result Skill
  946. #==============================================================================
  947. class Window_Result_Skill < Window_Base
  948.  
  949.   #--------------------------------------------------------------------------
  950.   # ● Initialize
  951.   #--------------------------------------------------------------------------
  952.   def initialize
  953.       super(0,0, 270, 58)
  954.       self.opacity = 160
  955.       self.contents_opacity = 255
  956.       self.contents.font.name = "Arial"
  957.       self.contents.font.bold = true
  958.       self.z = 1003
  959.       @animation_time = 999
  960.       @org = [MOG_BATLE_RESULT::RESULT_NEW_SKILL_POSITION[0],MOG_BATLE_RESULT::RESULT_NEW_SKILL_POSITION[1]]
  961.   end
  962.  
  963.   #--------------------------------------------------------------------------
  964.   # ● DrawNew Skill
  965.   #--------------------------------------------------------------------------  
  966.   def draw_new_skill(skill)
  967.       contents.clear
  968.       self.contents.font.size = 16
  969.       self.contents.font.color = Color.new(100,200,100)
  970.       contents.draw_text(0,0,100,32, "New Skill",0)
  971.       self.contents.font.color = Color.new(255,255,255)
  972.       draw_item_name_skill(skill,70,0, true, 170)
  973.       self.x = @org[0]
  974.       self.y = @org[1]
  975.       @animation_time = 0
  976.       self.opacity = 0
  977.       self.contents_opacity = 0      
  978.   end  
  979.  
  980.   #--------------------------------------------------------------------------
  981.   # ● Draw Item Name
  982.   #--------------------------------------------------------------------------
  983.   def draw_item_name_skill(item, x, y, enabled = true, width = 172)
  984.       return unless item
  985.       draw_icon(item.icon_index, x, y, enabled)
  986.       change_color(normal_color, enabled)
  987.       draw_text(x + 24, y + 4, width, line_height, item.name)
  988.   end
  989.  
  990.   #--------------------------------------------------------------------------
  991.   # ● Update
  992.   #--------------------------------------------------------------------------  
  993.   def update
  994.       super
  995.       return if @animation_time == 999  
  996.       @animation_time += 1 if @animation_time != 999
  997.       case @animation_time
  998.           when 0..30
  999.             self.y -= 1
  1000.             self.opacity += 5
  1001.             self.contents_opacity += 5                  
  1002.           when 31..60
  1003.             self.y += 1
  1004.             self.opacity += 5
  1005.             self.contents_opacity += 5                     
  1006.           else
  1007.             self.y = @org[1]
  1008.             self.opacity = 255
  1009.             self.contents_opacity = 255
  1010.             @animation_time = 999      
  1011.       end
  1012.   end  
  1013.  
  1014. end
  1015.  
  1016. $mog_battle_result = true

怎么设置成不读取图片     比如Actor1.png    如图

VBQ]DN}YRO[DJI2X2})$X2V.jpg (124.62 KB, 下载次数: 18)

VBQ]DN}YRO[DJI2X2})$X2V.jpg
你的意思就是要打架咯?

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
2
发表于 2013-11-9 16:12:29 | 只看该作者
最简单的办法:弄个同名空白文件丢进文件夹里
一定要改脚本?好吧,脚本第777行,删除掉吧(没试过,不保证出错。),所以推荐用方法1

评分

参与人数 1星屑 +66 收起 理由
熊喵酱 + 66 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 07:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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