Siemka. Mam problem ze skryptem, a głównie to z jego "wywołaniem". Kiedy tylko dodam go do swojej kolekcji skryptów to podczas testowania gry wyskakuje mi, że jest problem z linijką 60.
AutoLightOpac = “96″
AutoLightZ = 100000
end
class Spriteset_Map
alias gamebaker_autolight_init initialize
def initialize
create_gblights
gamebaker_autolight_init
end
alias gamebaker_autolight_disp dispose
def dispose
if @gb_autolights
@gb_autolights.dispose if !@gb_autolights.disposed?
@gb_autolights = nil
end
gamebaker_autolight_disp
end
alias gamebaker_autolight_upd update
def update
update_gblights
gamebaker_autolight_upd
end
def update_gblights
return if !@gb_autolights
@gb_autolights.opacity = eval(GameBaker::AutoLightOpac).to_i
@gb_autolights.ox = $game_map.display_x / 8
@gb_autolights.oy = $game_map.display_y / 8
end
def create_gblights
data = $game_map.data
for x in 0…$game_map.width
for y in 0…$game_map.height
next if data[x,y,2] == 0
if GameBaker::AutoLightTiles.include?(data[x,y,2])
create_gblight(data[x,y,2],x,y)
end
end
end
end
def create_gblight(num,x,y)
sg = GameBaker::AutoLightTiles[num]
light = Bitmap.new(sg[2],sg[3])
clr = GameBaker::AutoLightColors[num]
start = GameBaker::AutoLightStart[num]
num = (start).to_f
numup = num / (sg[3] + 6).to_f
for i in 0…sg[3]
rect = Rect.new(0,i,sg[2],i+1)
color = Color.new(clr[0],clr[1],clr[2],num.to_i)
light.fill_rect(rect,color)
num = (num -= numup)
num = (num -= numup) if i < 6
end
if !@gb_autolights
@gb_autolights = Sprite.new
@gb_autolights.bitmap = Bitmap.new($game_map.width * 32,$game_map.height * 32)
@gb_autolights.z = GameBaker::AutoLightZ
@gb_autolights.opacity = eval(GameBaker::AutoLightOpac).to_i
end
@gb_autolights.bitmap.blt((x * 32) + sg[0],(y * 32) + sg[1],light,
Rect.new(0,0,sg[2],sg[3]))
end
end
Używam innych Tile niż podstawowe, ale okna mam w Tile C. Nie wiem właśnie dlaczego to nie działa. W Tile C na samym końcu mam okna. Czy to coś zmienia?
class Spriteset_Map
alias gamebaker_autolight_init initialize
def initialize
create_gblights
gamebaker_autolight_init
end
alias gamebaker_autolight_disp dispose
def dispose
if @gb_autolights
@gb_autolights.dispose if !@gb_autolights.disposed?
@gb_autolights = nil
end
gamebaker_autolight_disp
end
alias gamebaker_autolight_upd update
def update
update_gblights
gamebaker_autolight_upd
end
def update_gblights
return if !@gb_autolights
@gb_autolights.opacity = eval(GameBaker::AutoLightOpac).to_i
@gb_autolights.ox = $game_map.display_x / 8
@gb_autolights.oy = $game_map.display_y / 8
end
def create_gblights
data = $game_map.data
for x in 0...$game_map.width
for y in 0...$game_map.height
next if data[x,y,2] == 0
if GameBaker::AutoLightTiles.include?(data[x,y,2])
create_gblight(data[x,y,2],x,y)
end
end
end
end
def create_gblight(num,x,y)
sg = GameBaker::AutoLightTiles[num]
light = Bitmap.new(sg[2],sg[3])
clr = GameBaker::AutoLightColors[num]
start = GameBaker::AutoLightStart[num]
num = (start).to_f
numup = num / (sg[3] + 6).to_f
for i in 0...sg[3]
rect = Rect.new(0,i,sg[2],i+1)
color = Color.new(clr[0],clr[1],clr[2],num.to_i)
light.fill_rect(rect,color)
num = (num -= numup)
num = (num -= numup) if i < 6
end
if !@gb_autolights
@gb_autolights = Sprite.new
@gb_autolights.bitmap = Bitmap.new($game_map.width * 32,$game_map.height * 32)
@gb_autolights.z = GameBaker::AutoLightZ
@gb_autolights.opacity = eval(GameBaker::AutoLightOpac).to_i
end
@gb_autolights.bitmap.blt((x * 32) + sg[0],(y * 32) + sg[1],light,
Rect.new(0,0,sg[2],sg[3]))
end
end
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