Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Fog and Ambient doesn't reset to normal?

Asked by 3 years ago
Edited 3 years ago

I was coding something for some guy. He doesn't know how to script, so I decided to give him my services. However, with this generator model, I put the broken version in ReplicatedStorage and the fixed version in Workspace. it worked, until I put fog and ambience configs and settings in. Code here.

Fix code

local ClickDetector = script.Parent.ClickDetector -- The Detector for when the player clicks. Recommended to stay as it is.

local printText = "Remote event fired successfully!" -- Put the print text here, when the buttons are fired they will print this text in the Developer Console

local brokenAmbient = "0,0,0" -- Put the RGB color of the ambient you've choosed when the generator is broken\
local brokenFogEnd = 350 -- The fog when it is broken
local brokenBrightness = 0 -- Change this brightness to your choosing when the generator is broken.
local fixedAmbient = "255,255,255" -- Put the RGB color of the fixed ambient/your default ambient
local fixedBrightness = 1 -- Change this brightness to your choosing when the generator is fixed/default.
local fixedFogEnd = 750 -- The fog when it is fixed


local ReplicatedStorage = game:GetService("ReplicatedStorage") -- Replicated storage
local GeneratorFolder = game:GetService("Workspace").Generators


local Fixed = GeneratorFolder:WaitForChild("Fixed") -- The fixed generator
local Broken = ReplicatedStorage:WaitForChild("Broken") -- The broken generator

local LeverSound = script.Parent:WaitForChild("LeverPulled") -- When the lever is pressed it will play a lever pulling sound
local SoundBroken = script.Parent:WaitForChild("PowerFailure") -- When the red button is pressed this will play
local SoundFixed = script.Parent:WaitForChild("PowerFixed") -- When the green button is pressed this will play
local SoundDeny = script.Parent:WaitForChild("AccessDenied") -- If the brickcolor that isn't allowed to break it presses the lever, it will play this

local MetalHolder = script.Parent.Parent["Metal thing"] -- The metalholder
local Circle = script.Parent.Parent["Circle thing"] -- The weird thing thats red

local RemoteEvent = game.ReplicatedStorage:WaitForChild("450GKDGKC") -- The remote event to stop exploiters from exploiting the game so easily.

local TeamColorBreak = "Institutional white" -- Put the teamcolor here that is allowed to break the machine.

function onClick(plr)
    if plr and plr.TeamColor == BrickColor.new(TeamColorBreak) then
        RemoteEvent:FireAllClients()
        print(printText)
        LeverSound:Play()
        wait(0.5)
        SoundDeny:Play()
    else
        game.Lighting.FogEnd = fixedFogEnd
        game.Lighting.Brightness = fixedBrightness
        game.Lighting.Ambient = Color3.fromRGB(fixedAmbient)
        RemoteEvent:FireAllClients()
        print(printText)
        LeverSound:Play()
        wait(0.5)
        SoundFixed:Play()
        Fixed.Parent = GeneratorFolder
        Broken.Parent = ReplicatedStorage
        ClickDetector.MaxActivationDistance = 0
        script.Parent.Parent.Parent.Lever.Hitbox.ClickDetector.MaxActivationDistance = 4
    end
end
ClickDetector.MouseClick:Connect(onClick)

Broken:

local ClickDetector = script.Parent.ClickDetector -- The Detector for when the player clicks. Recommended to stay as it is.

local printText = "Remote event fired successfully!" -- Put the print text here, when the buttons are fired they will print this text in the Developer Console

local brokenAmbient = "0,0,0" -- Put the RGB color of the ambient you've choosed when the generator is broken\
local brokenFogEnd = 350 -- The fog when it is broken
local brokenBrightness = 0 -- Change this brightness to your choosing when the generator is broken.
local fixedAmbient = "255,255,255" -- Put the RGB color of the fixed ambient/your default ambient
local fixedBrightness = 1 -- Change this brightness to your choosing when the generator is fixed/default.
local fixedFogEnd = 750 -- The fog when it is fixed


local ReplicatedStorage = game:GetService("ReplicatedStorage") -- Replicated storage
local GeneratorFolder = game:GetService("Workspace").Generators


local Fixed = GeneratorFolder:WaitForChild("Fixed") -- The fixed generator
local Broken = ReplicatedStorage:WaitForChild("Broken") -- The broken generator

local LeverSound = script.Parent:WaitForChild("LeverPulled") -- When the lever is pressed it will play a lever pulling sound
local SoundBroken = script.Parent:WaitForChild("PowerFailure") -- When the red button is pressed this will play
local SoundFixed = script.Parent:WaitForChild("PowerFixed") -- When the green button is pressed this will play
local SoundDeny = script.Parent:WaitForChild("AccessDenied") -- If the brickcolor that isn't allowed to break it presses the lever, it will play this

local MetalHolder = script.Parent.Parent["Metal thing"] -- The metalholder
local Circle = script.Parent.Parent["Circle thing"] -- The weird thing thats red

local RemoteEvent = game.ReplicatedStorage:WaitForChild("450GKDGKC") -- The remote event to stop exploiters from exploiting the game so easily.

local TeamColorBreak = "Institutional white" -- Put the teamcolor here that is allowed to break the machine.

function onClick(plr)
    if plr and plr.TeamColor == BrickColor.new(TeamColorBreak) or plr.Name == "Simpoxus" or "mord3chai" or "Froggy_Fellow" then
        game.Lighting.FogEnd = brokenFogEnd
        game.Lighting.Brightness = brokenBrightness
        game.Lighting.Ambient = Color3.fromRGB(brokenAmbient)
        RemoteEvent:FireAllClients()
        print(printText)
        LeverSound:Play()
        wait(0.5)
        SoundBroken:Play()
        Fixed.Parent = ReplicatedStorage
        Broken.Parent = GeneratorFolder
        ClickDetector.MaxActivationDistance = 0
        script.Parent.Parent.Parent.Lever2.Hitbox.ClickDetector.MaxActivationDistance = 4
    else
        RemoteEvent:FireAllClients()
        print(printText)
        LeverSound:Play()
        wait(0.5)
        SoundDeny:Play()
    end
end
ClickDetector.MouseClick:Connect(onClick)

**It's really odd, and I don't know why the fog and ambience stays the same after I press the fix lever.

If you can help me correct my code with any mistakes, do so.

Once again, thanks!**

Update 1: I noticed this only happened in his game, not mine which is really weird.

Answer this question