TechSkylander1518

Overworld Light Events that disappear with no active page

Sep 1st, 2021 (edited)
352
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.29 KB | None | 0 0
  1. Events.onSpritesetCreate += proc { |_sender,e|
  2.   spriteset = e[0]      # Spriteset being created
  3.   viewport  = e[1]      # Viewport used for tilemap and characters
  4.   map = spriteset.map   # Map associated with the spriteset (not necessarily the current map)
  5.   for i in map.events.keys
  6.     if map.events[i].name[/^outdoorlight\((\w+)\)$/i] && map.events[i].instance_variable_get(:@page)
  7.       filename = $~[1].to_s
  8.       spriteset.addUserSprite(LightEffect_DayNight.new(map.events[i],viewport,map,filename))
  9.     elsif map.events[i].name[/^outdoorlight$/i] && map.events[i].instance_variable_get(:@page)
  10.       spriteset.addUserSprite(LightEffect_DayNight.new(map.events[i],viewport,map))
  11.     elsif map.events[i].name[/^light\((\w+)\)$/i] && map.events[i].instance_variable_get(:@page)
  12.       filename = $~[1].to_s
  13.       spriteset.addUserSprite(LightEffect_Basic.new(map.events[i],viewport,map,filename))
  14.     elsif map.events[i].name[/^light$/i] && map.events[i].instance_variable_get(:@page)
  15.       spriteset.addUserSprite(LightEffect_Basic.new(map.events[i],viewport,map))
  16.     end
  17.   end
  18.   spriteset.addUserSprite(Particle_Engine.new(viewport,map))
  19. }
  20.  
  21. #For the shadows, run this code after turning the light on/off
  22. $game_map.update
  23. $scene.disposeSpritesets
  24. RPG::Cache.clear
  25. $scene.createSpritesets
  26.  
Add Comment
Please, Sign In to add comment