Run it
Copy the script and paste it into your executor.
Players = :()
TweenService = :()
RunService = :()
StarterGui = :()
player = Players.LocalPlayer
character = player.Character player.CharacterAdded:()
rootPart = character:()
WIN_POS = .(-, , )
COIN_SIZE_THRESHOLD =
SEARCH_INTERVAL =
collectedCoins =
coinsFound =
guiCreated =
isAutoCollecting =
autoWinEnabled =
coinCache = {}
lastScanTime =
THEME = {
Background = .(, , ),
Header = .(, , ),
Button = .(, , ),
ButtonHover = .(, , ),
Text = .(, , ),
AccentGreen = .(, , ),
AccentBlue = .(, , ),
AccentRed = .(, , )
}
(modelRoot, targetCFrame)
info = TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out)
tween = TweenService:(modelRoot, info, { = targetCFrame})
tween:()
tween.Completed:()
(pos)
rootPart
targetCF = .(pos + .(, , ))
(rootPart, targetCF)
(obj)
obj:()
name = obj.Name:()
pName = obj.Parent obj.Parent.Name:()
isCoinName = (name == name == )
isCoinParent = (pName == pName == )
(isCoinName isCoinParent) obj.Size.X > COIN_SIZE_THRESHOLD obj.Size.Z > COIN_SIZE_THRESHOLD
()
now = ()
now - lastScanTime < SEARCH_INTERVAL #coinCache >
coinCache
lastScanTime = now
newCache = {}
containers = {:(), :()}
foundContainer =
_, container (containers)
container
foundContainer =
_, child (container:())
(child)
.(newCache, child)
foundContainer
_, obj (:())
(obj)
.(newCache, obj)
coinCache = newCache
coinsFound = #newCache
newCache
()
coins = ()
nearest =
minDist = .huge
myPos = rootPart.Position
_, coin (coins)
coin coin.Parent
dist = (coin.Position - myPos).Magnitude
dist < minDist
minDist = dist
nearest = coin
nearest
(parent, radius)
uiCorner = .()
uiCorner.CornerRadius = .(, radius )
uiCorner.Parent = parent
uiCorner
()
guiCreated
_, g (player.PlayerGui:())
g.Name == g:()
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.Parent = player:()
mainFrame = .()
mainFrame.Size = .(, , , )
mainFrame.Position = .(, -, , -)
mainFrame.BackgroundColor3 = THEME.Background
mainFrame.BorderSizePixel =
mainFrame.Active =
mainFrame.Draggable =
mainFrame.Parent = screenGui
(mainFrame, )
header = .()
header.Size = .(, , , )
header.BackgroundColor3 = THEME.Header
header.BorderSizePixel =
header.Parent = mainFrame
hCorner = (header, )
hCover = .()
hCover.Size = .(, , , )
hCover.Position = .(, , , -)
hCover.BackgroundColor3 = THEME.Header
hCover.BorderSizePixel =
hCover.Parent = header
titleParams = .()
titleParams.Text =
titleParams.Font = .Font.GothamBold
titleParams.TextSize =
titleParams.TextColor3 = .(,,)
titleParams.Size = .(, -, , )
titleParams.Position = .(, , , )
titleParams.BackgroundTransparency =
titleParams.TextXAlignment = .TextXAlignment.Left
titleParams.Parent = header
closeBtn = .()
closeBtn.Text =
closeBtn.Font = .Font.GothamBold
closeBtn.TextColor3 = .(,,)
closeBtn.BackgroundColor3 = THEME.AccentRed
closeBtn.Size = .(, , , )
closeBtn.Position = .(, -, , )
closeBtn.Parent = header
(closeBtn, )
closeBtn.MouseButton1Click:(()
isAutoCollecting =
screenGui:()
guiCreated =
)
contentParams = .()
contentParams.Padding = .(, )
contentParams.HorizontalAlignment = .HorizontalAlignment.Center
contentParams.SortOrder = .SortOrder.LayoutOrder
contentFrame = .()
contentFrame.Size = .(, , , -)
contentFrame.Position = .(, , , )
contentFrame.BackgroundTransparency =
contentFrame.Parent = mainFrame
contentParams.Parent = contentFrame
(text, color, order)
btn = .()
btn.Size = .(, , , )
btn.BackgroundColor3 = color
btn.Text = text
btn.Font = .Font.GothamBold
btn.TextColor3 = THEME.Text
btn.TextSize =
btn.LayoutOrder = order
btn.Parent = contentFrame
(btn, )
btn
statusLabel = .()
statusLabel.Size = .(, , , )
statusLabel.BackgroundTransparency =
statusLabel.Text = .. collectedCoins .. .. coinsFound
statusLabel.TextColor3 = THEME.Text
statusLabel.Font = .Font.Gotham
statusLabel.LayoutOrder =
statusLabel.Parent = contentFrame
winBtn = (, THEME.AccentGreen, )
coinBtn = (, THEME.AccentBlue, )
refreshBtn = (, THEME.Button, )
autoFrame = .()
autoFrame.Size = .(, , , )
autoFrame.BackgroundColor3 = THEME.Button
autoFrame.LayoutOrder =
autoFrame.Parent = contentFrame
(autoFrame, )
autoText = .()
autoText.Size = .(, , , )
autoText.Position = .(, , , )
autoText.BackgroundTransparency =
autoText.Text =
autoText.TextColor3 = THEME.Text
autoText.Font = .Font.GothamBold
autoText.TextXAlignment = .TextXAlignment.Left
autoText.Parent = autoFrame
autoToggleBtn = .()
autoToggleBtn.Size = .(, , , )
autoToggleBtn.Position = .(, -, , )
autoToggleBtn.BackgroundColor3 = .(, , )
autoToggleBtn.Text =
autoToggleBtn.TextColor3 = .(,,)
autoToggleBtn.Font = .Font.GothamBold
autoToggleBtn.Parent = autoFrame
(autoToggleBtn, )
autoWinToggle = (, THEME.Button, )
winBtn.MouseButton1Click:(()
(WIN_POS)
statusLabel.Text =
)
coinBtn.MouseButton1Click:(()
coin = ()
coin
(coin.Position)
collectedCoins +=
statusLabel.Text = .. collectedCoins
statusLabel.Text =
)
refreshBtn.MouseButton1Click:(()
()
statusLabel.Text = .. coinsFound
)
autoToggleBtn.MouseButton1Click:(()
isAutoCollecting = isAutoCollecting
isAutoCollecting
autoToggleBtn.BackgroundColor3 = THEME.AccentGreen
autoToggleBtn.Text =
.(()
isAutoCollecting
coin = ()
coin
(coin.Position)
collectedCoins +=
statusLabel.Text = .. collectedCoins
.()
)
autoToggleBtn.BackgroundColor3 = .(, , )
autoToggleBtn.Text =
)
autoWinToggle.MouseButton1Click:(()
autoWinEnabled = autoWinEnabled
autoWinEnabled
autoWinToggle.Text =
autoWinToggle.BackgroundColor3 = THEME.AccentGreen
autoWinToggle.Text =
autoWinToggle.BackgroundColor3 = THEME.Button
)
guiCreated =
()
autoWinEnabled
()
.()
(WIN_POS)
()
player.CharacterAdded:((newChar)
character = newChar
rootPart = character:()
()
)
()
()
()
A significantly improved and optimized helper script for the Roblox "Dangerous Scooter Riding" game (or similar coin collecting games). Modern UI: Dark-themed, draggable GUI with rounded corners and smooth interactions. Teleportation: - Teleport to Win: Instantly teleports you to the winning area. - Coin Teleport: Finds the nearest coin and teleports to it. Auto-Farming: - Auto Collect: Automatically teleports to coins one by one. - Auto Win: Automatically teleports to the win zone upon respawning if you die. Optimized Performance: Uses caching and smart searches (`CollectionService` logic) to reduce lag. No more constant `GetDescendants` spam. This project is fully Open Source and was refactored with the assistance of AI (vibecoding). Feel free to modify and improve it further!