Advertisement
Kid02

las fogs las foooogs

Apr 1st, 2020
366
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.16 KB | None | 0 0
  1. #===============================================================================
  2. #
  3. #-------------------------------------------------------------------------------
  4. #-------------------------------------------------------------------------------
  5. # Script : Multifogs 2.0
  6. # por JessWishes
  7. #-------------------------------------------------------------------------------
  8. #-------------------------------------------------------------------------------
  9. # Creado para RPG Maker XP con base Essentials
  10. # Compatible : versión 15+
  11. #-------------------------------------------------------------------------------
  12. #
  13. #-------------------------------------------------------------------------------
  14. # DevianArt :
  15. # https://www.deviantart.com/jesswshs
  16. #
  17. # Twitter :
  18. # https://twitter.com/JessWishes
  19. #
  20. # Pagina de Recursos :
  21. # https://jesswishesdev.weebly.com
  22. #
  23. # CreadoresEssentials en Discord :
  24. # https://discord.gg/VvrSQwz
  25. #
  26. #-------------------------------------------------------------------------------
  27. #
  28. #-------------------------------------------------------------------------------
  29. # Esto ha tomado tiempo y esfuerzo en ser diseñado, aunque es de uso libre,
  30. # se agradece que se den créditos.
  31. #
  32. #-------------------------------------------------------------------------------
  33. #
  34. #-------------------------------------------------------------------------------
  35. # Modo de uso
  36. #
  37. # Copiar y pegar en un nuevo script arriba del llamado Main.
  38. #
  39. # El objetivo de este script es brindar la oportunidad de crear diferentes
  40. # efectos usando más de un solo gráfico de fog/niebla por mapa.
  41. #
  42. # Este script no afecta al efecto de fog original de RMXP, ya que los nuevos
  43. # gráficos se manejan independientes a este.
  44. #
  45. # Para agregar uno o más gráficos de fogs :
  46. #
  47. # 1.- Añadir en un cuadro de script dentro de un evento la siguiente función
  48. # (No olvidar seleccionar la opción "Proceso Paralelo" del evento)
  49. #
  50. # jess_fogs(ID,NOMBRE,HUE,OPACO,BLEND,ZOOM,VX,VY,MOV)
  51. #
  52. # *ID : Deberá ser el ID del nuevo fog, comenzando con el cero
  53. # *NOMBRE : Nombre del gráfico en la carpeta Graphics/Fogs/ usando comillas
  54. # *HUE : Tonalidad del gráfico, es un valor entre 0 y 360
  55. # *OPACO : Nivel de transparencia del gráfico, entre 0 y 255
  56. # *BLEND : Efecto de capas de color, puede ser 0, 1 o 2
  57. # *ZOOM : Expandir el tamaño del gráfico, 1 es normal, 2 es doble, etc.
  58. # *VX : Velocidad de movimiento para el eje X
  59. # *VY : Velocidad de movimiento para el eje Y
  60. # *MOV : El fog se moverá junto con el jugador (true/false)
  61. #
  62. # Solo el ID y el NOMBRE del archivo son parametros obligatorios.
  63. #
  64. # ¡ES IMPORTANTE recordar que los ID deben ir en orden! por ejemplo :
  65. #
  66. # jess_fogs(0,"Hojas")
  67. # jess_fogs(1,"Nubes")
  68. # jess_fogs(2,"Sombras")
  69. #
  70. #
  71. # 2.- Para que un fog se mantenga estático en la pantalla se agrega un false
  72. # al final de los argumentos.
  73. #
  74. # jess_fogs(0,"Hojas",0,255,0,1,0,0,false)
  75. #
  76. # Para hacer que todo los fogs se mantengan siempre estáticos se debe usar
  77. # la constante JSS_MFOGS_NOPLANE y darle el valor true
  78. #
  79. #
  80. # 3.- En caso que se desea eliminar todos los gráficos de fogs, se usa
  81. # la siguiente función :
  82. #
  83. # jess_fogs_disposeAll
  84. #
  85. # Esta función es solo para casos especiales, en condiciones normales
  86. # no debería ser usado. Los fogs se eliminan cuando el jugador cambia de
  87. # mapa y se vuelven a crear al regresar.
  88. #
  89. #
  90. #-------------------------------------------------------------------------------
  91. # Constantes
  92. #-------------------------------------------------------------------------------
  93.  
  94. # Hacer que el o los gráficos de fog se mantengan estáticos en el mapa
  95. # Esto aplica para todos los fogs en el mapa
  96. JSS_MFOGS_NOPLANE = false
  97.  
  98. # Dirección de la carpeta donde se guardan los gráficos de Fogs
  99. JSS_MFOGS_DIR = "Graphics/Fogs"
  100.  
  101. #-------------------------------------------------------------------------------
  102. # Multi-Fogs
  103. # * Aquí comienza todo
  104. #-------------------------------------------------------------------------------
  105. #
  106. #-------------------------------------------------------------------------------
  107. # Eliminar todos los gráficos actuales
  108. # * No debería ser usado en condiciones normales
  109. #-------------------------------------------------------------------------------
  110.  
  111. def jess_fogs_disposeAll
  112. return if !$scene.is_a?(Scene_Map)
  113. return if $scene.spriteset.j_fog.size<1
  114. for m in 0...$scene.spriteset.j_fog.size
  115. $scene.spriteset.j_fog[m]=nil
  116. if $scene.spriteset.j_fog_bmp[m]
  117. $scene.spriteset.j_fog_bmp[m].dispose
  118. $scene.spriteset.j_fog_bmp[m]=nil
  119. end
  120. end
  121. $scene.spriteset.j_fog = []
  122. $scene.spriteset.j_fog_bmp = []
  123. end
  124.  
  125. #-------------------------------------------------------------------------------
  126. # Crear un nuevo gráfico de fog
  127. # * Guarda la información de cada gráfico
  128. #-------------------------------------------------------------------------------
  129.  
  130. def jess_fogs(id=0,nombre="",hue=0,opacity=255,blend=0,zoom=1.0,sx=0,sy=0,stf=true)
  131. return if !$scene.is_a?(Scene_Map)
  132. $scene.spriteset.j_fog=[] if !$scene.spriteset.j_fog
  133. $scene.spriteset.j_fog[id]=[nombre,hue,opacity,blend,zoom,sx,sy,stf]
  134. end
  135.  
  136. #-------------------------------------------------------------------------------
  137. # Spriteset_Map
  138. # * Editar la información de sprites en el mapa actual
  139. #-------------------------------------------------------------------------------
  140.  
  141. class Spriteset_Map
  142.  
  143. attr_accessor :j_fog
  144. attr_accessor :j_fog_bmp
  145.  
  146. #-------------------------------------------------------------------------------
  147. # Iniciar class
  148. #-------------------------------------------------------------------------------
  149.  
  150. alias ini_jess initialize
  151. def initialize(map=nil)
  152. ini_jess(map)
  153. @j_fog = []
  154. @j_fog_bmp = []
  155. end
  156.  
  157. #-------------------------------------------------------------------------------
  158. # Update
  159. #-------------------------------------------------------------------------------
  160.  
  161. alias up_jess update
  162. def update
  163. up_jess
  164. vista = @viewport1.is_a?(Viewport) ? @viewport1 : @@viewport1
  165. @j_fog = [] if !@j_fog
  166. @j_fog_bmp = [] if !@j_fog_bmp
  167.  
  168. if @j_fog.size>0
  169. for fg in 0...@j_fog.size
  170. next if @j_fog[fg]==nil
  171. if @j_fog[fg][0]==""
  172. @j_fog_bmp[fg].dispose if $game_player.jf02[fg]
  173. @j_fog_bmp[fg]=nil
  174. end
  175. if !@j_fog_bmp[fg]
  176. @j_fog_bmp[fg] = Plane.new(vista)
  177. @j_fog_bmp[fg].z = 3000
  178. @j_fog_bmp[fg].bitmap = Bitmap.new("#{JSS_MFOGS_DIR}/#{@j_fog[fg][0]}")
  179. @j_fog_bmp[fg].bitmap.hue_change(@j_fog[fg][1])
  180. @j_fog_bmp[fg].opacity = @j_fog[fg][2]
  181. @j_fog_bmp[fg].blend_type = @j_fog[fg][3]
  182. @j_fog_bmp[fg].zoom_x = @j_fog[fg][4]
  183. @j_fog_bmp[fg].zoom_y = @j_fog[fg][4]
  184. end
  185. @j_fog_bmp[fg].ox+= @j_fog[fg][5] if @j_fog[fg][5]>0
  186. @j_fog_bmp[fg].oy+= @j_fog[fg][6] if @j_fog[fg][6]>0
  187. if JSS_MFOGS_NOPLANE == false
  188. @j_fog_bmp[fg].ox = @map.display_x/4+@map.fog_ox if @j_fog[fg][7]==true && @j_fog[fg][5]==0
  189. @j_fog_bmp[fg].oy = @map.display_y/4+@map.fog_oy if @j_fog[fg][7]==true && @j_fog[fg][6]==0
  190. end
  191. @j_fog_bmp[fg].update
  192. end
  193. end
  194. end
  195.  
  196. #-------------------------------------------------------------------------------
  197. # Dispose
  198. #-------------------------------------------------------------------------------
  199.  
  200. alias dis_jess dispose
  201. def dispose
  202. dis_jess
  203. if @j_fog.size>0
  204. for fg in 0...@j_fog.size
  205. @j_fog_bmp[fg].dispose if @j_fog_bmp[fg]
  206. end
  207. end
  208. end
  209.  
  210. end
  211. #
  212. #-------------------------------------------------------------------------------
  213. #
  214. #-------------------------------------------------------------------------------
  215. #
  216. #-------------------------------------------------------------------------------
  217. #===============================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement