yade26 Novice
Posts : 132 Thanked : 0 Engine : RMVX Ace Skill : Skilled Type : Scripter
| |
shikami Member 1000 Konsep
Posts : 3744 Thanked : 31 Engine : Multi-Engine User Skill : Beginner Type : Developer
Trophies
Awards:
| Subyek: Re: [ASK] Efek Nyala pada Tileset 2012-04-06, 10:42 | |
| fontnya ... lol Jet's light effect script,cek on google event juga bisa sih,tinggal pake efek gambar cahaya terus di animated | |
|
marjoni01 Senior
Posts : 971 Thanked : 5 Engine : RMVX Ace Skill : Intermediate Type : Developer
| Subyek: Re: [ASK] Efek Nyala pada Tileset 2012-04-06, 10:44 | |
| Itu sih pake' script.. Nieh scriptnyo: - Spoiler:
- Code:
-
=begin Thomas Edison VX
Version: 0.1 Author: BulletXt (bulletxt@gmail.com) Date: 12/06/2009 Script based upon Kylock's (http://www.rpgmakervx.net/index.php?showtopic=2432)
Description: To make an event glow, put a Comment inside event with one of the following light modes. When importing this script to a new project, be sure to copy Graphics/Pictures/le.png to your project. Light Modes: GROUND - Medium steady white light. GROUND2 - Medium white light with slight flicker. GROUND3 - Small steady red light. GROUND4 - Medium steady green light. GROUND5 - Medium steady blue light. FIRE - Large red light with a slight flicker. LIGHT - Small steady white light. LIGHT2 - X-Large steady white light. LIGHT3 - Small white light with slight flicker. TORCH - X-Large red light with a heavy flicker. TORCH2 - X-Large red light with a sleight flicker. TORCH3 - Large white light with a slight flicker.
You can make a specific light type turn off/on by turning one of the following switches id ON/off. By default, the switches are off so the lights will show. Of course, turning all switches to ON will make all light types go off.
=end
#id switch that if ON turns off FIRE mode lights #applies only to light mode: FIRE FIRE = 87 #id switch that if ON turns off LIGHT mode lights #applies to light mode: LIGHT, LIGHT2, LIGHT3 LIGHT = 86 #id switch that if ON turns off GROUND mode lights #applies to light mode: GROUND, GROUND2, GROUND3, GROUND4, GROUND5 GROUND = 85 #id switch that if ON turns off TORCH mode lights #applies to light mode: TORCH, TORCH2, TORCH3 TORCH = 84
# this value can be true or false. If true, it enables compatibility with # KGC_DayNight script. When it's night, lights will automatically go on, when # morning comes back lights will go off. If you set this to true, be sure to # place this script below KGC_DayNight script in the Scripting Editor of VX. ENABLE_KGC_DAY_NIGHT_SCRIPT = false
=begin This value must be exactly the same of "PHASE_VARIABLE" setting in KGC_DayNight script. By default the script sets it to 11. To make the event light go on/off with DayNight system, set the event page to be triggered with this variable id and set it to be 1 or above. =end KGC_DAY_NIGHT_SCRIPT_VARIABLE = 11
=begin Tips and tricks: You can't make a single specific light inside event go on/off if a condition applies, for example if a switch is ON. For the moment, you can achieve this by doing a script call immediatley after you make the condition apply. If for example the light event must go on if switch 100 is ON, after you turn on the switch do this call script: $scene = Scene_Map.new Be aware that doing this call script will make game freeze for 30 milliseconds.
################################################################################ =end
$bulletxt_day_check = 0
class Spriteset_Map alias bulletxt_spriteset_map_initalize initialize def initialize @light_effects = [] initialize_lights bulletxt_spriteset_map_initalize update end
alias bulletxt_spriteset_map_dispose dispose def dispose bulletxt_spriteset_map_dispose for effect in @light_effects effect.light.dispose end @light_effects = [] end alias bulletxt_spriteset_map_update update def update bulletxt_spriteset_map_update check_day_night if ENABLE_KGC_DAY_NIGHT_SCRIPT update_light_effects end
def check_day_night #if night if $bulletxt_day_check == 0 if $game_variables[KGC_DAY_NIGHT_SCRIPT_VARIABLE] == 1 $scene = Scene_Map.new $bulletxt_day_check = 1 end else #if morning if $game_variables[KGC_DAY_NIGHT_SCRIPT_VARIABLE] == 3 $game_variables[KGC_DAY_NIGHT_SCRIPT_VARIABLE] = -1 $scene = Scene_Map.new $bulletxt_day_check = 0 end end end def initialize_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 == ["FIRE"] type = "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) end if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT"] type = "LIGHT" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 1 light_effects.light.zoom_y = 1 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT2"] type = "LIGHT2" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 6 light_effects.light.zoom_y = 6 light_effects.light.opacity = 150 @light_effects.push(light_effects) end
if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT3"] type = "LIGHT3" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 1 light_effects.light.zoom_y = 1 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["TORCH"] type = "TORCH" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 6 light_effects.light.zoom_y = 6 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["TORCH2"] type = "TORCH2" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 6 light_effects.light.zoom_y = 6 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["TORCH3"] type = "TORCH3" 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) end if event.list[i].code == 108 and event.list[i].parameters == ["GROUND"] type = "GROUND" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 2 light_effects.light.zoom_y = 2 light_effects.light.opacity = 100 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["GROUND2"] type = "GROUND2" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 2 light_effects.light.zoom_y = 2 light_effects.light.opacity = 100 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["GROUND3"] type = "GROUND3" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 2 light_effects.light.zoom_y = 2 light_effects.light.opacity = 100 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["GROUND4"] type = "GROUND4" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 2 light_effects.light.zoom_y = 2 light_effects.light.opacity = 100 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["GROUND5"] type = "GROUND5" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 2 light_effects.light.zoom_y = 2 light_effects.light.opacity = 100 @light_effects.push(light_effects) end end end for effect in @light_effects case effect.type when "FIRE" effect.light.x = (effect.event.real_x - 600 - $game_map.display_x) / 8 + rand(6) - 3 effect.light.y = (effect.event.real_y - 600 - $game_map.display_y) / 8 + rand(6) - 3 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 when "LIGHT" effect.light.x = (-0.25 / 2 * $game_map.display_x) + (effect.event.x * 32) - 15 effect.light.y = (-0.25 / 2 * $game_map.display_y) + (effect.event.y * 32) - 15 effect.light.blend_type = 1 when "LIGHT2" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 effect.light.blend_type = 1 when "LIGHT3" effect.light.x = (-0.25 / 2 * $game_map.display_x) + (effect.event.x * 32) - 15 effect.light.y = (-0.25 / 2 * $game_map.display_y) + (effect.event.y * 32) - 15 effect.light.blend_type = 1 when "TORCH" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 when "TORCH2" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 when "TORCH3" effect.light.x = (effect.event.real_x - 600 - $game_map.display_x) / 8 + rand(6) - 3 effect.light.y = (effect.event.real_y - 600 - $game_map.display_y) / 8 + rand(6) - 3 effect.light.blend_type = 1 when "GROUND" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 effect.light.blend_type = 1 when "GROUND2" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 effect.light.blend_type = 1 when "GROUND3" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 effect.light.tone = Tone.new(255,-255,-255, 255) effect.light.blend_type = 1 when "GROUND4" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 effect.light.tone = Tone.new(-255,255,-255, 100) effect.light.blend_type = 1 when "GROUND5" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 effect.light.tone = Tone.new(-255,255,255, 100) effect.light.blend_type = 1 end end end
def update_light_effects ################################################################################ # handle FIRE if $game_switches[FIRE] for effect in @light_effects next if effect.type != "FIRE" effect.light.visible = false end else for effect in @light_effects next if effect.type != "FIRE" effect.light.visible = true end end
# handle LIGHT if $game_switches[LIGHT] for effect in @light_effects next if effect.type != "LIGHT" && effect.type != "LIGHT2" && effect.type != "LIGHT3" effect.light.visible = false end else for effect in @light_effects next if effect.type != "LIGHT" && effect.type != "LIGHT2" && effect.type != "LIGHT3" effect.light.visible = true end end
# handle GROUND if $game_switches[GROUND] for effect in @light_effects next if effect.type != "GROUND" && effect.type != "GROUND2" && effect.type != "GROUND3" && effect.type != "GROUND4" && effect.type != "GROUND5" effect.light.visible = false end else for effect in @light_effects next if effect.type != "GROUND" && effect.type != "GROUND2" && effect.type != "GROUND3" && effect.type != "GROUND4" && effect.type != "GROUND5" effect.light.visible = true end end
# handle TORCH if $game_switches[TORCH] for effect in @light_effects next if effect.type != "TORCH" && effect.type != "TORCH2" && effect.type != "TORCH3" effect.light.visible = false end else for effect in @light_effects next if effect.type != "TORCH" && effect.type != "TORCH2" && effect.type != "TORCH3" effect.light.visible = true end end
################################################################################
for effect in @light_effects case effect.type
when "FIRE" effect.light.x = (effect.event.real_x - 600 - $game_map.display_x) / 8 + rand(6) - 3 effect.light.y = (effect.event.real_y - 600 - $game_map.display_y) / 8 + rand(6) - 3 effect.light.opacity = rand(10) + 90 when "LIGHT" effect.light.x = (-0.25 / 2 * $game_map.display_x) + (effect.event.x * 32) - 15 effect.light.y = (-0.25 / 2 * $game_map.display_y) + (effect.event.y * 32) - 15 when "LIGHT2" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 when "LIGHT3" effect.light.x = (-0.25 / 2 * $game_map.display_x) + (effect.event.x * 32) - 15 effect.light.y = (-0.25 / 2 * $game_map.display_y) + (effect.event.y * 32) - 15 effect.light.opacity = rand(10) + 90 when "TORCH" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 + rand(20) - 10 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 + rand(20) - 10 effect.light.opacity = rand(30) + 70 when "TORCH2" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 effect.light.opacity = rand(10) + 90 when "TORCH3" effect.light.x = (effect.event.real_x - 600 - $game_map.display_x) / 8 + rand(6) - 3 effect.light.y = (effect.event.real_y - 600 - $game_map.display_y) / 8 + rand(6) - 3 effect.light.opacity = rand(10) + 90 when "GROUND" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 when "GROUND2" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 effect.light.opacity = rand(10) + 90 when "GROUND3" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 when "GROUND4" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 when "GROUND5" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 end end
#close def end #close class end
class Light_Effect attr_accessor :light attr_accessor :event attr_accessor :type def initialize(event, type) @light = Sprite.new @light.bitmap = Cache.picture("le.png") @light.visible = true @light.z = 1000 @event = event @type = type end
end
Dan kemudian ada fixnya juga: - Spoiler:
- Code:
-
#=============================================================================== # ** Thomas Edison VX: Fadeout Fix #------------------------------------------------------------------------------- # Fix by piejamas # v1.0 #------------------------------------------------------------------------------- # Fixes that annoying bug where light effects were still visible when you did # a fadeout command. Haven't tested it with Kylock's version :3 #=============================================================================== class Spriteset_Map attr_accessor :light_effects end
class Scene_Map attr_accessor :spriteset end
class Game_Screen alias :pie_base_fadeout :update_fadeout def update_fadeout pie_base_fadeout if @fadeout_duration >= 1 d = @fadeout_duration $scene.spriteset.light_effects.each { |effect| effect.light.opacity = (effect.light.opacity * (d - 1)) / d } end end
alias :pie_base_fadein :update_fadein def update_fadein pie_base_fadein d = @fadein_duration if @fadein_duration >= 1 $scene.spriteset.light_effects.each { |effect| effect.light.opacity = (effect.light.opacity * (d - 1) + 100) / d } end end end
Atau kalau mau ada lagi kok: - Spoiler:
- Code:
-
#============================================================================== # ■ Light Effects VX 1.1 # 5.21.2008 #------------------------------------------------------------------------------ # Script by: Kylock (originally for RMXP by Near Fantastica) #============================================================================== # To make an event glow, give it a Comment: with any of the supported light # modes. # The SWITCH setting below will disable light effects from updating with the # switch is on. #============================================================================== # ● Change Log #------------------------------------------------------------------------------ # 1.0 - Original Release # 1.1 - New light modes added: LIGHT2, TORCH, TORCH2 # - Changed sprite blend mode to ADD (looks slightly better) # - Fire-based lights are now red in color #============================================================================== # ● Light Modes #------------------------------------------------------------------------------ # GROUND - Medium steady white light. # FIRE - Large red light with a slight flicker. # LIGHT - Small steady white light. # LIGHT2 - X-Large steady white light. # TORCH - X-Large red light with a heavy flicker. # TORCH2 - X-Large red light with a sleight flicker. #==============================================================================
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 == ["GROUND"] type = "GROUND" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 2 light_effects.light.zoom_y = 2 light_effects.light.opacity = 100 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["FIRE"] type = "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) end if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT"] type = "LIGHT" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 1 light_effects.light.zoom_y = 1 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["LIGHT2"] type = "LIGHT2" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 6 light_effects.light.zoom_y = 6 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["TORCH"] type = "TORCH" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 6 light_effects.light.zoom_y = 6 light_effects.light.opacity = 150 @light_effects.push(light_effects) end if event.list[i].code == 108 and event.list[i].parameters == ["TORCH2"] type = "TORCH2" light_effects = Light_Effect.new(event,type) light_effects.light.zoom_x = 6 light_effects.light.zoom_y = 6 light_effects.light.opacity = 150 @light_effects.push(light_effects) end end end for effect in @light_effects case effect.type when "GROUND" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 effect.light.blend_type = 1 when "FIRE" effect.light.x = (effect.event.real_x - 600 - $game_map.display_x) / 8 + rand(6) - 3 effect.light.y = (effect.event.real_y - 600 - $game_map.display_y) / 8 + rand(6) - 3 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 when "LIGHT" effect.light.x = (-0.25 / 2 * $game_map.display_x) + (effect.event.x * 32) - 15 effect.light.y = (-0.25 / 2 * $game_map.display_y) + (effect.event.y * 32) - 15 effect.light.blend_type = 1 when "LIGHT2" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 effect.light.blend_type = 1 when "TORCH" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 when "TORCH2" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 effect.light.tone = Tone.new(255,-100,-255, 0) effect.light.blend_type = 1 end end end def update_light_effects if $game_switches[100] for effect in @light_effects
effect.light.visible = false end else for effect in @light_effects next if effect.type == "FIRE" || effect.type == "TORCH" effect.light.visible = true end end for effect in @light_effects case effect.type when "GROUND" effect.light.x = (effect.event.real_x - 400 - $game_map.display_x) / 8 effect.light.y = (effect.event.real_y - 400 - $game_map.display_y) / 8 when "FIRE" effect.light.x = (effect.event.real_x - 600 - $game_map.display_x) / 8 + rand(6) - 3 effect.light.y = (effect.event.real_y - 600 - $game_map.display_y) / 8 + rand(6) - 3 effect.light.opacity = rand(10) + 90 when "LIGHT" effect.light.x = (-0.25 / 2 * $game_map.display_x) + (effect.event.x * 32) - 15 effect.light.y = (-0.25 / 2 * $game_map.display_y) + (effect.event.y * 32) - 15 when "LIGHT2" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 when "TORCH" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 + rand(20) - 10 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 + rand(20) - 10 effect.light.opacity = rand(30) + 70 when "TORCH2" effect.light.x = (effect.event.real_x - 1200 - $game_map.display_x) / 8 - 20 effect.light.y = (effect.event.real_y - 1200 - $game_map.display_y) / 8 effect.light.opacity = rand(10) + 90 end end end end
class Light_Effect attr_accessor :light attr_accessor :event attr_accessor :type def initialize(event, type) @light = Sprite.new @light.bitmap = Cache.picture("le.png") @light.visible = true @light.z = 1000 @event = event @type = type end end
| |
|
yade26 Novice
Posts : 132 Thanked : 0 Engine : RMVX Ace Skill : Skilled Type : Scripter
| Subyek: Re: [ASK] Efek Nyala pada Tileset 2012-04-07, 15:21 | |
| sorry.. itu yang Thomas Edison.... error... ktanya Graphics/Pictures/le.png | |
|
marjoni01 Senior
Posts : 971 Thanked : 5 Engine : RMVX Ace Skill : Intermediate Type : Developer
| Subyek: Re: [ASK] Efek Nyala pada Tileset 2012-04-07, 15:35 | |
| Ups... Lupa kasih graphicnya aku... Silahkan Ke TKP aja : http://www.rpgmakervx.net/index.php?showtopic=15371&hl=Thomas Itu ada penjelasan + Gambarnya Sorry lagi | |
|
Sponsored content
| Subyek: Re: [ASK] Efek Nyala pada Tileset | |
| |
|