Witajcie. Czas aby to ja dał skrypt.
Nie jest mojego autorstwa, ale przetłumaczyłem go, jakoś.
Nazwa skryptu: Thomas Edison
Co daje:
efekty świetlne w grze.
Instrukcja:
1. Należy w evencie wpisać np "LIGHT" w postaci komentarza/comment
2. Trzeba zahaczyć trzy pierwsze pola pod grafiką w tym evencie.
3. Event musi być na tej samej płaszczyźnie co bohater.
4. Potrzebujecie tego obrazka: plik le.png (folder graphics/pictures)
Przykładowy screen:
Spoiler:
Skrypt daje 12 typów świateł do wyboru.
Spoiler:
Kod:
=begin
Thomas Edison VX
Versja: 0.1
Autor: BulletXt (bulletxt@gmail.com)
Data: 12/06/2009
Tłumaczenie: Marcin (http://www.ultimateam.pl)
WAŻNE: aby ten skrypt działał potrzebujecie obrazka le.png w pliku Graphics/Pictures.
Typy światła:
GROUND - średnie białe światło.
GROUND2 - to co wyżej, lekko migoczące
GROUND3 - czerwone światło.
GROUND4 - zielone światło.
GROUND5 - niebieskie światło.
FIRE - czerwone światlo, pod ognisko.
LIGHT - małe białe światło.
LIGHT2 - duże białe światło.
LIGHT3 - małe białe światło, słabsze od LIGHT.
TORCH - czerwone, migoczące.
TORCH2 - czerwone migoczące.
TORCH3 - średnie, białe, migoczące.
Należy je umieścić jako komentarz w danym evencie.
=end
#ID switch'a/przełącznika (jeżeli jest On to światła NIE ma)
#dla świateł typu: FIRE
FIRE = 87
#dla świateł typu: LIGHT, LIGHT2, LIGHT3
LIGHT = 86
#dla świateł typu: GROUND, GROUND2, GROUND3, GROUND4, GROUND5
GROUND = 85
#dla świateł typu: TORCH, TORCH2, TORCH3
TORCH = 84
# jeżeli macie skrypt KGC_DayNight. To wystarczy poniższe polecenie zamienić na true.
# ten skrypt musi być umieszczony pod skryptem KDC_DayNight
ENABLE_KGC_DAY_NIGHT_SCRIPT = false
=begin
poniższa wartość musi być taka sama jak w skrypcie KGC_DayNight wartość "PHASE_VARIABLE"
Domyślnie jest to 11.
=end
KGC_DAY_NIGHT_SCRIPT_VARIABLE = 11
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
#jeżeli noc
if $bulletxt_day_check == 0
if $game_variables[KGC_DAY_NIGHT_SCRIPT_VARIABLE] == 1
$scene = Scene_Map.new
$bulletxt_day_check = 1
end
else
#jeżeli dzień
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
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
Pomógł: 1 raz Dołączył: 06 Gru 2009 Posty: 99 Skąd: z Huty Mińskiej
Wysłany: Sro 30 Gru, 2009 23:51
Mam pytanie: Czy da się zrobić, aby po włączeniu zdarzenia (przez przełącznik) którego wcześniej nie było, a to zdarzenie gdy ma wpisane np. "GROUND5" (czyli świecenie na niebiesko), takie światło włączyło się od razu? Bo jak by się taki przełącznik włączyło to światło pojawiło by się dopiero gdybyśmy odświeżyli mapę czyli po prze teleport owaniu...
Rozumiecie o co mi chodzi? Przepraszam za taką "nie zwięzłość", ale ciężko to było wytłumaczyć... Po prostu sami spróbujcie u siebie to zobaczycie...
PS. Piszcie jeżeli bez screenów i dokładnych opisów się nie obejdzie.
________________________ Gość, podoba ci się moja gra? ;)
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Czw 31 Gru, 2009 01:07
Spróbuj po włączeniu przełącznika od razu wywołać skrypt:
Kod:
$scene = Scene_Map.new
Początkowo myślałam, że wystarczy samo $game_map.refresh, ale właśnie w tym przypadku nie zadziałało. U mnie ponowne wywołanie Scene_Map zdaje rezultaty.
Działa, lecz ze skryptem "Noce i Dnie" gdy jest wieczór lub noc to na chwilę
ściemnia się ekran do takiej barwy jaką ma noc lub wieczór.
Chodzi o to że w tej mapie barwa ekranu nie zmienia się
ale jak przełącze by światło było zapalone na chwile jest ciemniej...
Tak samo jest gdy włącze menu
Da się co prawda grać lecz chciałem to wypomnieć...Dla poprawek :P
próbowałem już tak jak tam jest napisane
ale to światło lata cały czas obok mnie, jak jakiś duszek czy coś
ja chciałbym, aby to światło było cały czas na mnie
EDIT: domyśliłem się sam jak to zrobić. Wystarczy ustawić zmienną x i y na gracza i pokazać ten obrazek le.png
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum