Run it
Copy the script and paste it into your executor.
Players = :()
ReplicatedStorage = :()
RunService = :()
LocalPlayer = Players.LocalPlayer
PlayerGui = LocalPlayer:()
Remote = ReplicatedStorage:()
StartClientMapTimer = Remote:()
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.Parent = PlayerGui
mainFrame = .()
mainFrame.Name =
mainFrame.Size = .(, , , )
mainFrame.Position = .(, , , )
mainFrame.BackgroundColor3 = .(, , )
mainFrame.BackgroundTransparency =
mainFrame.BorderSizePixel =
mainFrame.Active =
mainFrame.Draggable =
mainFrame.Parent = screenGui
corner = .()
corner.CornerRadius = .(, )
corner.Parent = mainFrame
stroke = .()
stroke.Color = .(, , )
stroke.Thickness =
stroke.Parent = mainFrame
titleLabel = .()
titleLabel.Name =
titleLabel.Size = .(, -, , )
titleLabel.Position = .(, , , )
titleLabel.BackgroundTransparency =
titleLabel.Text =
titleLabel.TextColor3 = .(, , )
titleLabel.TextSize =
titleLabel.Font = .Font.GothamBold
titleLabel.TextXAlignment = .TextXAlignment.Left
titleLabel.Parent = mainFrame
statusLabel = .()
statusLabel.Name =
statusLabel.Size = .(, -, , )
statusLabel.Position = .(, , , )
statusLabel.BackgroundTransparency =
statusLabel.Text =
statusLabel.TextColor3 = .(, , )
statusLabel.TextSize =
statusLabel.Font = .Font.GothamMedium
statusLabel.TextXAlignment = .TextXAlignment.Left
statusLabel.TextWrapped =
statusLabel.Parent = mainFrame
voteStatusLabel = .()
voteStatusLabel.Name =
voteStatusLabel.Size = .(, -, , )
voteStatusLabel.Position = .(, , , )
voteStatusLabel.BackgroundTransparency =
voteStatusLabel.Text =
voteStatusLabel.TextColor3 = .(, , )
voteStatusLabel.TextSize =
voteStatusLabel.Font = .Font.GothamMedium
voteStatusLabel.TextXAlignment = .TextXAlignment.Left
voteStatusLabel.Parent = mainFrame
countLabel = .()
countLabel.Name =
countLabel.Size = .(, -, , )
countLabel.Position = .(, , , )
countLabel.BackgroundTransparency =
countLabel.Text =
countLabel.TextColor3 = .(, , )
countLabel.TextSize =
countLabel.Font = .Font.Gotham
countLabel.TextXAlignment = .TextXAlignment.Left
countLabel.Parent = mainFrame
escapedConfirmed =
(text)
(text) == .(text, )
escapedConfirmed =
statusLabel.Text =
remoteAlert = Remote:()
remoteAlert remoteAlert:()
remoteAlert.OnClientEvent:((text)
(text)
)
playerScripts = LocalPlayer:()
gameScript = playerScripts playerScripts:()
bindableAlert = gameScript gameScript:()
bindableAlert bindableAlert:()
bindableAlert.Event:((text)
(text)
)
newMapVoteRemote = Remote:()
newMapVoteRemote newMapVoteRemote:()
newMapVoteRemote.OnClientEvent:((mapPayload, isVotable)
(mapPayload mapPayload.mapData)
myUserId = (LocalPlayer.UserId)
existingVote = mapPayload.pVotes mapPayload.pVotes[myUserId]
existingVote existingVote.voteCount existingVote.voteCount >
targetMap =
_, mapInfo (mapPayload.mapData)
mapInfo.displayMap mapInfo.cooldown mapInfo.locked
targetMap = mapInfo
targetMap
_, mapInfo (mapPayload.mapData)
mapInfo.displayMap mapInfo.cooldown
targetMap = mapInfo
targetMap
updVoteRemote = Remote:()
updVoteRemote updVoteRemote:()
updVoteRemote:(targetMap.ID, )
voteStatusLabel.Text = .. (targetMap.name)
)
(map, buttonList, knownSet)
map
newlyAddedCount =
_, desc (map:())
desc:()
hasTouchInterest = desc:() ~= desc:() ~=
hasTouchInterest knownSet[desc]
nameLower = desc.Name:()
parentNameLower = desc.Parent desc.Parent.Name:()
isExcluded = nameLower:() nameLower:() nameLower:() parentNameLower:() parentNameLower:()
isExcluded
knownSet[desc] =
.(buttonList, desc)
newlyAddedCount = newlyAddedCount +
newlyAddedCount
()
timeout = () +
() < timeout
multiplayer = :()
map = multiplayer multiplayer:()
map #map:() >
.()
map
.()
(exitPart)
(exitPart exitPart:())
locatorGui = PlayerGui:()
locater = locatorGui locatorGui:()
locater locater.Visible
line = locater:()
line line:() line.Size.X >
beamTargetPos = (line.CFrame * .(line.Size.X * , , )).Position
(beamTargetPos - exitPart.Position).Magnitude <=
(map)
map
_, desc (map:())
(desc.Name == desc.Name == ) desc:()
desc
currentRoundID =
()
currentRoundID = currentRoundID +
myRoundID = currentRoundID
escapedConfirmed =
statusLabel.Text =
map = ()
buttons = {}
knownSet = {}
(map, buttons, knownSet)
countLabel.Text = .(, #buttons)
statusLabel.Text = .(, #buttons)
.(()
currentRoundID == myRoundID escapedConfirmed
.()
map map.Parent
newlyDiscovered = (map, buttons, knownSet)
newlyDiscovered >
countLabel.Text = .(, #buttons)
statusLabel.Text = .(, #buttons)
)
.(()
pressedRemote = Remote:()
survivedRemote = Remote:()
escapeAttemptActive =
currentRoundID == myRoundID escapedConfirmed .(/)
pressedRemote pressedRemote:()
i = , #buttons
btnPart = buttons[i]
btnPart btnPart.Parent btnPart:()
pressedRemote:(btnPart)
escapedConfirmed escapeAttemptActive
exitPart = (map)
exitPart (exitPart)
escapeAttemptActive =
statusLabel.Text =
.(()
currentRoundID == myRoundID escapedConfirmed
survivedRemote
(()
survivedRemote:()
result = survivedRemote:(LocalPlayer)
result ==
escapedConfirmed =
statusLabel.Text =
survivedRemote:()
survivedRemote:(LocalPlayer)
)
.()
)
)
StartClientMapTimer.OnClientEvent:(startRoundLogic)
existingMap = :() .Multiplayer:()
existingMap #existingMap:() >
.(startRoundLogic)