You are on page 1of 3

local ReplicatedStorage = game:GetService('ReplicatedStorage')

local Players = game:GetService('Players')


local LocalPlayer = Players.LocalPlayer

local MainMenu = LocalPlayer.PlayerGui.MainMenu

local ItemFolder = workspace.ItemFolder

StartGame = function()
spawn(function()
ReplicatedStorage.Remotes.JoinGame:InvokeServer(true)
end)

local Debounce1, Debounce2 = false, false

while wait(1) do
if workspace.GameFolder.Phase.Value ~= 'Starting Game' then
MainMenu.Enabled = true

MainMenu.PlayMenu.Visible = true

ReplicatedStorage.Remotes.VIPCommandEvent:FireServer('SkipTimer',
true)

if not Debounce1 then


Debounce1 = true

MainMenu.Theme:Play()
MainMenu.Timer.Visible = false

workspace.CurrentCamera.CameraType =
Enum.CameraType.Scriptable
workspace.CurrentCamera.CameraSubject =
workspace.GameFolder.MenuCameras.MenuCamera

workspace.CurrentCamera:Interpolate(workspace.GameFolder.MenuCameras.MenuCamera.CFr
ame, workspace.GameFolder.MenuCameras.MenuFocus.CFrame, 0.001)
end
else
MainMenu.Enabled = false

MainMenu.PlayMenu.Visible = false

if not Debounce2 then


Debounce2 = true

MainMenu.Theme:Stop()
MainMenu.Timer.Visible = true

workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.CameraSubject =
LocalPlayer.Character.Humanoid
end

break
end
end
end
CompleteMap = function(Map)
delay(5, function()
if Map.Name == 'House' then
repeat wait() until #ItemFolder:GetChildren() > 0

local Wrench, KeyCode, Hammer, RedGear, GreenGear, WhiteKey =


ItemFolder:WaitForChild('Wrench'), ItemFolder:WaitForChild('KeyCode'),
ItemFolder:WaitForChild('Hammer'), ItemFolder:WaitForChild('RedGear'),
ItemFolder:WaitForChild('GreenGear'), ItemFolder:WaitForChild('WhiteKey')

local EscapeTrigger, FrontDoor, WellEvent =


Map.Events.EscapeTrigger, Map.Events.FrontDoor, Map.Events.WellEvent

local CompleteEventTask = function(Event)


local Tick = 5

repeat wait()
if Event:FindFirstChild('ClickDetector') then
Tick = Tick - 1

LocalPlayer.Character:SetPrimaryPartCFrame(Event.CFrame)

fireclickdetector(Event.ClickDetector)
end
until Tick == 0 or not
Event:FindFirstChild('ClickDetector')
end

local CompleteItemTask = function(Item)


repeat wait()
if Item.Parent == ItemFolder then

LocalPlayer.Character:SetPrimaryPartCFrame(Item.CFrame)

fireclickdetector(Item:FindFirstChild('ClickDetector'))
end
until LocalPlayer.Backpack:FindFirstChild(Item.Name) or
Item.Parent ~= ItemFolder or not Item:FindFirstChild('ClickDetector')

LocalPlayer.Character:FindFirstChildOfClass('Humanoid'):EquipTool(LocalPlayer.Backp
ack:FindFirstChild(Item.Name))
end

CompleteItemTask(Wrench)
CompleteEventTask(FrontDoor.PowerPanel.Panel)

CompleteItemTask(KeyCode)
CompleteEventTask(FrontDoor.NumberLock.KeyCodePart)

CompleteItemTask(Hammer)
CompleteEventTask(FrontDoor.Board1)
CompleteEventTask(FrontDoor.Board2)

CompleteItemTask(RedGear)
CompleteEventTask(WellEvent.WellGear)

CompleteItemTask(GreenGear)
CompleteEventTask(WellEvent.WellGear)

CompleteItemTask(WhiteKey)
CompleteEventTask(FrontDoor)

LocalPlayer.Character:SetPrimaryPartCFrame(EscapeTrigger.CFrame)

delay(1, function()

LocalPlayer.Character:FindFirstChildOfClass('Humanoid').Health = 0
end)
end
end)
end

ReturnName = function(Descendant)
local SavedName = Descendant.Name

ItemFolder.Name = 'ItemFolder'

delay(4, function()
Descendant.Name = SavedName
end)
end

workspace.ChildAdded:Connect(CompleteMap)
workspace.DescendantAdded:Connect(ReturnName)

LocalPlayer.CharacterAdded:Connect(StartGame)
StartGame()

You might also like