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

Project1

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

[已经解决] 关于MOG天气脚本的一些问题……

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
154 小时
注册时间
2013-12-20
帖子
66
跳转到指定楼层
1
发表于 2014-4-8 09:53:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 丽塔菌 于 2014-4-13 10:51 编辑
  1. #==============================================================================
  2. # +++ MOG - Weather EX (v1.5) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # http://www.atelier-rgss.com/
  6. #==============================================================================
  7. # Sistema de clima com efeitos animados.
  8. #==============================================================================
  9. # As imagens usadas pelo sistema do clima devem ser gravadas na pasta
  10. #
  11. # GRAPHICS/WEATHER/
  12. #
  13. #==============================================================================
  14. # UTILIZAÇÃO
  15. #
  16. # Use o comando abaixo através da função chamar script.*(Evento)
  17. #
  18. # weather(TYPE, POWER, IMAGE_FILE)
  19. #
  20. # TYPE - Tipo de clima. (de 0 a 6)
  21. # POWER - Quantidade de partículas na tela. (de 1 a 10)
  22. # IMAGE_FILE - Nome da imagem.
  23. #
  24. # Exemplo (Eg)
  25. #
  26. # weather(0, 5, "Leaf")
  27. #
  28. #==============================================================================
  29. # Tipos de Clima.
  30. #
  31. # O sistema vem com 7 climas pré-configurados, que podem ser testados na demo
  32. # que vem com esse script.
  33. #
  34. # 0 - (Rain)  
  35. # 1 - (Wind)
  36. # 2 - (Fog)  
  37. # 3 - (Light)
  38. # 4 - (Snow)
  39. # 5 - (Spark)
  40. # 6 - (Random)
  41. #
  42. #==============================================================================
  43. # NOTA
  44. #
  45. # Evite de usar imagens muito pesadas ou de tamanho grande, caso for usar
  46. # diminua o poder do clima para evitar lag.
  47. #
  48. #==============================================================================
  49. #==============================================================================
  50. # Para parar o clima use o comando abaixo.
  51. #
  52. # weather_stop
  53. #
  54. #==============================================================================
  55. # Para parar reativar o clima com as caracteríticas préviamente usadas use o
  56. # comando abaixo.
  57. #
  58. # weather_restore
  59. #==============================================================================
  60. # Se você precisar ativar um novo clima mas deseja gravar as caracteríticas
  61. # do clima atual para ser reativado depois use os códigos abaixo.
  62. #
  63. # weather_store
  64. # weather_restore_store
  65. #
  66. #==============================================================================

  67. #==============================================================================
  68. # ● Histórico (Version History)
  69. #==============================================================================
  70. # v 1.5 - Correção definitiva para erro de Crash randômico.
  71. # v 1.4 - Melhoria no sistema de dispose. * (Para quem estiver tendo problema
  72. #         com crashes randômicos.)
  73. # v 1.3 - Adição do comando weather_store e weather_recover_store
  74. # v 1.2 - Melhor codificação e compatibilidade.
  75. # v 1.1 - Correção do Bug de salvar através do evento.
  76. # v 1.0 - Weather EX ativo na batalha.
  77. #       - Função restore/pause que permite reativar o clima com as
  78. #         caracteríticas previamente usadas, ou seja, dá uma pausa no clima.
  79. # v 0.9 - Melhoria no sistema de dispose.
  80. #==============================================================================
  81. module MOG_WEATHER_EX
  82.   #Prioridade do clima na tela.
  83.   WEATHER_SCREEN_Z = 9
  84.   #Definição da eficiência do poder do clima.
  85.   #NOTA -  Um valor muito alto pode causar lag, dependendo do tipo de clima e
  86.   #        imagem usada.
  87.   WEATHER_POWER_EFIC = 9
  88.   #Ativar o clima no sistema de batalha.
  89.   WEATHER_BATTLE = true
  90. end

  91. #==============================================================================
  92. # ■ Cache
  93. #==============================================================================
  94. module Cache
  95.   
  96.   #--------------------------------------------------------------------------
  97.   # ● Weather
  98.   #--------------------------------------------------------------------------
  99.   def self.weather(filename)
  100.       load_bitmap("Graphics/Weather/", filename)
  101.   end
  102.   
  103. end

  104. #==============================================================================
  105. # ■ Game System
  106. #==============================================================================
  107. class Game_System
  108.   
  109.   attr_accessor :weather
  110.   attr_accessor :weather_restore
  111.   attr_accessor :weather_record_set
  112.   attr_accessor :weather_temp
  113.   
  114.   #--------------------------------------------------------------------------
  115.   # ● Initialize
  116.   #--------------------------------------------------------------------------  
  117.   alias weather_ex_initialize initialize  
  118.   def initialize
  119.       @weather = [-1,0,""]
  120.       @weather_restore = [-1,0,""]
  121.       @weather_temp = [-1,0,""]
  122.       @weather_record_set = [-1,0,""]
  123.       weather_ex_initialize
  124.   end  
  125.   
  126. end  

  127. #==============================================================================
  128. # ■ Game Temp
  129. #==============================================================================
  130. class Game_Temp

  131.   attr_accessor :weather_ex_set
  132.   attr_accessor :weather_fade
  133.   
  134.   #--------------------------------------------------------------------------
  135.   # ● Initialize
  136.   #--------------------------------------------------------------------------  
  137.   alias mog_weather_ex_temp_initialize initialize
  138.   def initialize
  139.       @weather_ex_set = []
  140.       @weather_fade = true
  141.       mog_weather_ex_temp_initialize
  142.   end  
  143.   
  144. end

  145. #==============================================================================
  146. # ■ Game Interpreter
  147. #==============================================================================
  148. class Game_Interpreter
  149.   
  150.   #--------------------------------------------------------------------------
  151.   # ● Weather
  152.   #--------------------------------------------------------------------------   
  153.   def weather(type = -1, power = 0, image = "")
  154.       $game_temp.weather_fade = true      $game_system.weather.clear
  155.       $game_system.weather = [type,poer,image]
  156.   end
  157.   
  158.   #--------------------------------------------------------------------------
  159.   # ● Weather Stop
  160.   #--------------------------------------------------------------------------     
  161.   def weather_stop
  162.       $game_temp.weather_fade = false
  163.       $game_system.weather.clear
  164.       $game_system.weather = [-1,0,""]
  165.       $game_system.weather_restore  = [-1,0,""]
  166.       $game_system.weather_temp = [-1,0,""]      
  167.   end
  168.   
  169.   #--------------------------------------------------------------------------
  170.   # ● Weather Restore
  171.   #--------------------------------------------------------------------------      
  172.   def weather_restore
  173.       $game_temp.weather_fade = false
  174.       if $game_system.weather[0] != -1
  175.          w = $game_system.weather
  176.          $game_system.weather_restore = [w[0],w[1],w[2]]
  177.          $game_system.weather.clear
  178.          $game_system.weather = [-1,0,""]
  179.          return
  180.       end
  181.       w = $game_system.weather_restore
  182.       weather(w[0],w[1],w[2])
  183.   end
  184.   
  185.   #--------------------------------------------------------------------------
  186.   # ● Weather Fade
  187.   #--------------------------------------------------------------------------         
  188.   def weather_fade(value)
  189.       $game_temp.weather_fade = value
  190.   end
  191.   
  192.   #--------------------------------------------------------------------------
  193.   # ● Weather Store
  194.   #--------------------------------------------------------------------------           
  195.   def weather_store
  196.       w = $game_system.weather
  197.       $game_system.weather_record_set = [w[0],w[1],w[2]]
  198.   end  
  199.   
  200.   #--------------------------------------------------------------------------
  201.   # ● Weather Restore Store
  202.   #--------------------------------------------------------------------------           
  203.   def weather_restore_store
  204.       w = $game_system.weather_record_set
  205.       weather(w[0],w[1],w[2])      
  206.   end   
  207.   
  208. end  

  209. #==============================================================================
  210. # ■ Weather_EX
  211. #==============================================================================
  212. class Weather_EX < Sprite
  213.   
  214.   #--------------------------------------------------------------------------
  215.   # ● Initialize
  216.   #--------------------------------------------------------------------------  
  217.   def initialize(viewport = nil ,type = 0, image_name = "",index = 0,nx,ny)
  218.       super(viewport)
  219.       self.bitmap = Cache.weather(image_name.to_s)
  220.       self.opacity = 0
  221.       @cw = self.bitmap.width
  222.       @ch = self.bitmap.height
  223.       @angle_speed = 0
  224.       @x_speed = 0
  225.       @y_speed = 0
  226.       @zoom_speed = 0
  227.       @opacity_speed = 0
  228.       @type = type
  229.       [url=home.php?mod=space&uid=370741]@Index[/url] = index
  230.       @old_nx = nx
  231.       @old_ny = ny
  232.       type_setup(nx,ny)
  233.   end
  234.   
  235.   #--------------------------------------------------------------------------
  236.   # ● Dispose
  237.   #--------------------------------------------------------------------------   
  238.   def dispose
  239.       if self.bitmap != nil
  240.          self.bitmap.dispose
  241.          self.bitmap = nil
  242.       end   
  243.       super
  244.   end
  245.   
  246.   #--------------------------------------------------------------------------
  247.   # ● Pre Values
  248.   #--------------------------------------------------------------------------   
  249.   def pre_values(index)
  250.       return if  $game_temp.weather_ex_set[index] == nil
  251.       self.x = $game_temp.weather_ex_set[index][0]
  252.       self.y = $game_temp.weather_ex_set[index][1]
  253.       self.opacity = $game_temp.weather_ex_set[index][2]
  254.       self.angle = $game_temp.weather_ex_set[index][3]
  255.       self.zoom_x = $game_temp.weather_ex_set[index][4]
  256.       self.zoom_y = $game_temp.weather_ex_set[index][4]
  257.       $game_temp.weather_ex_set[index].clear
  258.       $game_temp.weather_ex_set[index] = nil
  259.   end  
  260.   
  261.   #--------------------------------------------------------------------------
  262.   # ● Type Setup
  263.   #--------------------------------------------------------------------------      
  264.   def type_setup(nx = 0, ny = 0)
  265.       @cw2 = [(672 + @cw) + nx, -(96 + @cw) + nx]
  266.       @ch2 = [(576 + @ch) + ny, -(96 + @ch) + ny]
  267.       check_weather_type
  268.       pre_values(@index)
  269.       @opacity_speed = -1 if $game_temp.weather_fade
  270.   end
  271.   
  272.   #--------------------------------------------------------------------------
  273.   # ● Update
  274.   #--------------------------------------------------------------------------   
  275.   def update_weather(nx = 0, ny = 0)
  276.       self.x += @x_speed
  277.       self.y += @y_speed
  278.       self.opacity += @opacity_speed
  279.       self.angle += @angle_speed
  280.       self.zoom_x += @zoom_speed
  281.       self.zoom_y += @zoom_speed
  282.       check_loop_map(nx,ny)
  283.       type_setup(nx,ny) if can_reset_setup?
  284.   end  

  285.   #--------------------------------------------------------------------------
  286.   # ● Check Loop Map
  287.   #--------------------------------------------------------------------------        
  288.   def check_loop_map(nx,ny)
  289.       if (@old_nx - nx).abs > 32
  290.          @cw2 = [(672 + @cw) + nx, -(96 + @cw) + nx]
  291.          self.x += nx
  292.          self.x -= @old_nx if nx == 0
  293.       end   
  294.       if (@old_ny - ny).abs > 32
  295.          @ch2 = [(576 + @ch) + ny, -(96 + @ch) + ny]
  296.          self.y += ny
  297.          self.y -= @old_ny if ny == 0
  298.       end         
  299.       @old_nx = nx
  300.       @old_ny = ny   
  301.   end  
  302.    
  303.   #--------------------------------------------------------------------------
  304.   # ● Can Reset Setup
  305.   #--------------------------------------------------------------------------      
  306.   def can_reset_setup?
  307.       return true if self.x > @cw2[0] or self.x <  @cw2[1]
  308.       return true if self.y > @ch2[0]  or self.y < @ch2[1]
  309.       return true if self.opacity == 0
  310.       return true if self.zoom_x > 2.0 or self.zoom_x < 0.5
  311.       return false
  312.   end
  313.   
  314. #--------------------------------------------------------------------------
  315. # ● Check Weather Type
  316. #--------------------------------------------------------------------------                        
  317. def check_weather_type
  318.      case @type
  319.          when 0;   rain
  320.          when 1;   wind   
  321.          when 2;   fog
  322.          when 3;   light
  323.          when 4;   snow
  324.          when 5;   spark
  325.          when 6;   random                  
  326.       end
  327. end
  328.    
  329. #--------------------------------------------------------------------------
  330. # ● Snow
  331. #--------------------------------------------------------------------------                          
  332. def snow
  333.      self.angle = rand(360)
  334.      self.x = rand(@cw2[0])
  335.      self.y = rand(@ch2[0])
  336.      self.opacity = 1
  337.      self.zoom_x = (rand(100) + 50) / 100.0
  338.      self.zoom_y = self.zoom_x
  339.      @y_speed = [[rand(5), 1].max, 5].min
  340.      @opacity_speed = 5
  341.      @angle_speed = rand(3)
  342. end   

  343. #--------------------------------------------------------------------------
  344. # ● Spark
  345. #--------------------------------------------------------------------------                           
  346. def spark
  347.      self.angle = rand(360)
  348.      self.x = rand(@cw2[0])
  349.      self.y = rand(@ch2[0])
  350.      self.opacity = 1
  351.      self.zoom_x = (rand(100) + 100) / 100.0
  352.      self.zoom_y = self.zoom_x
  353.      self.blend_type = 1     
  354.      @opacity_speed = 10
  355.      @zoom_speed = -0.01
  356. end

  357. #--------------------------------------------------------------------------
  358. # ● Rain
  359. #--------------------------------------------------------------------------                          
  360. def rain
  361.      self.x = rand(@cw2[0])      
  362.      if @start == nil
  363.         self.y = rand(@ch2[0])
  364.         @start = true
  365.      else
  366.         self.y = @ch2[1]        
  367.      end   
  368.      self.opacity = 1
  369.      self.zoom_y = (rand(50) + 100) / 100.0
  370.      self.zoom_x = (rand(25) + 100) / 100.0
  371.      @y_speed = [[rand(10) + 10, 10].max, 20].min
  372.      @opacity_speed = 10
  373. end   

  374. #--------------------------------------------------------------------------
  375. # ● Fog
  376. #--------------------------------------------------------------------------                           
  377. def fog
  378.      rand_angle = rand(2)
  379.      self.angle = rand_angle == 1 ? 180 : 0
  380.      self.x = rand(@cw2[0])
  381.      self.y = rand(@ch2[0])
  382.      self.opacity = 1
  383.      self.zoom_x = (rand(100) + 50) / 100.0
  384.      self.zoom_y = self.zoom_x
  385.      @x_speed = [[rand(10), 1].max, 10].min
  386.      @opacity_speed = 10
  387. end

  388. #--------------------------------------------------------------------------
  389. # ● Light
  390. #--------------------------------------------------------------------------                           
  391. def light
  392.      self.angle = rand(360)
  393.      self.x = rand(@cw2[0])
  394.      self.y = rand(@ch2[0])
  395.      self.opacity = 1
  396.      self.zoom_x = (rand(100) + 50) / 100.0
  397.      self.zoom_y = self.zoom_x
  398.      self.blend_type = 1
  399.      @angle_speed = [[rand(3), 1].max, 3].min
  400.      @y_speed = -[[rand(10), 1].max, 10].min
  401.      @opacity_speed = 1
  402. end

  403. #--------------------------------------------------------------------------
  404. # ● Wind
  405. #--------------------------------------------------------------------------                          
  406. def wind
  407.      self.angle = rand(360)
  408.      self.x = rand(@cw2[0])
  409.      self.y = rand(@ch2[0])
  410.      self.opacity = 1
  411.      self.zoom_x = (rand(100) + 50) / 100.0
  412.      self.zoom_y = self.zoom_x
  413.      @x_speed = [[rand(10), 1].max, 10].min
  414.      @y_speed = [[rand(10), 1].max, 10].min
  415.      @opacity_speed = 10
  416. end   
  417.       
  418. #--------------------------------------------------------------------------
  419. # ● Random
  420. #--------------------------------------------------------------------------                          
  421. def random
  422.      self.angle = rand(360)
  423.      self.x = rand(@cw2[0])
  424.      self.y = rand(@ch2[0])
  425.      self.opacity = 1
  426.      self.zoom_x = (rand(100) + 50) / 100.0
  427.      self.zoom_y = self.zoom_x
  428.      x_s = [[rand(10), 1].max, 10].min
  429.      y_s = [[rand(10), 1].max, 10].min
  430.      rand_x = rand(2)
  431.      rand_y = rand(2)
  432.      @x_speed = rand_x == 1 ? x_s : -x_s
  433.      @y_speed = rand_y == 1 ? y_s : -y_s      
  434.      @opacity_speed = 10
  435. end   

  436. end

  437. #==============================================================================
  438. # ■ Module Weather EX
  439. #==============================================================================
  440. module Module_Weather_EX
  441.   
  442. #--------------------------------------------------------------------------
  443. # ● Create Weather EX
  444. #--------------------------------------------------------------------------                  
  445.   def create_weather_ex
  446.       dispose_weather_ex
  447.       create_weather_viewport
  448.       create_weather_sprite     
  449.   end
  450.   
  451. #--------------------------------------------------------------------------
  452. # ● Dispose Wheater EX
  453. #--------------------------------------------------------------------------                     
  454.   def dispose_weather_ex
  455.       dispose_weather_ex_sprite
  456.       dispose_weather_ex_viewport
  457.   end  

  458. #--------------------------------------------------------------------------
  459. # ● Create Weather Viewport
  460. #--------------------------------------------------------------------------                     
  461.   def create_weather_viewport
  462.       dispose_weather_ex_viewport
  463.       @viewport_weather_ex = Viewport.new(-32, -32, 576, 448)
  464.       @viewport_weather_ex.z = MOG_WEATHER_EX::WEATHER_SCREEN_Z
  465.       @viewport_weather_ex.ox = ($game_map.display_x * 32)
  466.       @viewport_weather_ex.oy = ($game_map.display_y * 32)      
  467.   end  

  468. #--------------------------------------------------------------------------
  469. # ● Create Weather Sprite
  470. #--------------------------------------------------------------------------                       
  471.   def create_weather_sprite
  472.       dispose_weather_ex_sprite
  473.       @old_weather = $game_system.weather
  474.       return if $game_system.weather == [] or $game_system.weather[0] == -1
  475.       @weather_ex = []
  476.       index = 0
  477.       power_efic = MOG_WEATHER_EX::WEATHER_POWER_EFIC
  478.       power_efic = 1 if power_efic < 1
  479.       power = [[$game_system.weather[1] * power_efic, power_efic].max, 999].min
  480.       for i in 0...power
  481.           @weather_ex.push(Weather_EX.new(@viewport_weather_ex,$game_system.weather[0],$game_system.weather[2],index, @viewport_weather_ex.ox, @viewport_weather_ex.oy))
  482.           index += 1
  483.       end            
  484.   end

  485. #--------------------------------------------------------------------------
  486. # ● Dispose Weather EX Viewport
  487. #--------------------------------------------------------------------------                       
  488.   def dispose_weather_ex_viewport
  489.       return if @viewport_weather_ex == nil
  490.       @viewport_weather_ex.dispose
  491.   end  
  492.   
  493. #--------------------------------------------------------------------------
  494. # ● Dispose Weather EX
  495. #--------------------------------------------------------------------------                  
  496.   def dispose_weather_ex_sprite
  497.       return if @weather_ex == nil
  498.       index = 0
  499.       for i in @weather_ex
  500.           $game_temp.weather_ex_set[index] = [] if $game_temp.weather_ex_set[index] == nil
  501.           $game_temp.weather_ex_set[index].push(i.x,i.y,i.opacity,i.angle,i.zoom_x)
  502.           i.dispose
  503.           index += 1
  504.       end
  505.       @weather_ex.each {|sprite| sprite.dispose}  
  506.       @weather_ex.clear
  507.       @weather_ex = nil
  508.   end
  509.   
  510. #--------------------------------------------------------------------------
  511. # ● Dispose Refresh
  512. #--------------------------------------------------------------------------                    
  513.   def dispose_refresh
  514.       $game_temp.weather_ex_set.clear
  515.       return if @weather_ex == nil
  516.       @weather_ex.each {|sprite| sprite.dispose}
  517.       @weather_ex.clear
  518.       @weather_ex = nil
  519.   end  
  520.   
  521. #--------------------------------------------------------------------------
  522. # ● Update Weather EX
  523. #--------------------------------------------------------------------------                  
  524.   def update_weather_ex
  525.       refresh_weather_ex
  526.       update_weather_ex_viewport
  527.       return if @weather_ex == nil
  528.       @weather_ex.each {|sprite| sprite.update_weather(@viewport_weather_ex.ox,@viewport_weather_ex.oy)}
  529.   end
  530.   
  531. #--------------------------------------------------------------------------
  532. # ● Update Weather Ex Viewport
  533. #--------------------------------------------------------------------------                     
  534.   def update_weather_ex_viewport
  535.       return if @viewport_weather_ex == nil
  536.       @viewport_weather_ex.ox = ($game_map.display_x * 32)
  537.       @viewport_weather_ex.oy = ($game_map.display_y * 32)
  538.   end

  539. #--------------------------------------------------------------------------
  540. # ● Refresh Weather EX
  541. #--------------------------------------------------------------------------                     
  542.   def refresh_weather_ex
  543.       return if @old_weather == nil
  544.       return if @old_weather == $game_system.weather
  545.       dispose_refresh
  546.       create_weather_sprite
  547.   end  
  548. end  

  549. #==============================================================================
  550. # ■ Spriteset Map
  551. #==============================================================================
  552. class Spriteset_Map
  553.    include Module_Weather_EX  
  554.    
  555. #--------------------------------------------------------------------------
  556. # ● Initialize
  557. #--------------------------------------------------------------------------                  
  558.   alias mog_weather_ex_initialize initialize
  559.   def initialize         
  560.       dispose_weather_ex   
  561.       mog_weather_ex_initialize
  562.       create_weather_ex
  563.   end

  564. #--------------------------------------------------------------------------
  565. # ● Dispose
  566. #--------------------------------------------------------------------------                  
  567.   alias mog_weather_ex_dispose dispose
  568.   def dispose
  569.       dispose_weather_ex   
  570.       mog_weather_ex_dispose
  571.   end  

  572. #--------------------------------------------------------------------------
  573. # ● Update
  574. #--------------------------------------------------------------------------                  
  575.   alias mog_weather_ex_update update
  576.   def update
  577.       mog_weather_ex_update
  578.       update_weather_ex
  579.   end  
  580.    
  581. end



  582. if MOG_WEATHER_EX::WEATHER_BATTLE
  583. #==============================================================================
  584. # ■ Spriteset Battle
  585. #==============================================================================
  586. class Spriteset_Battle  
  587.   
  588.    include Module_Weather_EX  
  589.    
  590. #--------------------------------------------------------------------------
  591. # ● Initialize
  592. #--------------------------------------------------------------------------                  
  593.   alias mog_weather_ex_initialize initialize
  594.   def initialize         
  595.       dispose_weather_ex   
  596.       mog_weather_ex_initialize
  597.       create_weather_ex
  598.   end

  599. #--------------------------------------------------------------------------
  600. # ● Dispose
  601. #--------------------------------------------------------------------------                  
  602.   alias mog_weather_ex_dispose dispose
  603.   def dispose
  604.       dispose_weather_ex   
  605.       mog_weather_ex_dispose
  606.   end  

  607. #--------------------------------------------------------------------------
  608. # ● Update
  609. #--------------------------------------------------------------------------                  
  610.   alias mog_weather_ex_update update
  611.   def update
  612.       mog_weather_ex_update
  613.       update_weather_ex
  614.   end   
  615.    
  616. end

  617. end

  618. #=============================================================================
  619. # ■ Scene Base
  620. #=============================================================================
  621. class Scene_Base
  622.   
  623.   #--------------------------------------------------------------------------
  624.   # ● Weather Recover Data
  625.   #--------------------------------------------------------------------------  
  626.   def weather_recover_data
  627.       if $game_system.weather.empty? or
  628.           $game_system.weather[0] == -1
  629.           if !$game_system.weather_restore.empty? and
  630.              $game_system.weather_restore[0] != -1
  631.              v = $game_system.weather_restore
  632.              $game_system.weather = [v[0],v[1],v[2]]
  633.           end
  634.       end         
  635.   end
  636.   
  637.   #--------------------------------------------------------------------------
  638.   # ● Weather Restore
  639.   #--------------------------------------------------------------------------      
  640.   def weather_recover_scene
  641.       return if $game_system.weather_temp.empty?
  642.       return if $game_system.weather_temp[0] == -1
  643.       w = $game_system.weather_temp
  644.       $game_system.weather = [w[0],w[1],w[2]]
  645.       $game_system.weather_temp.clear
  646.       $game_system.weather_temp = [-1,0,""]
  647.   end  

  648.   #--------------------------------------------------------------------------
  649.   # ● Main
  650.   #--------------------------------------------------------------------------         
  651.   alias mog_weather_ex_main main
  652.   def main
  653.       dispose_weather_ex_base
  654.       weather_recover_scene if can_recover_weather_scene?
  655.       mog_weather_ex_main
  656.   end   
  657.   
  658.   #--------------------------------------------------------------------------
  659.   # ● Can Recover Weather Scene
  660.   #--------------------------------------------------------------------------         
  661.   def can_recover_weather_scene?
  662.       return true if SceneManager.scene_is?(Scene_Map)
  663.       return true if SceneManager.scene_is?(Scene_Battle)
  664.       return false
  665.   end  
  666.   
  667.   #--------------------------------------------------------------------------
  668.   # ● terminate
  669.   #--------------------------------------------------------------------------         
  670.   alias mog_weather_ex_terminate_base terminate
  671.   def terminate
  672.       mog_weather_ex_terminate_base
  673.       dispose_weather_ex_base      
  674.   end  

  675.   #--------------------------------------------------------------------------
  676.   # ● Dispose Weather EX Base
  677.   #--------------------------------------------------------------------------           
  678.   def dispose_weather_ex_base
  679.       return if @spriteset == nil
  680.       @spriteset.dispose_weather_ex rescue nil
  681.   end        
  682.   
  683. end

  684. #=============================================================================
  685. # ■ Scene Load
  686. #=============================================================================
  687. class Scene_Load < Scene_File
  688.   
  689.   #--------------------------------------------------------------------------
  690.   # ● On Load Success
  691.   #--------------------------------------------------------------------------
  692.   alias mog_weather_ex_on_load_success on_load_success
  693.   def on_load_success
  694.       mog_weather_ex_on_load_success
  695.       weather_recover_data
  696.   end
  697. end

  698. #=============================================================================
  699. # ■ Scene Manager
  700. #=============================================================================
  701. class << SceneManager
  702.   
  703.   #--------------------------------------------------------------------------
  704.   # ● Call
  705.   #--------------------------------------------------------------------------         
  706.   alias mog_weather_ex_call call
  707.   def call(scene_class)
  708.       weather_dispose
  709.       mog_weather_ex_call(scene_class)
  710.   end
  711.   
  712.   #--------------------------------------------------------------------------
  713.   # ● Weather Restore
  714.   #--------------------------------------------------------------------------      
  715.   def weather_dispose
  716.       return if $game_system.weather.empty?
  717.       return if $game_system.weather[0] == -1
  718.       w = $game_system.weather
  719.       $game_system.weather_temp = [w[0],w[1],w[2]]
  720.       $game_system.weather.clear
  721.       $game_system.weather = [-1,0,""]
  722.   end
  723.    
  724.   
  725. end
  726. $mog_rgss3_weather_ex = true
复制代码
就是说使用了MOG的这个天气脚本……
使用远景图和地图都好好的有效果……
可不知道为什么显示图片之后再呼出就看不见效果了,
大概是被图片遮住了吧……
不太清楚从哪一行改Z值。

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

2
发表于 2014-4-8 13:28:48 | 只看该作者
WEATHER_SCREEN_Z = 9
这行

评分

参与人数 1星屑 +120 收起 理由
Sion + 120 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1447
在线时间
891 小时
注册时间
2011-3-4
帖子
839
3
发表于 2014-4-8 13:53:22 | 只看该作者
喵呜喵5 发表于 2014-4-8 13:28
WEATHER_SCREEN_Z = 9
这行

签名这么美,是自己做的新游戏吗?

点评

用来练手的简单工程而已  发表于 2014-4-8 19:59
全民制作人们,大家好,我是练习时长两年半的黄油制作人绿坝,喜欢唱、跳、rap、篮球,music!欢迎加群:107335249
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-25 05:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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