I’m on version 50 attempt of this … Tried everything I could think of. Why I posted here. Maybe someone knows a work around.
This is a preset black GUI with this code.
drp = script.Parent.drop
function Drop(mode)
if mode then drp.BackgroundTransparency = 0
repeat task.wait(0.02)
drp.BackgroundTransparency += 0.1
until(drp.BackgroundTransparency >=1)
drp.BackgroundTransparency = 1
else drp.BackgroundTransparency = 1
repeat task.wait(0.02)
drp.BackgroundTransparency -= 0.1
until(drp.BackgroundTransparency <=0)
drp.BackgroundTransparency = 0
end
end task.wait(1)
Drop(true)
plr = game.Players.LocalPlayer
chr = plr.Character or plr.CharacterAdded:Wait()
chr:WaitForChild("Humanoid").Died:Connect(function()
Drop(false)
end)
How you going to get any faster than that. It should come up black.
“drop” is just a frame.
I need the moment of blackness … because I’m changing the players outfit and accessories. Without a covered up screen for just a second you can see it change and it looks tacky.
But without anything but just this GUI it still will screen flash if the connect is slower than normal. fade.rbxm (3.7 KB)
That is where I’m at now … and from time to time on the slower loads I get a tacky screen flash.
Be nice if the camera had a color level like how decals work. The fade in and out could easily be done from that no GUI needed.
This works! It still has that “screen flash” from time to time but the ExposureCompensation covers it up like a champ!
note: My real ExposureCompensation is 0.75 and the fade in is trigged from a different script by changing fad.Value to true. This all allows me to change the player gear and accessories unseen.
With a nice fade in and out effect.
local Lighting = game:GetService("Lighting")
Lighting.ExposureCompensation = -100
drp = script.Parent.drop
fad = script.Parent.fade
function Drop(mode)
if mode then drp.BackgroundTransparency = 0
Lighting.ExposureCompensation = -0.75
repeat task.wait(0.02)
drp.BackgroundTransparency += 0.1
until(drp.BackgroundTransparency >=1)
drp.BackgroundTransparency = 1
else drp.BackgroundTransparency = 1
repeat task.wait(0.02)
drp.BackgroundTransparency -= 0.1
until(drp.BackgroundTransparency <=0)
drp.BackgroundTransparency = 0
Lighting.ExposureCompensation = -100
end
end
fad.Changed:Connect(function()
if fad.Value == true then
Drop(true)
end
end)
plr = game.Players.LocalPlayer
chr = plr.Character or plr.CharacterAdded:Wait()
chr:WaitForChild("Humanoid").Died:Connect(function()
Drop(false)
end)