local Water1 = script.Parent._Water1 local Water2 = script.Parent._Water2 local Water3 = script.Parent._Water3 local Water4 = script.Parent._Water4 local TweenService = game:GetService("TweenService") local Beam1 = Water3.Beam local Beam2 = Water4.Beam local NumberValue_A = Beam1:FindFirstChild("NumberValue") local NumberValue_B = Beam2:FindFirstChild("NumberValue") local LavaTween_A = TweenService:Create(NumberValue_A, TweenInfo.new(1), {["Value"] = 0.2}) local LavaTween_B = TweenService:Create(NumberValue_B, TweenInfo.new(1), {["Value"] = 0.2}) NumberValue_A:GetPropertyChangedSignal("Value"):connect(function() Beam1.Transparency = NumberSequence.new(NumberValue_A.Value) end) NumberValue_B:GetPropertyChangedSignal("Value"):connect(function() Beam2.Transparency = NumberSequence.new(NumberValue_B.Value) end) local Neon = Enum.Material.Neon local Material_1 = Water3.Material local Material_2 = Water4.Material local SurfaceGlowA = Instance.new("SurfaceLight", Water3) local SurfaceGlowB = Instance.new("SurfaceLight", Water4) local Light_Face1 = Water3.SurfaceLight local Light_Face2 = Water4.SurfaceLight LavaState_Water3 = function() LavaTween_A:Play() Material_1 = Neon print(SurfaceGlowA) Light_Face1.Face = "Top" Light_Face1.Color = Color3.new(255, 0, 0) end LavaState_Water4 = function() LavaTween_B:Play() Material_2 = Neon print(SurfaceGlowB) Light_Face2.Face = "Top" Light_Face2.Color = Color3.new(255, 0, 0) end wait(5) Water1:Destroy() Water2:Destroy() wait(2) LavaState_Water3() wait(3) LavaState_Water4()
Assuming these number values actually have been inserted in your game, it appears to be indexing them before they're loaded in.
Basically, you can use the :WaitForChild()
function to ensure that the script halts until that object is found.
Pretty much every roblox object has this function, use it to your advantage.
:FindFirstChild()
, however; Doesn't halt. That means that if the object you're trying to index is nil (not loaded in) , it's going to return nil.
You should be able to solve it likes this:
local NumberValue_A = Beam1:WaitForChild("NumberValue") local NumberValue_B = Beam2:WaitForChild("NumberValue")
Now whenever you create the new tween, in theory; it should work.
If the error persists, make sure you check your spelling. You may have a typo.