So when I set the Value to true the death sound still plays, meaning that the script did not see that the Value was true:
local Position = Vector3.new()
local Monster1 = game.Workspace.Nightmare
local Monster2 = game.Workspace.Nightmare2
wait(25)
Monster1.Position = Vector3.new(4.366, 6.608, 20.635)
print("Moved")
if Monster1.Position == Vector3.new(4.366, 6.608, 20.635) and game.Workspace.EndoCurtain7.Curtain.Value.Value == true then
wait(3)
Monster1.Position = Vector3.new(-41.254, 9.873, 15.47)
print("Ran")
else
wait(10)
game.Workspace.DeathSound:Play()
end
if Monster2.Position == Vector3.new(10.852, 6.541, 21.017) and game.Workspace.EndoCurtain1.Curtain.Value.Value == true then
wait(3)
Monster2.Position = Vector3.new(-41.254, 9.873, 15.47)
print("Ran")
else
wait(10)
game.Workspace.DeathSound:Play()
end
wait(15)
Monster2.Position = Vector3.new(10.852, 6.541, 21.017)
Any ideas?

3 comments
This is why testing helps. Try going onto the serverside by playing the game and clicking the clientside button in the home tab of studio, then check if the value is true or not.
I checked it and the value is true when I activate the EndoCurtain. When I De-Activate it the Value changes, meaning that the EndoCurtain works.
Here's the game: https://web.roblox.com/games/4617545797/Cabin-Fever?refPageId=0c72b50d-2d78-422e-a250-62e7dcc2d4f2