赞 | 1 |
VIP | 0 |
好人卡 | 12 |
积分 | 2 |
经验 | 52910 |
最后登录 | 2024-8-20 |
在线时间 | 835 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 196
- 在线时间
- 835 小时
- 注册时间
- 2012-9-16
- 帖子
- 1811
|
我又来回答啦~~~
这是脚本,请复制到工程的脚本编辑器里,在工程地图绘制或设置事件时按下F11快捷键就可以打开。- =begin
- Thomas Edison VX
- Version: 0.1
- Author: BulletXt ([email protected])
- 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 blu 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 = 264
- #id switch that if ON turns off LIGHT mode lights
- #applies to light mode: LIGHT, LIGHT2, LIGHT3
- LIGHT = 265
- #id switch that if ON turns off GROUND mode lights
- #applies to light mode: GROUND, GROUND2, GROUND3, GROUND4, GROUND5
- GROUND = 266
- #id switch that if ON turns off TORCH mode lights
- #applies to light mode: TORCH, TORCH2, TORCH3
- TORCH = 267
- # 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 = true
- =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)
- [url=home.php?mod=space&uid=22469]@light[/url] = Sprite.new
- @light.bitmap = Cache.picture("le.png")
- @light.visible = true
- @light.z = 1000
- @event = event
- @type = type
- end
- end
复制代码 请你先插入那个le.png的图片,然后放在那个对应的文件夹里。然后,你可以在你想要的夜晚[白天有发光的灯也是有的]地图里加上个事件,设置为自动执行。事件内容是:
更改画面色调。大概是-100-100-100 0.然后暂时消除事件。然后在要发光的事件里设置下,触发为确定键。然后事件里就加个注释。注释里的灯光可以参见这个灯光脚本17-28行。
至于那个灯光脚本17-28行,你可以用谷歌翻译。 |
评分
-
查看全部评分
|