Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Near Fantastica's "Glow" script

Tindy

Sponsor

I got this script awhile ago.... it's  now missing from the site, but that's not the problem (as I still have it in my game :D) - the problem is that I've forgotten how to use it.  I know it has something to do with using Comments, but I don't know exactly what....

Code:
# ? Light Effects
#================================
# ?By: Near Fantastica
#   Date: 28.06.05
#   Version: 3
#================================

class Spriteset_Map
 #--------------------------------------------------------------
 alias les_spriteset_map_initalize initialize
 alias les_spriteset_map_dispose dispose
 alias les_spriteset_map_update update
 #--------------------------------------------------------------
 def initialize
   @light_effects = []
   setup_lights
   les_spriteset_map_initalize
   update
 end
 #--------------------------------------------------------------
 def dispose
   les_spriteset_map_dispose
   for effect in @light_effects
     effect.light.dispose
   end
   @light_effects = []
 end
 #--------------------------------------------------------------
 def update
   les_spriteset_map_update
   update_light_effects
 end
 #--------------------------------------------------------------
 def setup_lights
   for event in $game_map.events.values
     next if event.list == nil
     for i in 0...event.list.size
       if event.list[i].code == 108 and event.list[i].parameters == ["Light Effects"]
         type = event.list[i+1].parameters.to_s
         case type.upcase!
         when "GROUND"
           light_effects = Light_Effect.new(event,type)
           light_effects.light.zoom_x = 200 / 100.0
           light_effects.light.zoom_y = 200 / 100.0
           light_effects.light.opacity = 50
           @light_effects.push(light_effects)
         when "FIRE"
           light_effects = Light_Effect.new(event,type)
           light_effects.light.zoom_x = 300 / 100.0
           light_effects.light.zoom_y = 300 / 100.0
           light_effects.light.opacity = 100
           @light_effects.push(light_effects)
         when "LAMPPOST"
           light_effects = Light_Effect.new(event,"LEFT LAMP POST")
           light_effects.light.opacity = 100
           @light_effects.push(light_effects)
           light_effects = Light_Effect.new(event,"RIGHT LAMP POST")
           light_effects.light.opacity = 100
           @light_effects.push(light_effects)
         when "LEFTLANTERN"
           light_effects = Light_Effect.new(event,type)
           light_effects.light.opacity = 150
           @light_effects.push(light_effects)
         when "RIGHTLANTERN"
           light_effects = Light_Effect.new(event,type)
           light_effects.light.opacity = 150
           @light_effects.push(light_effects)
         end
       end
     end
   end
   for effect in @light_effects
     case effect.type
     when "GROUND"
       effect.light.x = (effect.event.real_x - 200 - $game_map.display_x) / 4
       effect.light.y = (effect.event.real_y - 200 - $game_map.display_y) / 4
     when "FIRE"
       effect.light.x = (effect.event.real_x - 300 - $game_map.display_x) / 4
       effect.light.y = (effect.event.real_y - 300 - $game_map.display_y) / 4
     when "LEFT LAMP POST"
       effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 5
       effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
     when "RIGHT LAMP POST"
       effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 25
       effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
     when "LEFTLANTERN"
       effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 20
       effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
     when "RIGHTLANTERN"
       effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 10
       effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
     end
   end
 end
 #--------------------------------------------------------------
 def update_light_effects
   for effect in @light_effects
     next if not in_range?(effect.event)
     case effect.type
     when "GROUND"
       effect.light.x = (effect.event.real_x - 200 - $game_map.display_x) / 4
       effect.light.y = (effect.event.real_y - 200 - $game_map.display_y) / 4
     when "FIRE"
       effect.light.x = (effect.event.real_x - 300 - $game_map.display_x) / 4
       effect.light.y = (effect.event.real_y - 300 - $game_map.display_y) / 4
     when "LEFT LAMP POST"
       effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 5
       effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
     when "RIGHT LAMP POST"
       effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 25
       effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 15
     when "LEFTLANTERN"
       effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 20
       effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
     when "RIGHTLANTERN"
       effect.light.x = (-0.25 * $game_map.display_x) + (effect.event.x * 32) - 10
       effect.light.y = (-0.25 * $game_map.display_y) + (effect.event.y * 32) - 5
     end
   end
 end
 #--------------------------------------------------------------
 def in_range?(object)
   screne_x = $game_map.display_x
   screne_x -= 256
   screne_y = $game_map.display_y
   screne_y -= 256
   screne_width = $game_map.display_x
   screne_width += 2816
   screne_height = $game_map.display_y
   screne_height += 2176
   return false if object.real_x <= screne_x
   return false if object.real_x >= screne_width
   return false if object.real_y <= screne_y
   return false if object.real_y >= screne_height
   return true
 end
end

#================================
# ? Light Effects Class
#================================

class Light_Effect
 #--------------------------------------------------------------
 attr_accessor :light
 attr_accessor :event
 attr_accessor :type
 #--------------------------------------------------------------
 def initialize(event, type)
   @light = Sprite.new
   @light.bitmap = RPG::Cache.picture("LE.PNG")
   @light.visible = true
   @light.z = 1000
   @event = event
   @type = type
 end
end

Can anybody help me?

EDIT: Alright, guys, SOMEONE has to know it, 'cause Kylock just posted how to work it for VX!
 

poccil

Sponsor

To put it simply, the first Comment event command in an event should read "Light Effects".  The Comment event command immediately following it should read "Ground", "Fire", "Lamppost", "LeftLantern", or "RightLantern".
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top