I've been trying to do this for a week but there are just too many flaws to count and it's not working. Right now, it teleports the animatronics to different part's cframes randomly, which is what I want. Sadly, I am having lots of trouble trying to make it so the animatronics do not move on top of one another. I am also having trouble tracking their positions. For example, I want it so that when they are at the near door position and you turn the light on, it plays a sound. This does not work. I would really like help with this as I've always wanted to make a fnaf game of my own.
game:GetService("ReplicatedStorage").Ready.Changed:Connect(function()
if game.ReplicatedStorage.Ready.Value == true then
local riou = workspace.Riou
local mori = workspace.Mori
local hina = workspace.Hina
local asui = workspace.Asui
local senpai = workspace.Senpai
local offstageright = workspace.OffstageRight
local offstageleft = workspace.OffstageLeft
local rightstagecorner = workspace.StageCornerRight
local leftstagecorner = workspace.StageCornerLeft
local bydoorleft = workspace.ByDoorLeft
local bydoorright = workspace.ByDoorRight
local nearcloset = workspace.NearCloset
local counter = workspace.Counter
while wait(math.random(5, 10)) do
local whomoves = math.random(1, 4)
local animetronicmoving
if whomoves == 1 then
animetronicmoving = riou
elseif whomoves == 2 then
animetronicmoving = mori
elseif whomoves == 3 then
animetronicmoving = hina
elseif whomoves == 4 then
animetronicmoving = asui
end
local position = math.random(1, 12)
if position == 1 then
animetronicmoving.HumanoidRootPart.CFrame = offstageright.CFrame
elseif position == 2 then
animetronicmoving.HumanoidRootPart.CFrame = offstageleft.CFrame
elseif position == 3 then
animetronicmoving.HumanoidRootPart.CFrame = rightstagecorner.CFrame
elseif position == 4 then
animetronicmoving.HumanoidRootPart.CFrame = leftstagecorner.CFrame
elseif position <=5 then
animetronicmoving.HumanoidRootPart.CFrame = bydoorleft.CFrame
game:GetService("ReplicatedStorage").LLight.Changed:Connect(function()
if game:GetService("ReplicatedStorage").LLight.Value == true then
script.Spotted:Play()
end
end)
elseif position <= 8 then
animetronicmoving.HumanoidRootPart.CFrame = bydoorright.CFrame
game:GetService("ReplicatedStorage").RLight.Changed:Connect(function()
if game:GetService("ReplicatedStorage").RLight.Value == true then
script.Spotted:Play()
end
end)
elseif position == 11 then
animetronicmoving.HumanoidRootPart.CFrame = nearcloset.CFrame
elseif position == 12 then
animetronicmoving.HumanoidRootPart.CFrame = counter.CFrame
end
end
end
end)

1 comment
I'm not even sure I'm doing this right but nobody else i've found has posted anything about this subject.