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

Project1

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

[已经过期] 请问MOG战斗结算脚本中,怎么把掉落物品显示改成1列

[复制链接]

Lv4.逐梦者

梦石
8
星屑
4801
在线时间
1567 小时
注册时间
2014-1-9
帖子
402

开拓者

跳转到指定楼层
1
发表于 2017-8-13 19:10:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

如题,请问MOG战斗结算脚本中,怎么把掉落物品显示改成1列?

这里原来是3列,怎么改成1列..改了下午半天都没会,但是我1列改是改出来了,不过这样改的话..原来居中和居右显示的物品改后就无法显示了...

附上脚本:
  1. #==============================================================================
  2. # +++ MOG - Battle Result (1.8) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # http://www.atelier-rgss.com
  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. # v1.8 - Melhoria na compatibilidade.
  22. #==============================================================================
  23. module MOG_BATLE_RESULT
  24.   #Posição do EXP.
  25.   RESULT_EXP_POSITION = [440,80]
  26.   #Posição do GOLD.
  27.   RESULT_GOLD_POSITION = [476,125]
  28.   #Posição da palavra LeveL UP.
  29.   RESULT_LEVELWORD_POSITION = [0,0]
  30.   #Posição do Level.
  31.   RESULT_LEVEL_POSITION = [230,-7]
  32.   #Posição dos parâmetros
  33.   RESULT_PARAMETER_POSITION = [70,70]
  34.   #Posição da janela de skill.
  35.   RESULT_NEW_SKILL_POSITION = [240,230]
  36.   #Definição da animação de Level UP.
  37.   RESULT_LEVELUP_ANIMATION_ID = 116
  38. end

  39. $imported = {} if $imported.nil?
  40. $imported[:mog_battler_result] = true

  41. #==============================================================================
  42. # ■ Game Temp
  43. #==============================================================================
  44. class Game_Temp
  45.   attr_accessor :level_parameter
  46.   attr_accessor :level_parameter_old
  47.   attr_accessor :result
  48.   attr_accessor :battle_end

  49.   #--------------------------------------------------------------------------
  50.   # ● Initialize
  51.   #--------------------------------------------------------------------------
  52.   alias mog_result_initialize initialize
  53.   def initialize
  54.       @level_parameter = [] ; @level_parameter_old = []
  55.       @result = false ; @battle_end = false
  56.       mog_result_initialize
  57.   end

  58.   #--------------------------------------------------------------------------
  59.   # ● Sprite Visible
  60.   #--------------------------------------------------------------------------   
  61.   def sprite_visible
  62.       return false if $game_message.visible
  63.       return false if $game_temp.battle_end
  64.       return true
  65.   end   
  66.   
  67. end

  68. #==============================================================================
  69. # ■ Game Actor
  70. #==============================================================================
  71. class Game_Actor < Game_Battler

  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. end

  84. #==============================================================================
  85. # ■ BattleManager
  86. #==============================================================================
  87. module BattleManager
  88.   
  89.   #--------------------------------------------------------------------------
  90.   # ● Process Victory
  91.   #--------------------------------------------------------------------------
  92.   def self.process_victory
  93.       play_battle_end_me
  94.       replay_bgm_and_bgs
  95.       if $mog_rgss3_battle_cry != nil
  96.          execute_battle_cry(1, nil, nil)
  97.       end   
  98.       battle_end(0)
  99.       SceneManager.return
  100.       return true
  101.   end
  102.    
  103. end

  104. #==============================================================================
  105. # ■ Spriteset Battle
  106. #==============================================================================
  107. class Scene_Battle < Scene_Base
  108.   
  109.   #--------------------------------------------------------------------------
  110.   # ● Dispose
  111.   #--------------------------------------------------------------------------               
  112.   alias mog_battle_result_pre_terminate pre_terminate
  113.   def pre_terminate
  114.       execute_result if can_enable_battle_result?
  115.       mog_battle_result_pre_terminate
  116.   end  
  117.   
  118.   #--------------------------------------------------------------------------
  119.   # ● Can Enable Battle Result?
  120.   #--------------------------------------------------------------------------   
  121.   def can_enable_battle_result?
  122.       return false if !$game_troop.all_dead?
  123.       return false if $game_party.members.empty?
  124.       return false if $game_party.all_dead?      
  125.       return true
  126.   end
  127.    
  128.   #--------------------------------------------------------------------------
  129.   # ● Execute Result
  130.   #--------------------------------------------------------------------------                  
  131.   def execute_result
  132.       result = Battle_Result.new
  133.       $game_temp.combo_hit[2] = 0 rescue nil if $imported[:mog_combo_count]
  134.       loop do
  135.            result.update ; @spriteset.update
  136.            Graphics.update ; Input.update
  137.            break if result.victory_phase == 10
  138.       end
  139.       result.dispose
  140.   end  
  141.   
  142. end

  143. #==============================================================================
  144. # ■ Battle Result
  145. #==============================================================================
  146. class Battle_Result
  147.   include MOG_BATLE_RESULT
  148.   
  149.   attr_accessor :victory_phase
  150.    
  151.   #--------------------------------------------------------------------------
  152.   # ● Initialize
  153.   #--------------------------------------------------------------------------      
  154.   def initialize
  155.       $game_temp.battle_end = true ; $game_temp.result = true
  156.       @victory_phase = 0 ; @victory_wait_duration = 0
  157.       @fade_result_window = false ; create_victory_sprites
  158.   end
  159.   
  160.   #--------------------------------------------------------------------------
  161.   # ● Create Victory Sprites
  162.   #--------------------------------------------------------------------------   
  163.   def create_victory_sprites
  164.       @result_number = Cache.system("Result_Number_1")
  165.       @result_number2 = Cache.system("Result_Number_2")
  166.       @result_cw = @result_number.width / 10
  167.       @result_ch = @result_number.height / 2         
  168.       @result2_cw = @result_number2.width / 10
  169.       @result2_ch = @result_number2.height / 2  
  170.       create_victory_text ; create_victory_layout ; create_victory_exp
  171.       create_victory_gold ; create_window_treasure
  172.   end  

  173.   #--------------------------------------------------------------------------
  174.   # ● Victory Wait ?
  175.   #--------------------------------------------------------------------------        
  176.   def victory_wait?
  177.       return false if @victory_wait_duration <= 0
  178.       @victory_wait_duration -= 1
  179.       return true
  180.   end     
  181.   
  182.   #--------------------------------------------------------------------------
  183.   # ● End Victory
  184.   #--------------------------------------------------------------------------   
  185.   def end_victory
  186.       @victory_wait_duration = 10 ; dispose
  187.   end
  188.   
  189.   #--------------------------------------------------------------------------
  190.   # ● Create Victory Layout
  191.   #--------------------------------------------------------------------------      
  192.   def create_victory_layout
  193.       return if @victory_layout_sprite != nil
  194.       @victory_layout_sprite = Sprite.new
  195.       @victory_layout_sprite.z = 1001
  196.       @victory_layout_sprite.bitmap = Cache.system("Result_Layout")
  197.       @victory_layout_sprite.zoom_x = 2.0
  198.       @victory_layout_sprite.opacity = 0
  199.   end  
  200.   
  201.   #--------------------------------------------------------------------------
  202.   # ● Create Victory Text
  203.   #--------------------------------------------------------------------------      
  204.   def create_victory_text
  205.       return if @victory_sprite != nil
  206.       @victory_sprite = Sprite.new
  207.       @victory_sprite.z = 1000
  208.       @victory_sprite.bitmap = Cache.system("Result")
  209.       @victory_sprite.ox = @victory_sprite.width / 2
  210.       @victory_sprite.oy = @victory_sprite.height / 2
  211.       @victory_sprite.x = @victory_sprite.ox
  212.       @victory_sprite.y = @victory_sprite.oy
  213.       @victory_sprite.zoom_x = 1.5
  214.       @victory_sprite.zoom_y = 1.5
  215.       @victory_sprite.opacity = 0   
  216.   end  
  217.   
  218. end

  219. #==============================================================================
  220. # ■ Battle Result
  221. #==============================================================================
  222. class Battle_Result
  223.   
  224.   #--------------------------------------------------------------------------
  225.   # ● Dispose
  226.   #--------------------------------------------------------------------------      
  227.   def dispose
  228.       $game_temp.result = false
  229.       @victory_sprite.bitmap.dispose ; @victory_sprite.dispose
  230.       @victory_layout_sprite.bitmap.dispose ; @victory_layout_sprite.dispose
  231.       @exp_number.bitmap.dispose ; @exp_number.dispose
  232.       @gold_number.bitmap.dispose ; @gold_number.dispose
  233.       @result_number.dispose ; @window_treasure.dispose
  234.       dispose_level_up ; @result_number.dispose ; @result_number2.dispose
  235.       @tr_viewport.dispose
  236.   end  
  237.    
  238.   #--------------------------------------------------------------------------
  239.   # ● Dispose Result Actor Bitmap
  240.   #--------------------------------------------------------------------------              
  241.   def dispose_result_actor_bitmap
  242.       return if @result_actor_sprite == nil
  243.       return if @result_actor_sprite.bitmap == nil
  244.       @result_actor_sprite.bitmap.dispose
  245.   end
  246.   
  247.   #--------------------------------------------------------------------------
  248.   # ● Dispose Level UP
  249.   #--------------------------------------------------------------------------        
  250.   def dispose_level_up
  251.       return if @levelup_layout == nil
  252.       @levelup_layout.bitmap.dispose ; @levelup_layout.dispose
  253.       @levelup_word.bitmap.dispose ; @levelup_word.dispose
  254.       @result_actor_sprite.bitmap.dispose ; @result_actor_sprite.dispose
  255.       @parameter_sprite.bitmap.dispose ; @parameter_sprite.dispose
  256.       @level_sprite.bitmap.dispose ; @level_sprite.dispose
  257.       @new_skill_window.dispose if @new_skill_window
  258.   end
  259.   
  260. end

  261. #==============================================================================
  262. # ■ Battle Result
  263. #==============================================================================
  264. class Battle_Result
  265.   
  266.   #--------------------------------------------------------------------------
  267.   # ● Update
  268.   #--------------------------------------------------------------------------  
  269.   def update
  270.       $game_temp.battle_end = true
  271.       if $mog_rgss3_pause != nil
  272.          update_pause if MOG_PAUSE::PAUSE_SCENE_BATTLE
  273.       end   
  274.       return if @victory_phase == nil
  275.       update_victory_fade if @fade_result_window
  276.       return if victory_wait?
  277.       case @victory_phase
  278.          when 0;  update_victory_initial
  279.          when 1;  update_victory_initial2
  280.          when 2;  update_victory_initial3
  281.          when 3;  update_victory_exp
  282.          when 4;  update_victory_gold
  283.          when 5;  update_victory_item
  284.          when 6;  update_victory_levelup
  285.          when 9;  update_skip_result
  286.       end
  287.       if Input.trigger?(:C)
  288.          if @victory_phase == 10
  289.             end_victory
  290.          elsif @victory_phase.between?(1,5)
  291.             Sound.play_cursor ; @victory_phase = 9
  292.          end         
  293.       end   
  294.   end
  295.   
  296.   #--------------------------------------------------------------------------
  297.   # ● Skip Result
  298.   #--------------------------------------------------------------------------         
  299.   def update_skip_result
  300.       @victory_sprite.opacity -= 10
  301.       @victory_sprite.visible = false
  302.       @victory_layout_sprite.opacity += 10
  303.       @victory_layout_sprite.zoom_x = 1.00
  304.       @gold_number.opacity += 10
  305.       @gold_number.zoom_x = 1.00
  306.       @gold_number.zoom_y = 1.00
  307.       @exp_number.opacity += 10
  308.       @exp_number.zoom_x = 1.00
  309.       @exp_number.zoom_y = 1.00      
  310.       @window_treasure.contents_opacity += 10
  311.       if @exp_old != @exp_total
  312.          @exp_old = @exp_total
  313.          refresh_exp_number
  314.       end
  315.       if @gold_old = @gold_total  
  316.          @gold_old = @gold_total
  317.          refresh_gold_number
  318.       end   
  319.       @window_treasure.x = 0
  320.       update_victory_item if @window_treasure.contents_opacity == 255
  321.   end  
  322.   
  323.   #--------------------------------------------------------------------------
  324.   # ● Update Victory Fade
  325.   #--------------------------------------------------------------------------      
  326.   def update_victory_fade
  327.       fade_speed = 10
  328.       @victory_sprite.opacity -= fade_speed
  329.       @victory_layout_sprite.opacity -= fade_speed
  330.       @gold_number.opacity -= fade_speed
  331.       @exp_number.opacity -= fade_speed
  332.       @window_treasure.contents_opacity -= fade_speed
  333.   end
  334.   
  335.   #--------------------------------------------------------------------------
  336.   # ● Update Victory Initial
  337.   #--------------------------------------------------------------------------      
  338.   def update_victory_initial
  339.       @victory_sprite.zoom_x -= 0.01
  340.       @victory_sprite.zoom_y -= 0.01
  341.       @victory_sprite.opacity += 10
  342.       if @victory_sprite.zoom_x <= 1.00
  343.          @victory_sprite.zoom_x = 1
  344.          @victory_sprite.zoom_y = 1
  345.          @victory_sprite.opacity = 255
  346.          @victory_phase = 1
  347.          @victory_wait_duration = 20
  348.       end
  349.   end

  350.   #--------------------------------------------------------------------------
  351.   # ● Update Victory Initial 2
  352.   #--------------------------------------------------------------------------      
  353.   def update_victory_initial2
  354.       @victory_sprite.zoom_x += 0.01
  355.       @victory_sprite.zoom_y += 0.01
  356.       @victory_sprite.opacity -= 10
  357.       if @victory_sprite.opacity <= 0
  358.          @victory_sprite.zoom_x = 1
  359.          @victory_sprite.zoom_y = 1
  360.          @victory_sprite.opacity = 0
  361.          @victory_phase = 2
  362.       end
  363.   end

  364.   #--------------------------------------------------------------------------
  365.   # ● Update Victory Initial 3
  366.   #--------------------------------------------------------------------------        
  367.   def update_victory_initial3   
  368.       @victory_layout_sprite.zoom_x -= 0.02
  369.       @victory_layout_sprite.opacity += 10
  370.       if @victory_layout_sprite.zoom_x <= 1.00
  371.          @victory_layout_sprite.zoom_x = 1
  372.          @victory_layout_sprite.opacity = 255
  373.          @victory_phase = 3
  374.       end              
  375.   end   
  376.       
  377. end

  378. #==============================================================================
  379. # ■ Battle Result
  380. #==============================================================================
  381. class Battle_Result

  382.   #--------------------------------------------------------------------------
  383.   # ● Create Victory Exp
  384.   #--------------------------------------------------------------------------      
  385.   def create_victory_exp
  386.       @exp_number = Sprite.new
  387.       @exp_number.bitmap = Bitmap.new(@result_number.width,@result_ch)
  388.       @exp_number.z = 1002 ; @exp_number.y = RESULT_EXP_POSITION[1]
  389.       @exp_number.zoom_x = 2 ; @exp_number.zoom_y = 2
  390.       @exp_total = $game_troop.exp_total ; @exp_number.opacity = 0
  391.       @exp_old = 0
  392.       @exp_ref = ((1 * @exp_total) / 111).truncate rescue nil
  393.       @exp_ref = 1 if @exp_ref < 1 or @exp_ref == nil      
  394.       @exp_ref = 0 if @exp_total == 0
  395.       refresh_exp_number
  396.   end
  397.   
  398.   #--------------------------------------------------------------------------
  399.   # ● Update Victory Exp
  400.   #--------------------------------------------------------------------------        
  401.   def update_victory_exp
  402.       update_exp_sprite ; update_exp_number
  403.   end
  404.   
  405.   #--------------------------------------------------------------------------
  406.   # ● Update EXP Sprite
  407.   #--------------------------------------------------------------------------         
  408.   def update_exp_sprite
  409.       @exp_number.opacity += 15
  410.       if @exp_number.zoom_x > 1.00
  411.          @exp_number.zoom_x -= 0.03
  412.          @exp_number.zoom_x = 1.00 if @exp_number.zoom_x <= 1.00
  413.       end
  414.       @exp_number.zoom_y = @exp_number.zoom_x
  415.       if (@exp_old >= @exp_total) and @exp_number.zoom_x == 1.00
  416.          @victory_phase = 4
  417.          Sound.play_cursor
  418.       end   
  419.   end

  420.   #--------------------------------------------------------------------------
  421.   # ● Refresh Exp Number
  422.   #--------------------------------------------------------------------------        
  423.   def refresh_exp_number
  424.       @exp_number.bitmap.clear
  425.       draw_result_exp(@exp_old, 0,0)      
  426.   end

  427.   #--------------------------------------------------------------------------
  428.   # ● Update Exp_number
  429.   #--------------------------------------------------------------------------
  430.   def update_exp_number
  431.       return if @exp_old == @exp_total
  432.       @exp_old += @exp_ref
  433.       @exp_old = @exp_total if @exp_old > @exp_total
  434.       refresh_exp_number
  435.   end

  436.   #--------------------------------------------------------------------------
  437.   # ● Draw Result EXP
  438.   #--------------------------------------------------------------------------        
  439.   def draw_result_exp(value,x,y)
  440.       ncw = @result_cw ; nch = @result_ch ; number = value.abs.to_s.split(//)
  441.       x2 = x - (number.size * ncw)
  442.       @exp_number.ox = (number.size * ncw) / 2
  443.       @exp_number.oy = @result_ch / 2
  444.       @exp_number.x = (RESULT_EXP_POSITION[0] + @result_cw + @exp_number.ox) - (number.size * ncw)
  445.       for r in 0..number.size - 1
  446.           number_abs = number[r].to_i
  447.           nsrc_rect = Rect.new(ncw * number_abs, 0, ncw, nch)
  448.           @exp_number.bitmap.blt(x + (ncw *  r), y, @result_number, nsrc_rect)        
  449.       end
  450.   end

  451. end

  452. #==============================================================================
  453. # ■ Battle Result
  454. #==============================================================================
  455. class Battle_Result

  456.   #--------------------------------------------------------------------------
  457.   # ● Create Victory Gold
  458.   #--------------------------------------------------------------------------      
  459.   def create_victory_gold
  460.       @gold_number = Sprite.new
  461.       @gold_number.bitmap = Bitmap.new(@result_number.width,@result_ch)
  462.       @gold_number.z = 1002
  463.       @gold_number.y = RESULT_GOLD_POSITION[1]
  464.       @gold_number.opacity = 0
  465.       @gold_number.zoom_x = 2
  466.       @gold_number.zoom_y = 2      
  467.       @gold_total = $game_troop.gold_total
  468.       @gold_old = 0
  469.       @gold_ref = ((1 * @gold_total) / 111).truncate rescue nil
  470.       @gold_ref = 1 if @gold_ref < 1 or @gold_ref == nil      
  471.       @gold_ref = 0 if @gold_total == 0
  472.       $game_party.gain_gold($game_troop.gold_total)
  473.       refresh_gold_number
  474.   end   
  475.   
  476.   #--------------------------------------------------------------------------
  477.   # ● Update Victory Gold
  478.   #--------------------------------------------------------------------------        
  479.   def update_victory_gold
  480.       update_gold_sprite ; update_gold_number
  481.   end
  482.   
  483.   #--------------------------------------------------------------------------
  484.   # ● Update GOLD Sprite
  485.   #--------------------------------------------------------------------------         
  486.   def update_gold_sprite
  487.       @gold_number.opacity += 15
  488.       if @gold_number.zoom_x > 1.00
  489.          @gold_number.zoom_x -= 0.03
  490.          @gold_number.zoom_x = 1.00 if @gold_number.zoom_x <= 1.00
  491.       end
  492.       @gold_number.zoom_y = @gold_number.zoom_x
  493.       if @gold_old >= @gold_total and @gold_number.zoom_x == 1.00
  494.          @victory_phase = 5 ; Sound.play_cursor
  495.       end   
  496.   end  
  497.   
  498.   #--------------------------------------------------------------------------
  499.   # ● Refresh gold Number
  500.   #--------------------------------------------------------------------------        
  501.   def refresh_gold_number
  502.       @gold_number.bitmap.clear
  503.       draw_result_gold(@gold_old, 0,0)      
  504.   end
  505.   
  506.   #--------------------------------------------------------------------------
  507.   # ● Update Gold Number
  508.   #--------------------------------------------------------------------------
  509.   def update_gold_number
  510.       return if @gold_old == @gold_total
  511.       @gold_old += @gold_ref
  512.       @gold_old = @gold_total if @gold_old > @gold_total
  513.       refresh_gold_number
  514.   end      
  515.   
  516.   #--------------------------------------------------------------------------
  517.   # ● Draw Result Gold
  518.   #--------------------------------------------------------------------------        
  519.   def draw_result_gold(value,x,y)
  520.       ncw = @result_cw ; nch = @result_ch
  521.       number = value.abs.to_s.split(//)
  522.       x2 = x - (number.size * ncw)
  523.       @gold_number.ox = (number.size * ncw) / 2
  524.       @gold_number.oy = @result_ch / 2
  525.       @gold_number.x = (RESULT_GOLD_POSITION[0] + @result_cw + @gold_number.ox) - (number.size * ncw)
  526.       for r in 0..number.size - 1
  527.           number_abs = number[r].to_i
  528.           nsrc_rect = Rect.new(ncw * number_abs, @result_ch, ncw, nch)
  529.           @gold_number.bitmap.blt(x + (ncw *  r), y, @result_number, nsrc_rect)        
  530.       end
  531.   end

  532. end

  533. #==============================================================================
  534. # ■ Battle Result
  535. #==============================================================================
  536. class Battle_Result
  537.   
  538.   #--------------------------------------------------------------------------
  539.   # ● Create Window Treasure
  540.   #--------------------------------------------------------------------------            
  541.   def create_window_treasure
  542.       @tr_viewport = Viewport.new(-8, 164, Graphics.width + 32, 118)
  543.       @tr_viewport.z = 1003
  544.       @window_treasure = Window_Treasure.new
  545.       @window_treasure.viewport = @tr_viewport
  546.   end  
  547.   
  548.   #--------------------------------------------------------------------------
  549.   # ● Update Victory Item
  550.   #--------------------------------------------------------------------------         
  551.   def update_victory_item
  552.       @window_treasure.update
  553.       @actor_level = []
  554.       return if @window_treasure.x != 0 and @victory_phase >= 6
  555.       @victory_phase = 6
  556.       if $data_system.opt_extra_exp
  557.          @result_member_max = $game_party.members.size
  558.       else
  559.          @result_member_max = $game_party.battle_members.size
  560.       end
  561.       @result_member_id = 0
  562.   end
  563.   
  564. end

  565. #==============================================================================
  566. # ■ Window Treasure
  567. #==============================================================================
  568. class Window_Treasure < Window_Base

  569.   #--------------------------------------------------------------------------
  570.   # ● Initialize
  571.   #--------------------------------------------------------------------------
  572.   def initialize
  573.       super(-Graphics.width,-10, Graphics.width + 32, 288)
  574.       self.opacity = 0 ; self.contents_opacity = 0
  575.       self.contents.font.size = 24 ; self.contents.font.bold = true
  576.       self.z = 1003 ; @range_max = 256 ; @wait_time = 30 ; @scroll = false
  577.       draw_treasure
  578.   end

  579.   #--------------------------------------------------------------------------
  580.   # ● Draw_Treasure
  581.   #--------------------------------------------------------------------------  
  582.   def draw_treasure
  583.       contents.clear
  584.       space_x = Graphics.width / 3
  585.       $game_troop.make_drop_items.each_with_index do |item, index|
  586.          xi = (index * space_x) - ((index / 3) * (space_x * 3))        
  587.          yi = (index / 3) * 32
  588.          $game_party.gain_item(item, 1)
  589.          draw_item_name(item,xi, yi, true, 140)
  590.      end
  591.      @range_max = ($game_troop.make_drop_items.size / 3) * 32
  592.      @scroll = true if $game_troop.make_drop_items.size > 12
  593.   end  
  594.   
  595.   #--------------------------------------------------------------------------
  596.   # ● Update
  597.   #--------------------------------------------------------------------------  
  598.   def update
  599.       super
  600.       self.contents_opacity += 10
  601.       if self.x < 0
  602.          self.x += 15
  603.         (self.x = 0 ; Sound.play_cursor) if self.x >= 0
  604.       end
  605.       if @scroll and self.contents_opacity == 255 and self.x == 0
  606.          @wait_time -= 1 if  @wait_time > 0
  607.          return if @wait_time > 0
  608.          self.y -= 1
  609.          self.y = 128 if self.y < -@range_max
  610.          @wait_time = 30 if self.y == -10
  611.       end
  612.   end

  613. end

  614. #==============================================================================
  615. # ■ Battle Result
  616. #==============================================================================
  617. class Battle_Result
  618.   
  619.   #--------------------------------------------------------------------------
  620.   # ● Create Levelup
  621.   #--------------------------------------------------------------------------            
  622.   def create_levelup
  623.       if @levelup_layout == nil
  624.          @levelup_layout = Sprite.new ; @levelup_layout.z = 1000
  625.          @levelup_layout.bitmap = Cache.system("Result_Levelup")
  626.       end
  627.       if @levelup_word == nil
  628.          @levelup_word = Sprite.new ; @levelup_word.z = 1001
  629.          @levelup_word.bitmap = Cache.system("Result_Levelword")
  630.          @levelup_word.ox = @levelup_word.bitmap.width / 2
  631.          @levelup_word.oy = @levelup_word.bitmap.height / 2
  632.          @levelup_word.x = @levelup_word.ox + RESULT_LEVELWORD_POSITION[0]
  633.          @levelup_word.y = @levelup_word.oy + RESULT_LEVELWORD_POSITION[1]
  634.       end
  635.       @levelup_word.blend_type = 1
  636.       @levelup_word.zoom_x = 2 ; @levelup_word.zoom_y = 2      
  637.   end  
  638.   
  639.   #--------------------------------------------------------------------------
  640.   # ● Create Parameter Number
  641.   #--------------------------------------------------------------------------              
  642.   def create_parameter_number
  643.       if @parameter_sprite == nil
  644.          @parameter_sprite = Sprite.new
  645.          @parameter_sprite.bitmap = Bitmap.new(250,220)
  646.          @parameter_sprite.z = 1001
  647.          @parameter_sprite.x = RESULT_PARAMETER_POSITION[0]
  648.          @parameter_sprite.y = RESULT_PARAMETER_POSITION[1]
  649.          @parameter_sprite.bitmap.font.size = 16
  650.          @parameter_sprite.bitmap.font.bold = true         
  651.       end
  652.       refresh_parameter
  653.   end
  654.   
  655.   #--------------------------------------------------------------------------
  656.   # ● Refresh Parameter
  657.   #--------------------------------------------------------------------------               
  658.   def refresh_parameter
  659.        @parameter_animation = 0
  660.        @parameter_sprite.bitmap.clear
  661.        @parameter_sprite.opacity = 0
  662.        @parameter_sprite.x = RESULT_PARAMETER_POSITION[0] - 200
  663.        actor_old = $game_temp.level_parameter_old
  664.        draw_result_parameter(@actor_result.mhp,actor_old[1],0,28 * 0)
  665.        draw_result_parameter(@actor_result.mmp,actor_old[2],0,28 * 1)
  666.        draw_result_parameter(@actor_result.atk,actor_old[3],0,28 * 2)
  667.        draw_result_parameter(@actor_result.def,actor_old[4],0,28 * 3)
  668.        draw_result_parameter(@actor_result.mat,actor_old[5],0,28 * 4)
  669.        draw_result_parameter(@actor_result.mdf,actor_old[6],0,28 * 5)
  670.        draw_result_parameter(@actor_result.agi,actor_old[7],0,28 * 6)
  671.        draw_result_parameter(@actor_result.luk,actor_old[8],0,28 * 7)
  672.   end  
  673.   
  674.   #--------------------------------------------------------------------------
  675.   # ● Draw Result EXP
  676.   #--------------------------------------------------------------------------        
  677.   def draw_result_parameter(value,value2,x,y)
  678.       ncw = @result2_cw ; nch = @result2_ch ; number = value.abs.to_s.split(//)
  679.       x2 = x + (number.size * ncw) + 16
  680.       for r in 0..number.size - 1
  681.           number_abs = number[r].to_i
  682.           nsrc_rect = Rect.new(ncw * number_abs, 0, ncw, nch)
  683.           @parameter_sprite.bitmap.blt(x + (ncw *  r), y, @result_number2, nsrc_rect)        
  684.       end
  685.       value3 = value - value2
  686.       par = ""
  687.       if value > value2
  688.          par = "+"
  689.          @parameter_sprite.bitmap.font.color = Color.new(50,255,255)
  690.       elsif value < value2
  691.          par = ""
  692.          @parameter_sprite.bitmap.font.color = Color.new(255,155,100)
  693.       end
  694.       return if value == value2
  695.       @parameter_sprite.bitmap.draw_text(x2,y - 8,100,32,par.to_s + value3.to_s,0)   
  696.   end  
  697.   
  698.   #--------------------------------------------------------------------------
  699.   # ● Create Result Actor
  700.   #--------------------------------------------------------------------------            
  701.   def create_result_actor
  702.       if @result_actor_sprite == nil
  703.          @result_actor_sprite = Sprite.new ; @result_actor_sprite.z = 999
  704.       end
  705.       dispose_result_actor_bitmap
  706.       @result_actor_sprite.bitmap = Cache.picture("Actor" + @actor_result.id.to_s)
  707.       @result_actor_org = [380 - (@result_actor_sprite.bitmap.width / 2), Graphics.height - @result_actor_sprite.bitmap.height]
  708.       @result_actor_sprite.x = @result_actor_org[0] + 200
  709.       @result_actor_sprite.y = @result_actor_org[1]
  710.       @result_actor_sprite.opacity = 0
  711.   end  

  712.   #--------------------------------------------------------------------------
  713.   # ● Check New Skill
  714.   #--------------------------------------------------------------------------              
  715.   def check_new_skill
  716.       @new_skills = $game_temp.level_parameter[1] ; @new_skills_index = 0
  717.   end
  718.      
  719.   #--------------------------------------------------------------------------
  720.   # ● Show New Skill
  721.   #--------------------------------------------------------------------------               
  722.   def show_new_skill(start = false)
  723.       Sound.play_recovery unless start
  724.       @new_skill_window.draw_new_skill(@new_skills[@new_skills_index])
  725.       @new_skills_index += 1
  726.       if @new_skills_index == @new_skills.size or
  727.          @new_skills[@new_skills_index] == nil
  728.          @new_skills = nil
  729.       end   
  730.   end
  731.   
  732.   #--------------------------------------------------------------------------
  733.   # ● Check Level UP
  734.   #--------------------------------------------------------------------------            
  735.   def check_level_up   
  736.       if @new_skills != nil and !@new_skills.empty?
  737.          show_new_skill
  738.          return
  739.        end  
  740.       for battler_id in @result_member_id..@result_member_max
  741.           actor_result = $game_party.members[@result_member_id]  
  742.           $game_temp.level_parameter = []
  743.           $game_temp.level_parameter_old = []
  744.           $game_temp.level_parameter_old = [actor_result.level,actor_result.mhp,actor_result.mmp,
  745.           actor_result.atk, actor_result.def, actor_result.mat, actor_result.mdf, actor_result.agi, actor_result.luk] rescue nil
  746.           actor_result.gain_exp($game_troop.exp_total) rescue nil
  747.           @result_member_id += 1 ; @new_skills = nil ; @new_skills_index = 0
  748.           if @result_member_id > $game_party.battle_members.size
  749.              $game_temp.level_parameter = []
  750.              $game_temp.level_parameter_old = []
  751.              next
  752.           end
  753.           if $game_temp.level_parameter != nil and !$game_temp.level_parameter.empty?
  754.              show_level_result
  755.              break
  756.           end   
  757.       end
  758.       return if !$game_temp.level_parameter.empty?
  759.       @victory_phase = 10 if @result_member_id >= @result_member_max
  760.   end  
  761.   
  762.   #--------------------------------------------------------------------------
  763.   # ● Create Level
  764.   #--------------------------------------------------------------------------               
  765.   def create_level
  766.       if @level_sprite == nil
  767.          @level_sprite = Sprite.new ; @level_sprite.bitmap = Bitmap.new(200,64)
  768.          @level_sprite.z = 1002
  769.       end      
  770.       @level_sprite.bitmap.font.size = 48
  771.       @level_sprite.bitmap.font.bold = true
  772.       @level_sprite.x = RESULT_LEVEL_POSITION[0]
  773.       @level_sprite.y = RESULT_LEVEL_POSITION[1]
  774.       @level_sprite.bitmap.clear
  775.       @level_sprite.bitmap.font.color = Color.new(255,255,255)
  776.       @level_sprite.bitmap.draw_text(0,0,100,64,@actor_result.level,1)
  777.       levelup = @actor_result.level - $game_temp.level_parameter_old[0]
  778.       @level_sprite.bitmap.font.color = Color.new(50,255,255)
  779.       @level_sprite.bitmap.font.size = 18
  780.       @level_sprite.bitmap.draw_text(80,0,100,64,"+" + levelup.to_s ,0)
  781.   end
  782.   
  783.   #--------------------------------------------------------------------------
  784.   # ● Create New Skill Windos
  785.   #--------------------------------------------------------------------------                  
  786.   def create_new_skill_window
  787.       @new_skill_window = Window_Result_Skill.new if @new_skill_window == nil
  788.       @new_skill_window.x = RESULT_NEW_SKILL_POSITION[0]
  789.       @new_skill_window.y = RESULT_NEW_SKILL_POSITION[1]
  790.       check_new_skill
  791.       if @new_skills != nil and !@new_skills.empty?
  792.          show_new_skill
  793.       else  
  794.          @new_skill_window.x = -Graphics.width
  795.       end
  796.   end  
  797.   
  798.   #--------------------------------------------------------------------------
  799.   # ● Show Level Result
  800.   #--------------------------------------------------------------------------              
  801.   def show_level_result
  802.       Sound.play_cursor
  803.       @actor_result = $game_party.members[@result_member_id - 1] rescue nil
  804.       return if @actor_result == nil
  805.       @actor_result.animation_id = RESULT_LEVELUP_ANIMATION_ID
  806.       @fade_result_window = true
  807.       create_levelup ; create_level ; create_parameter_number
  808.       create_result_actor ; create_new_skill_window
  809.   end  
  810.   
  811. end

  812. #==============================================================================
  813. # ■ Battle Result
  814. #==============================================================================
  815. class Battle_Result
  816.   
  817.   #--------------------------------------------------------------------------
  818.   # ● Update Victory Item
  819.   #--------------------------------------------------------------------------         
  820.   def update_victory_levelup      
  821.        check_level_up if Input.trigger?(:C)
  822.        update_show_levelup
  823.        if @levelup_layout == nil
  824.           @window_treasure.update
  825.        else
  826.           @window_treasure.contents_opacity -= 15
  827.        end
  828.   end
  829.   
  830.   #--------------------------------------------------------------------------
  831.   # ● Update Show Level UP
  832.   #--------------------------------------------------------------------------            
  833.   def update_show_levelup
  834.       return if @levelup_layout == nil
  835.       return if @result_actor_sprite == nil
  836.       @new_skill_window.update
  837.       if @result_actor_sprite.x > @result_actor_org[0]
  838.          @result_actor_sprite.x -= 5
  839.          @result_actor_sprite.opacity += 7
  840.          if @result_actor_sprite.x <= @result_actor_org[0]
  841.             @result_actor_sprite.x = @result_actor_org[0]
  842.             @result_actor_sprite.opacity = 255
  843.          end
  844.       end
  845.       if @levelup_word.zoom_x > 1.00
  846.          @levelup_word.zoom_x -= 0.03
  847.          if @levelup_word.zoom_x < 1.00
  848.             @levelup_word.zoom_x = 1.00 ; @levelup_word.blend_type = 0
  849.          end
  850.       end
  851.       @levelup_word.zoom_y = @levelup_word.zoom_x
  852.       if @parameter_sprite.x < RESULT_PARAMETER_POSITION[0]
  853.          @parameter_sprite.opacity += 13
  854.          @parameter_sprite.x += 5
  855.          if @parameter_sprite.x >= RESULT_PARAMETER_POSITION[0]
  856.             @parameter_sprite.opacity = 255
  857.             @parameter_sprite.x = RESULT_PARAMETER_POSITION[0]
  858.          end   
  859.       end  
  860.   end   
  861.   
  862. end

  863. #==============================================================================
  864. # ■ Window Result Skill
  865. #==============================================================================
  866. class Window_Result_Skill < Window_Base

  867.   #--------------------------------------------------------------------------
  868.   # ● Initialize
  869.   #--------------------------------------------------------------------------
  870.   def initialize
  871.       super(0,0, 270, 58)
  872.       self.opacity = 160 ; self.contents_opacity = 255
  873.       self.contents.font.bold = true ; self.z = 1003 ; @animation_time = 999
  874.       @org = [MOG_BATLE_RESULT::RESULT_NEW_SKILL_POSITION[0],MOG_BATLE_RESULT::RESULT_NEW_SKILL_POSITION[1]]
  875.   end

  876.   #--------------------------------------------------------------------------
  877.   # ● DrawNew Skill
  878.   #--------------------------------------------------------------------------  
  879.   def draw_new_skill(skill)
  880.       contents.clear
  881.       self.contents.font.size = 16
  882.       self.contents.font.color = Color.new(100,200,100)
  883.       contents.draw_text(0,0,100,32, "New Skill",0)
  884.       self.contents.font.color = Color.new(255,255,255)
  885.       draw_item_name_skill(skill,70,0, true, 170)
  886.       self.x = @org[0] ; self.y = @org[1]
  887.       @animation_time = 0 ; self.opacity = 0 ; self.contents_opacity = 0      
  888.   end  
  889.   
  890.   #--------------------------------------------------------------------------
  891.   # ● Draw Item Name
  892.   #--------------------------------------------------------------------------
  893.   def draw_item_name_skill(item, x, y, enabled = true, width = 172)
  894.       return unless item
  895.       draw_icon(item.icon_index, x, y, enabled)
  896.       change_color(normal_color, enabled)
  897.       draw_text(x + 24, y + 4, width, line_height, item.name)
  898.   end
  899.   
  900.   #--------------------------------------------------------------------------
  901.   # ● Update
  902.   #--------------------------------------------------------------------------  
  903.   def update
  904.       super
  905.       return if @animation_time == 999  
  906.       @animation_time += 1 if @animation_time != 999
  907.       case @animation_time
  908.           when 0..30
  909.             self.y -= 1 ; self.opacity += 5 ; self.contents_opacity += 5                  
  910.           when 31..60
  911.             self.y += 1 ; self.opacity += 5 ; self.contents_opacity += 5                     
  912.           else
  913.             self.y = @org[1] ; self.opacity = 255 ; self.contents_opacity = 255
  914.             @animation_time = 999      
  915.       end
  916.   end  
  917.    
  918. end
复制代码



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

本版积分规则

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

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

GMT+8, 2024-11-17 16:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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