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

Project1

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

[已经过期] 天气脚本如何扩大视图?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
150 小时
注册时间
2013-8-4
帖子
83
跳转到指定楼层
1
发表于 2015-10-24 13:08:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

现在就是这个样子……想要他是满屏的qwq
用的脚本:
RUBY 代码复制
  1. #==============================================================================
  2. # +++ MOG - Weather EX (v1.5) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # [url]http://www.atelier-rgss.com/[/url]
  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. #==============================================================================
  69. # ● Histórico (Version History)
  70. #==============================================================================
  71. # v 1.5 - Correção definitiva para erro de Crash randômico.
  72. # v 1.4 - Melhoria no sistema de dispose. * (Para quem estiver tendo problema
  73. #         com crashes randômicos.)
  74. # v 1.3 - Adição do comando weather_store e weather_recover_store
  75. # v 1.2 - Melhor codificação e compatibilidade.
  76. # v 1.1 - Correção do Bug de salvar através do evento.
  77. # v 1.0 - Weather EX ativo na batalha.
  78. #       - Função restore/pause que permite reativar o clima com as
  79. #         caracteríticas previamente usadas, ou seja, dá uma pausa no clima.
  80. # v 0.9 - Melhoria no sistema de dispose.
  81. #==============================================================================
  82. module MOG_WEATHER_EX
  83.   #Prioridade do clima na tela.
  84.   WEATHER_SCREEN_Z = 50
  85.   #Definição da eficiência do poder do clima.
  86.   #NOTA -  Um valor muito alto pode causar lag, dependendo do tipo de clima e
  87.   #        imagem usada.
  88.   WEATHER_POWER_EFIC = 5
  89.   #Ativar o clima no sistema de batalha.
  90.   WEATHER_BATTLE = true
  91.  
  92. end
  93.  
  94. #==============================================================================
  95. # ■ Cache
  96. #==============================================================================
  97. module Cache
  98.  
  99.   #--------------------------------------------------------------------------
  100.   # ● Weather
  101.   #--------------------------------------------------------------------------
  102.   def self.weather(filename)
  103.       load_bitmap("Graphics/Weather/", filename)
  104.   end
  105.  
  106. end
  107.  
  108. #==============================================================================
  109. # ■ Game System
  110. #==============================================================================
  111. class Game_System
  112.  
  113.   attr_accessor :weather
  114.   attr_accessor :weather_restore
  115.   attr_accessor :weather_record_set
  116.   attr_accessor :weather_temp
  117.  
  118.   #--------------------------------------------------------------------------
  119.   # ● Initialize
  120.   #--------------------------------------------------------------------------  
  121.   alias weather_ex_initialize initialize  
  122.   def initialize
  123.       @weather = [-1,0,""]
  124.       @weather_restore = [-1,0,""]
  125.       @weather_temp = [-1,0,""]
  126.       @weather_record_set = [-1,0,""]
  127.       weather_ex_initialize
  128.   end  
  129.  
  130. end  
  131.  
  132. #==============================================================================
  133. # ■ Game Temp
  134. #==============================================================================
  135. class Game_Temp
  136.  
  137.   attr_accessor :weather_ex_set
  138.   attr_accessor :weather_fade
  139.  
  140.   #--------------------------------------------------------------------------
  141.   # ● Initialize
  142.   #--------------------------------------------------------------------------  
  143.   alias mog_weather_ex_temp_initialize initialize
  144.   def initialize
  145.       @weather_ex_set = []
  146.       @weather_fade = false
  147.       mog_weather_ex_temp_initialize
  148.   end  
  149.  
  150. end
  151.  
  152. #==============================================================================
  153. # ■ Game Interpreter
  154. #==============================================================================
  155. class Game_Interpreter
  156.  
  157.   #--------------------------------------------------------------------------
  158.   # ● Weather
  159.   #--------------------------------------------------------------------------   
  160.   def weather(type = -1, power = 0, image = "")
  161.       $game_temp.weather_fade = false
  162.       $game_system.weather.clear
  163.       $game_system.weather = [type,power,image]
  164.   end
  165.  
  166.   #--------------------------------------------------------------------------
  167.   # ● Weather Stop
  168.   #--------------------------------------------------------------------------     
  169.   def weather_stop
  170.       $game_temp.weather_fade = false
  171.       $game_system.weather.clear
  172.       $game_system.weather = [-1,0,""]
  173.       $game_system.weather_restore  = [-1,0,""]
  174.       $game_system.weather_temp = [-1,0,""]      
  175.   end
  176.  
  177.   #--------------------------------------------------------------------------
  178.   # ● Weather Restore
  179.   #--------------------------------------------------------------------------      
  180.   def weather_restore
  181.       $game_temp.weather_fade = false
  182.       if $game_system.weather[0] != -1
  183.          w = $game_system.weather
  184.          $game_system.weather_restore = [w[0],w[1],w[2]]
  185.          $game_system.weather.clear
  186.          $game_system.weather = [-1,0,""]
  187.          return
  188.       end
  189.       w = $game_system.weather_restore
  190.       weather(w[0],w[1],w[2])
  191.   end
  192.  
  193.   #--------------------------------------------------------------------------
  194.   # ● Weather Fade
  195.   #--------------------------------------------------------------------------         
  196.   def weather_fade(value)
  197.       $game_temp.weather_fade = value
  198.   end
  199.  
  200.   #--------------------------------------------------------------------------
  201.   # ● Weather Store
  202.   #--------------------------------------------------------------------------           
  203.   def weather_store
  204.       w = $game_system.weather
  205.       $game_system.weather_record_set = [w[0],w[1],w[2]]
  206.   end  
  207.  
  208.   #--------------------------------------------------------------------------
  209.   # ● Weather Restore Store
  210.   #--------------------------------------------------------------------------           
  211.   def weather_restore_store
  212.       w = $game_system.weather_record_set
  213.       weather(w[0],w[1],w[2])      
  214.   end   
  215.  
  216. end  
  217.  
  218. #==============================================================================
  219. # ■ Weather_EX
  220. #==============================================================================
  221. class Weather_EX < Sprite
  222.  
  223.   #--------------------------------------------------------------------------
  224.   # ● Initialize
  225.   #--------------------------------------------------------------------------  
  226.   def initialize(viewport = nil ,type = 0, image_name = "",index = 0,nx,ny)
  227.       super(viewport)
  228.       self.bitmap = Cache.weather(image_name.to_s)
  229.       self.opacity = 0
  230.       @cw = self.bitmap.width
  231.       @ch = self.bitmap.height
  232.       @angle_speed = 0
  233.       @x_speed = 0
  234.       @y_speed = 0
  235.       @zoom_speed = 0
  236.       @opacity_speed = 0
  237.       @type = type
  238.       @index = index
  239.       @old_nx = nx
  240.       @old_ny = ny
  241.       type_setup(nx,ny)
  242.   end
  243.  
  244.   #--------------------------------------------------------------------------
  245.   # ● Dispose
  246.   #--------------------------------------------------------------------------   
  247.   def dispose
  248.       if self.bitmap != nil
  249.          self.bitmap.dispose
  250.          self.bitmap = nil
  251.       end   
  252.       super
  253.   end
  254.  
  255.   #--------------------------------------------------------------------------
  256.   # ● Pre Values
  257.   #--------------------------------------------------------------------------   
  258.   def pre_values(index)
  259.       return if  $game_temp.weather_ex_set[index] == nil
  260.       self.x = $game_temp.weather_ex_set[index][0]
  261.       self.y = $game_temp.weather_ex_set[index][1]
  262.       self.opacity = $game_temp.weather_ex_set[index][2]
  263.       self.angle = $game_temp.weather_ex_set[index][3]
  264.       self.zoom_x = $game_temp.weather_ex_set[index][4]
  265.       self.zoom_y = $game_temp.weather_ex_set[index][4]
  266.       $game_temp.weather_ex_set[index].clear
  267.       $game_temp.weather_ex_set[index] = nil
  268.   end  
  269.  
  270.   #--------------------------------------------------------------------------
  271.   # ● Type Setup
  272.   #--------------------------------------------------------------------------      
  273.   def type_setup(nx = 0, ny = 0)
  274.       @cw2 = [(672 + @cw) + nx, -(96 + @cw) + nx]
  275.       @ch2 = [(576 + @ch) + ny, -(96 + @ch) + ny]
  276.       check_weather_type
  277.       pre_values(@index)
  278.       @opacity_speed = -1 if $game_temp.weather_fade
  279.   end
  280.  
  281.   #--------------------------------------------------------------------------
  282.   # ● Update
  283.   #--------------------------------------------------------------------------   
  284.   def update_weather(nx = 0, ny = 0)
  285.       self.x += @x_speed
  286.       self.y += @y_speed
  287.       self.opacity += @opacity_speed
  288.       self.angle += @angle_speed
  289.       self.zoom_x += @zoom_speed
  290.       self.zoom_y += @zoom_speed
  291.       check_loop_map(nx,ny)
  292.       type_setup(nx,ny) if can_reset_setup?
  293.   end  
  294.  
  295.   #--------------------------------------------------------------------------
  296.   # ● Check Loop Map
  297.   #--------------------------------------------------------------------------        
  298.   def check_loop_map(nx,ny)
  299.       if (@old_nx - nx).abs > 32
  300.          @cw2 = [(672 + @cw) + nx, -(96 + @cw) + nx]
  301.          self.x += nx
  302.          self.x -= @old_nx if nx == 0
  303.       end   
  304.       if (@old_ny - ny).abs > 32
  305.          @ch2 = [(576 + @ch) + ny, -(96 + @ch) + ny]
  306.          self.y += ny
  307.          self.y -= @old_ny if ny == 0
  308.       end         
  309.       @old_nx = nx
  310.       @old_ny = ny  
  311.   end  
  312.  
  313.   #--------------------------------------------------------------------------
  314.   # ● Can Reset Setup
  315.   #--------------------------------------------------------------------------      
  316.   def can_reset_setup?
  317.       return true if self.x > @cw2[0] or self.x <  @cw2[1]
  318.       return true if self.y > @ch2[0]  or self.y < @ch2[1]
  319.       return true if self.opacity == 0
  320.       return true if self.zoom_x > 2.0 or self.zoom_x < 0.5
  321.       return false
  322.   end
  323.  
  324. #--------------------------------------------------------------------------
  325. # ● Check Weather Type
  326. #--------------------------------------------------------------------------                        
  327. def check_weather_type
  328.      case @type
  329.          when 0;   rain
  330.          when 1;   wind   
  331.          when 2;   fog
  332.          when 3;   light
  333.          when 4;   snow
  334.          when 5;   spark
  335.          when 6;   random                  
  336.       end
  337. end
  338.  
  339. #--------------------------------------------------------------------------
  340. # ● Snow
  341. #--------------------------------------------------------------------------                          
  342. def snow
  343.      self.angle = rand(360)
  344.      self.x = rand(@cw2[0])
  345.      self.y = rand(@ch2[0])
  346.      self.opacity = 1
  347.      self.zoom_x = (rand(100) + 50) / 100.0
  348.      self.zoom_y = self.zoom_x
  349.      @y_speed = [[rand(5), 1].max, 5].min
  350.      @opacity_speed = 5
  351.      @angle_speed = rand(3)
  352. end   
  353.  
  354. #--------------------------------------------------------------------------
  355. # ● Spark
  356. #--------------------------------------------------------------------------                           
  357. def spark
  358.      self.angle = rand(360)
  359.      self.x = rand(@cw2[0])
  360.      self.y = rand(@ch2[0])
  361.      self.opacity = 1
  362.      self.zoom_x = (rand(100) + 100) / 100.0
  363.      self.zoom_y = self.zoom_x
  364.      self.blend_type = 1     
  365.      @opacity_speed = 10
  366.      @zoom_speed = -0.01
  367. end
  368.  
  369. #--------------------------------------------------------------------------
  370. # ● Rain
  371. #--------------------------------------------------------------------------                          
  372. def rain
  373.      self.x = rand(@cw2[0])      
  374.      if @start == nil
  375.         self.y = rand(@ch2[0])
  376.         @start = true
  377.      else
  378.         self.y = @ch2[1]        
  379.      end   
  380.      self.opacity = 1
  381.      self.zoom_y = (rand(50) + 100) / 100.0
  382.      self.zoom_x = (rand(25) + 100) / 100.0
  383.      @y_speed = [[rand(10) + 10, 10].max, 20].min
  384.      @opacity_speed = 10
  385. end   
  386.  
  387. #--------------------------------------------------------------------------
  388. # ● Fog
  389. #--------------------------------------------------------------------------                           
  390. def fog
  391.      rand_angle = rand(2)
  392.      self.angle = rand_angle == 1 ? 180 : 0
  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.      @x_speed = [[rand(10), 1].max, 10].min
  399.      @opacity_speed = 10
  400. end
  401.  
  402. #--------------------------------------------------------------------------
  403. # ● Light
  404. #--------------------------------------------------------------------------                           
  405. def light
  406.      self.angle = rand(360)
  407.      self.x = rand(@cw2[0])
  408.      self.y = rand(@ch2[0])
  409.      self.opacity = 1
  410.      self.zoom_x = (rand(100) + 50) / 100.0
  411.      self.zoom_y = self.zoom_x
  412.      self.blend_type = 1
  413.      @angle_speed = [[rand(3), 1].max, 3].min
  414.      @y_speed = -[[rand(10), 1].max, 10].min
  415.      @opacity_speed = 2
  416. end
  417.  
  418. #--------------------------------------------------------------------------
  419. # ● Wind
  420. #--------------------------------------------------------------------------                          
  421. def wind
  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_speed = [[rand(10), 1].max, 10].min
  429.      @y_speed = [[rand(10), 1].max, 10].min
  430.      @opacity_speed = 10
  431. end   
  432.  
  433. #--------------------------------------------------------------------------
  434. # ● Random
  435. #--------------------------------------------------------------------------                          
  436. def random
  437.      self.angle = rand(360)
  438.      self.x = rand(@cw2[0])
  439.      self.y = rand(@ch2[0])
  440.      self.opacity = 1
  441.      self.zoom_x = (rand(100) + 50) / 100.0
  442.      self.zoom_y = self.zoom_x
  443.      x_s = [[rand(10), 1].max, 10].min
  444.      y_s = [[rand(10), 1].max, 10].min
  445.      rand_x = rand(2)
  446.      rand_y = rand(2)
  447.      @x_speed = rand_x == 1 ? x_s : -x_s
  448.      @y_speed = rand_y == 1 ? y_s : -y_s      
  449.      @opacity_speed = 10
  450. end   
  451.  
  452. end
  453.  
  454. #==============================================================================
  455. # ■ Module Weather EX
  456. #==============================================================================
  457. module Module_Weather_EX
  458.  
  459. #--------------------------------------------------------------------------
  460. # ● Create Weather EX
  461. #--------------------------------------------------------------------------                  
  462.   def create_weather_ex
  463.       dispose_weather_ex
  464.       create_weather_viewport
  465.       create_weather_sprite     
  466.   end
  467.  
  468. #--------------------------------------------------------------------------
  469. # ● Dispose Wheater EX
  470. #--------------------------------------------------------------------------                     
  471.   def dispose_weather_ex
  472.       dispose_weather_ex_sprite
  473.       dispose_weather_ex_viewport
  474.   end  
  475.  
  476. #--------------------------------------------------------------------------
  477. # ● Create Weather Viewport
  478. #--------------------------------------------------------------------------                     
  479.   def create_weather_viewport
  480.       dispose_weather_ex_viewport
  481.       @viewport_weather_ex = Viewport.new(-32, -32, 576, 448)
  482.       @viewport_weather_ex.z = MOG_WEATHER_EX::WEATHER_SCREEN_Z
  483.       @viewport_weather_ex.ox = ($game_map.display_x * 32)
  484.       @viewport_weather_ex.oy = ($game_map.display_y * 32)      
  485.   end  
  486.  
  487. #--------------------------------------------------------------------------
  488. # ● Create Weather Sprite
  489. #--------------------------------------------------------------------------                       
  490.   def create_weather_sprite
  491.       dispose_weather_ex_sprite
  492.       @old_weather = $game_system.weather
  493.       return if $game_system.weather == [] or $game_system.weather[0] == -1
  494.       @weather_ex = []
  495.       index = 0
  496.       power_efic = MOG_WEATHER_EX::WEATHER_POWER_EFIC
  497.       power_efic = 1 if power_efic < 1
  498.       power = [[$game_system.weather[1] * power_efic, power_efic].max, 999].min
  499.       for i in 0...power
  500.           @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))
  501.           index += 1
  502.       end            
  503.   end
  504.  
  505. #--------------------------------------------------------------------------
  506. # ● Dispose Weather EX Viewport
  507. #--------------------------------------------------------------------------                       
  508.   def dispose_weather_ex_viewport
  509.       return if @viewport_weather_ex == nil
  510.       @viewport_weather_ex.dispose
  511.   end  
  512.  
  513. #--------------------------------------------------------------------------
  514. # ● Dispose Weather EX
  515. #--------------------------------------------------------------------------                  
  516.   def dispose_weather_ex_sprite
  517.       return if @weather_ex == nil
  518.       index = 0
  519.       for i in @weather_ex
  520.           $game_temp.weather_ex_set[index] = [] if $game_temp.weather_ex_set[index] == nil
  521.           $game_temp.weather_ex_set[index].push(i.x,i.y,i.opacity,i.angle,i.zoom_x)
  522.           i.dispose
  523.           index += 1
  524.       end
  525.       @weather_ex.each {|sprite| sprite.dispose}  
  526.       @weather_ex.clear
  527.       @weather_ex = nil
  528.   end
  529.  
  530. #--------------------------------------------------------------------------
  531. # ● Dispose Refresh
  532. #--------------------------------------------------------------------------                    
  533.   def dispose_refresh
  534.       $game_temp.weather_ex_set.clear
  535.       return if @weather_ex == nil
  536.       @weather_ex.each {|sprite| sprite.dispose}
  537.       @weather_ex.clear
  538.       @weather_ex = nil
  539.   end  
  540.  
  541. #--------------------------------------------------------------------------
  542. # ● Update Weather EX
  543. #--------------------------------------------------------------------------                  
  544.   def update_weather_ex
  545.       refresh_weather_ex
  546.       update_weather_ex_viewport
  547.       return if @weather_ex == nil
  548.       @weather_ex.each {|sprite| sprite.update_weather(@viewport_weather_ex.ox,@viewport_weather_ex.oy)}
  549.   end
  550.  
  551. #--------------------------------------------------------------------------
  552. # ● Update Weather Ex Viewport
  553. #--------------------------------------------------------------------------                     
  554.   def update_weather_ex_viewport
  555.       return if @viewport_weather_ex == nil
  556.       @viewport_weather_ex.ox = ($game_map.display_x * 32)
  557.       @viewport_weather_ex.oy = ($game_map.display_y * 32)
  558.   end
  559.  
  560. #--------------------------------------------------------------------------
  561. # ● Refresh Weather EX
  562. #--------------------------------------------------------------------------                     
  563.   def refresh_weather_ex
  564.       return if @old_weather == nil
  565.       return if @old_weather == $game_system.weather
  566.       dispose_refresh
  567.       create_weather_sprite
  568.   end  
  569. end  
  570.  
  571. #==============================================================================
  572. # ■ Spriteset Map
  573. #==============================================================================
  574. class Spriteset_Map
  575.    include Module_Weather_EX  
  576.  
  577. #--------------------------------------------------------------------------
  578. # ● Initialize
  579. #--------------------------------------------------------------------------                  
  580.   alias mog_weather_ex_initialize initialize
  581.   def initialize         
  582.       dispose_weather_ex   
  583.       mog_weather_ex_initialize
  584.       create_weather_ex
  585.   end
  586.  
  587. #--------------------------------------------------------------------------
  588. # ● Dispose
  589. #--------------------------------------------------------------------------                  
  590.   alias mog_weather_ex_dispose dispose
  591.   def dispose
  592.       dispose_weather_ex   
  593.       mog_weather_ex_dispose
  594.   end  
  595.  
  596. #--------------------------------------------------------------------------
  597. # ● Update
  598. #--------------------------------------------------------------------------                  
  599.   alias mog_weather_ex_update update
  600.   def update
  601.       mog_weather_ex_update
  602.       update_weather_ex
  603.   end  
  604.  
  605. end
  606.  
  607.  
  608.  
  609. if MOG_WEATHER_EX::WEATHER_BATTLE
  610. #==============================================================================
  611. # ■ Spriteset Battle
  612. #==============================================================================
  613. class Spriteset_Battle  
  614.  
  615.    include Module_Weather_EX  
  616.  
  617. #--------------------------------------------------------------------------
  618. # ● Initialize
  619. #--------------------------------------------------------------------------                  
  620.   alias mog_weather_ex_initialize initialize
  621.   def initialize         
  622.       dispose_weather_ex   
  623.       mog_weather_ex_initialize
  624.       create_weather_ex
  625.   end
  626.  
  627. #--------------------------------------------------------------------------
  628. # ● Dispose
  629. #--------------------------------------------------------------------------                  
  630.   alias mog_weather_ex_dispose dispose
  631.   def dispose
  632.       dispose_weather_ex   
  633.       mog_weather_ex_dispose
  634.   end  
  635.  
  636. #--------------------------------------------------------------------------
  637. # ● Update
  638. #--------------------------------------------------------------------------                  
  639.   alias mog_weather_ex_update update
  640.   def update
  641.       mog_weather_ex_update
  642.       update_weather_ex
  643.   end   
  644.  
  645. end
  646.  
  647. end
  648.  
  649. #=============================================================================
  650. # ■ Scene Base
  651. #=============================================================================
  652. class Scene_Base
  653.  
  654.   #--------------------------------------------------------------------------
  655.   # ● Weather Recover Data
  656.   #--------------------------------------------------------------------------  
  657.   def weather_recover_data
  658.       if $game_system.weather.empty? or
  659.           $game_system.weather[0] == -1
  660.           if !$game_system.weather_restore.empty? and
  661.              $game_system.weather_restore[0] != -1
  662.              v = $game_system.weather_restore
  663.              $game_system.weather = [v[0],v[1],v[2]]
  664.           end
  665.       end         
  666.   end
  667.  
  668.   #--------------------------------------------------------------------------
  669.   # ● Weather Restore
  670.   #--------------------------------------------------------------------------      
  671.   def weather_recover_scene
  672.       return if $game_system.weather_temp.empty?
  673.       return if $game_system.weather_temp[0] == -1
  674.       w = $game_system.weather_temp
  675.       $game_system.weather = [w[0],w[1],w[2]]
  676.       $game_system.weather_temp.clear
  677.       $game_system.weather_temp = [-1,0,""]
  678.   end  
  679.  
  680.   #--------------------------------------------------------------------------
  681.   # ● Main
  682.   #--------------------------------------------------------------------------         
  683.   alias mog_weather_ex_main main
  684.   def main
  685.       dispose_weather_ex_base
  686.       weather_recover_scene if can_recover_weather_scene?
  687.       mog_weather_ex_main
  688.   end   
  689.  
  690.   #--------------------------------------------------------------------------
  691.   # ● Can Recover Weather Scene
  692.   #--------------------------------------------------------------------------         
  693.   def can_recover_weather_scene?
  694.       return true if SceneManager.scene_is?(Scene_Map)
  695.       return true if SceneManager.scene_is?(Scene_Battle)
  696.       return false
  697.   end  
  698.  
  699.   #--------------------------------------------------------------------------
  700.   # ● terminate
  701.   #--------------------------------------------------------------------------         
  702.   alias mog_weather_ex_terminate_base terminate
  703.   def terminate
  704.       mog_weather_ex_terminate_base
  705.       dispose_weather_ex_base      
  706.   end  
  707.  
  708.   #--------------------------------------------------------------------------
  709.   # ● Dispose Weather EX Base
  710.   #--------------------------------------------------------------------------           
  711.   def dispose_weather_ex_base
  712.       return if @spriteset == nil
  713.       @spriteset.dispose_weather_ex rescue nil
  714.   end        
  715.  
  716. end
  717.  
  718. #=============================================================================
  719. # ■ Scene Load
  720. #=============================================================================
  721. class Scene_Load < Scene_File
  722.  
  723.   #--------------------------------------------------------------------------
  724.   # ● On Load Success
  725.   #--------------------------------------------------------------------------
  726.   alias mog_weather_ex_on_load_success on_load_success
  727.   def on_load_success
  728.       mog_weather_ex_on_load_success
  729.       weather_recover_data
  730.   end
  731. end
  732.  
  733. #=============================================================================
  734. # ■ Scene Manager
  735. #=============================================================================
  736. class << SceneManager
  737.  
  738.   #--------------------------------------------------------------------------
  739.   # ● Call
  740.   #--------------------------------------------------------------------------         
  741.   alias mog_weather_ex_call call
  742.   def call(scene_class)
  743.       weather_dispose
  744.       mog_weather_ex_call(scene_class)
  745.   end
  746.  
  747.   #--------------------------------------------------------------------------
  748.   # ● Weather Restore
  749.   #--------------------------------------------------------------------------      
  750.   def weather_dispose
  751.       return if $game_system.weather.empty?
  752.       return if $game_system.weather[0] == -1
  753.       w = $game_system.weather
  754.       $game_system.weather_temp = [w[0],w[1],w[2]]
  755.       $game_system.weather.clear
  756.       $game_system.weather = [-1,0,""]
  757.   end
  758.  
  759.  
  760. end
  761. $mog_rgss3_weather_ex = true
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-17 04:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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