M
Description
Auto Train Teleports lmk if there are any bugs or issues/games you want me to make scripts for
GAME+1 Drain Water Per Click
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
--[[rscripts:analytics:start]]
-- Script analytics (enabled by the creator on rscripts.net).
-- Runs in its own thread and cannot affect the script below.
task.spawn(function()
pcall(function()
loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6abeeea3732b9ad574a4da8d"))()
end)
end)
--[[rscripts:analytics:end]]
-- Water Game — Auto Train + Teleport
local RS = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
-- ============================================================
-- RESOLVE REMOTE
-- ============================================================
local function resolveClickRemote()
local Remote = RS:FindFirstChild("Remote")
if not Remote then return nil, "Remote folder not found" end
local Event = Remote:FindFirstChild("Event")
if not Event then return nil, "Event folder not found" end
local Level = Event:FindFirstChild("Level")
if not Level then return nil, "Level folder not found" end
local Click = Level:FindFirstChild("[C-S]Click")
if not Click then return nil, "[C-S]Click not found" end
return Click, nil
end
local ClickRemote, resolveErr = resolveClickRemote()
if not ClickRemote then
warn("[WaterTrainer] " .. tostring(resolveErr))
return
end
-- ============================================================
-- STAGES
-- ============================================================
local STAGES = {
{ name = "Stage 1", pos = { 5000, 25, -45 } },
{ name = "Stage 2", pos = { 5000, -8, -145 } },
{ name = "Stage 3", pos = { 5000, -40, -264 } },
{ name = "Stage 4", pos = { 5000, -70, -386 } },
{ name = "Stage 5", pos = { 5000, -110, -529 } },
{ name = "Stage 6", pos = { 5000, -155, -670 } },
{ name = "Stage 7", pos = { 5000, -190, -823 } },
{ name = "Stage 8", pos = { 5000, -258, -1068 } },
{ name = "Stage 9", pos = { 5000, -328, -1330 } },
{ name = "Stage 10", pos = { 5000, -395, -1582 } },
{ name = "Stage 11", pos = { 5000, -464, -1843 } },
{ name = "Stage 12", pos = { 5000, -533, -2095 } },
{ name = "Stage 13", pos = { 5000, -600, -2350 } },
{ name = "Stage 14", pos = { 5000, -670, -2606 } },
{ name = "Stage 15", pos = { 5000, -739, -2864 } },
{ name = "Stage 16", pos = { 5000, -805, -3130 } },
{ name = "Stage 17", pos = { 5000, -865, -3377 } },
{ name = "Stage 18", pos = { 5000, -920, -3630 } },
}
-- ============================================================
-- CONFIG (locked values)
-- ============================================================
local VALUE = 43
local INTERVAL = 0.05
local Config = {
Enabled = false,
Log = true,
SelectedStage = 1,
TeleportOffsetY = 3,
}
-- ============================================================
-- STATE
-- ============================================================
local State = {
Fires = 0,
Errors = 0,
LastError = "—",
StartedAt = os.clock(),
}
local function log(m)
if Config.Log then print("[WaterTrainer] " .. m) end
end
-- ============================================================
-- HELPERS
-- ============================================================
local function getRoot()
local c = LocalPlayer.Character
return c and c:FindFirstChild("HumanoidRootPart")
end
local function tpTo(x, y, z)
local root = getRoot()
if not root then return false end
return pcall(function()
root.CFrame = CFrame.new(x, y, z)
end)
end
local function teleportToStage(index, extraY)
local stage = STAGES[index]
if not stage then return false end
local p = stage.pos
local y = p[2] + (extraY or Config.TeleportOffsetY)
return tpTo(p[1], y, p[3])
end
-- ============================================================
-- AUTO TRAIN
-- ============================================================
local function fireClick()
local ok, err = pcall(function()
ClickRemote:FireServer(VALUE)
end)
if ok then
State.Fires += 1
return true
else
State.Errors += 1
State.LastError = tostring(err)
return false
end
end
task.spawn(function()
while true do
if Config.Enabled then
fireClick()
task.wait(INTERVAL)
else
task.wait(0.15)
end
end
end)
-- ============================================================
-- GUI
-- ============================================================
local gui = Instance.new("ScreenGui")
gui.Name = "WaterTrainer"
gui.ResetOnSpawn = false
gui.ZIndexBehavior = Enum.ZIndexBehavior.Global
gui.Parent = game:GetService("CoreGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 320, 0, 420)
frame.Position = UDim2.new(0.5, -160, 0.5, -210)
frame.BackgroundColor3 = Color3.fromRGB(22, 28, 34)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
frame.ZIndex = 10
frame.Parent = gui
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundColor3 = Color3.fromRGB(32, 44, 56)
title.Text = "Water Trainer"
title.TextColor3 = Color3.fromRGB(200, 230, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 14
title.ZIndex = 11
title.Parent = frame
Instance.new("UICorner", title).CornerRadius = UDim.new(0, 10)
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 22, 0, 22)
closeBtn.Position = UDim2.new(1, -26, 0, 4)
closeBtn.BackgroundColor3 = Color3.fromRGB(140, 40, 40)
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Text = "X"
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 12
closeBtn.ZIndex = 12
closeBtn.Parent = frame
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6)
closeBtn.MouseButton1Click:Connect(function()
Config.Enabled = false
gui:Destroy()
end)
local tabBar = Instance.new("Frame")
tabBar.Size = UDim2.new(1, -20, 0, 30)
tabBar.Position = UDim2.new(0, 10, 0, 36)
tabBar.BackgroundColor3 = Color3.fromRGB(32, 40, 52)
tabBar.BorderSizePixel = 0
tabBar.ZIndex = 11
tabBar.Parent = frame
Instance.new("UICorner", tabBar).CornerRadius = UDim.new(0, 6)
local function mkTabBtn(text, xScale)
local b = Instance.new("TextButton")
b.Size = UDim2.new(0.5, -2, 1, -4)
b.Position = UDim2.new(xScale, 2, 0, 2)
b.BackgroundColor3 = Color3.fromRGB(45, 55, 70)
b.TextColor3 = Color3.fromRGB(180, 200, 220)
b.Font = Enum.Font.GothamBold
b.TextSize = 12
b.Text = text
b.ZIndex = 12
b.Parent = tabBar
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 5)
return b
end
local trainTabBtn = mkTabBtn("Main", 0)
local tpTabBtn = mkTabBtn("Teleport", 0.5)
-- ============================================================
-- MAIN TAB
-- ============================================================
local trainTab = Instance.new("Frame")
trainTab.Size = UDim2.new(1, 0, 1, -76)
trainTab.Position = UDim2.new(0, 0, 0, 76)
trainTab.BackgroundTransparency = 1
trainTab.ZIndex = 11
trainTab.Parent = frame
local infoLbl = Instance.new("TextLabel")
infoLbl.Size = UDim2.new(0.9, 0, 0, 40)
infoLbl.Position = UDim2.new(0.05, 0, 0, 10)
infoLbl.BackgroundColor3 = Color3.fromRGB(30, 40, 50)
infoLbl.TextColor3 = Color3.fromRGB(190, 220, 240)
infoLbl.Font = Enum.Font.Code
infoLbl.TextSize = 11
infoLbl.TextXAlignment = Enum.TextXAlignment.Left
infoLbl.TextYAlignment = Enum.TextYAlignment.Top
infoLbl.TextWrapped = true
infoLbl.Text = (" Remote: [C-S]Click\n Value: %d Interval: %.2fs"):format(VALUE, INTERVAL)
infoLbl.ZIndex = 11
infoLbl.Parent = trainTab
Instance.new("UICorner", infoLbl).CornerRadius = UDim.new(0, 6)
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0.9, 0, 0, 46)
toggleBtn.Position = UDim2.new(0.05, 0, 0, 60)
toggleBtn.BackgroundColor3 = Color3.fromRGB(70, 75, 85)
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.TextSize = 15
toggleBtn.Text = "Auto Train: OFF"
toggleBtn.ZIndex = 11
toggleBtn.Parent = trainTab
Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 6)
toggleBtn.MouseButton1Click:Connect(function()
Config.Enabled = not Config.Enabled
toggleBtn.BackgroundColor3 = Config.Enabled
and Color3.fromRGB(50, 160, 160) or Color3.fromRGB(70, 75, 85)
toggleBtn.Text = "Auto Train: " .. (Config.Enabled and "ON" or "OFF")
log(Config.Enabled and "Started." or "Stopped.")
end)
local statsLbl = Instance.new("TextLabel")
statsLbl.Size = UDim2.new(0.9, 0, 0, 120)
statsLbl.Position = UDim2.new(0.05, 0, 0, 120)
statsLbl.BackgroundColor3 = Color3.fromRGB(18, 22, 26)
statsLbl.TextColor3 = Color3.fromRGB(180, 210, 220)
statsLbl.Font = Enum.Font.Code
statsLbl.TextSize = 10
statsLbl.TextXAlignment = Enum.TextXAlignment.Left
statsLbl.TextYAlignment = Enum.TextYAlignment.Top
statsLbl.TextWrapped = true
statsLbl.ZIndex = 11
statsLbl.Parent = trainTab
Instance.new("UICorner", statsLbl).CornerRadius = UDim.new(0, 6)
local function fmtTime(s)
s = math.floor(s)
return ("%02d:%02d"):format(math.floor(s / 60), s % 60)
end
task.spawn(function()
while gui.Parent do
local elapsed = os.clock() - State.StartedAt
local rate = elapsed > 0 and (State.Fires / elapsed) or 0
statsLbl.Text = table.concat({
(" Session: %s"):format(fmtTime(elapsed)),
(" Fires: %d Errors: %d"):format(State.Fires, State.Errors),
(" Rate: %.1f/s"):format(rate),
(" Last error: %s"):format(State.LastError),
}, "\n")
task.wait(0.25)
end
end)
-- ============================================================
-- TELEPORT TAB
-- ============================================================
local tpTab = Instance.new("Frame")
tpTab.Size = UDim2.new(1, 0, 1, -76)
tpTab.Position = UDim2.new(0, 0, 0, 76)
tpTab.BackgroundTransparency = 1
tpTab.Visible = false
tpTab.ZIndex = 11
tpTab.Parent = frame
local tpLabel = Instance.new("TextLabel")
tpLabel.Size = UDim2.new(0.9, 0, 0, 16)
tpLabel.Position = UDim2.new(0.05, 0, 0, 10)
tpLabel.BackgroundTransparency = 1
tpLabel.Text = "Select a stage:"
tpLabel.TextColor3 = Color3.fromRGB(190, 210, 230)
tpLabel.Font = Enum.Font.Gotham
tpLabel.TextSize = 11
tpLabel.TextXAlignment = Enum.TextXAlignment.Left
tpLabel.ZIndex = 11
tpLabel.Parent = tpTab
local tpDdBtn = Instance.new("TextButton")
tpDdBtn.Size = UDim2.new(0.9, 0, 0, 30)
tpDdBtn.Position = UDim2.new(0.05, 0, 0, 30)
tpDdBtn.BackgroundColor3 = Color3.fromRGB(60, 90, 130)
tpDdBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
tpDdBtn.Font = Enum.Font.GothamBold
tpDdBtn.TextSize = 12
tpDdBtn.Text = "▼ " .. STAGES[Config.SelectedStage].name
tpDdBtn.TextXAlignment = Enum.TextXAlignment.Left
tpDdBtn.ZIndex = 11
tpDdBtn.Parent = tpTab
Instance.new("UICorner", tpDdBtn).CornerRadius = UDim.new(0, 6)
local tpBackdrop = Instance.new("TextButton")
tpBackdrop.Size = UDim2.new(1, 0, 1, 0)
tpBackdrop.BackgroundTransparency = 1
tpBackdrop.Text = ""
tpBackdrop.Visible = false
tpBackdrop.ZIndex = 40
tpBackdrop.Parent = gui
local tpDdList = Instance.new("ScrollingFrame")
tpDdList.Size = UDim2.new(0.9, 0, 0, 0)
tpDdList.Position = UDim2.new(0.05, 0, 0, 62)
tpDdList.BackgroundColor3 = Color3.fromRGB(32, 40, 52)
tpDdList.BorderSizePixel = 0
tpDdList.ScrollBarThickness = 5
tpDdList.CanvasSize = UDim2.new(0, 0, 0, 0)
tpDdList.Visible = false
tpDdList.ZIndex = 50
tpDdList.Parent = tpTab
Instance.new("UICorner", tpDdList).CornerRadius = UDim.new(0, 6)
local tpDdLayout = Instance.new("UIListLayout")
tpDdLayout.Padding = UDim.new(0, 2)
tpDdLayout.Parent = tpDdList
local tpDdOpen = false
local function rebuildTpOptions()
for _, child in ipairs(tpDdList:GetChildren()) do
if child:IsA("TextButton") then child:Destroy() end
end
for i, stage in ipairs(STAGES) do
local isSelected = (i == Config.SelectedStage)
local opt = Instance.new("TextButton")
opt.Size = UDim2.new(1, -6, 0, 26)
opt.BackgroundColor3 = isSelected and Color3.fromRGB(0, 130, 210)
or Color3.fromRGB(45, 55, 70)
opt.TextColor3 = Color3.fromRGB(255, 255, 255)
opt.Font = Enum.Font.GothamBold
opt.TextSize = 12
opt.Text = (isSelected and "● " or " ") .. stage.name
opt.TextXAlignment = Enum.TextXAlignment.Left
opt.LayoutOrder = i
opt.ZIndex = 52
opt.Parent = tpDdList
Instance.new("UICorner", opt).CornerRadius = UDim.new(0, 4)
opt.MouseButton1Click:Connect(function()
Config.SelectedStage = i
tpDdBtn.Text = "▼ " .. stage.name
tpDdOpen = false
tpDdList.Visible = false
tpDdList.Size = UDim2.new(0.9, 0, 0, 0)
tpBackdrop.Visible = false
rebuildTpOptions()
end)
end
tpDdList.CanvasSize = UDim2.new(0, 0, 0, tpDdLayout.AbsoluteContentSize.Y + 6)
end
local function openTpDropdown()
rebuildTpOptions()
local height = math.min(220, #STAGES * 28 + 12)
tpDdList.Size = UDim2.new(0.9, 0, 0, height)
tpDdList.Visible = true
tpBackdrop.Visible = true
tpDdOpen = true
end
local function closeTpDropdown()
tpDdList.Visible = false
tpDdList.Size = UDim2.new(0.9, 0, 0, 0)
tpBackdrop.Visible = false
tpDdOpen = false
end
tpDdBtn.MouseButton1Click:Connect(function()
if tpDdOpen then closeTpDropdown() else openTpDropdown() end
end)
tpBackdrop.MouseButton1Click:Connect(function()
if tpDdOpen then closeTpDropdown() end
end)
local tpBtn = Instance.new("TextButton")
tpBtn.Size = UDim2.new(0.9, 0, 0, 46)
tpBtn.Position = UDim2.new(0.05, 0, 0, 100)
tpBtn.BackgroundColor3 = Color3.fromRGB(120, 60, 160)
tpBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
tpBtn.Font = Enum.Font.GothamBold
tpBtn.TextSize = 14
tpBtn.Text = "Teleport"
tpBtn.ZIndex = 11
tpBtn.Parent = tpTab
Instance.new("UICorner", tpBtn).CornerRadius = UDim.new(0, 6)
tpBtn.MouseButton1Click:Connect(function()
teleportToStage(Config.SelectedStage)
log(("Teleported to %s"):format(STAGES[Config.SelectedStage].name))
end)
-- ============================================================
-- TAB SWITCH
-- ============================================================
local function switchTab(which)
if which == "train" then
trainTab.Visible = true
tpTab.Visible = false
trainTabBtn.BackgroundColor3 = Color3.fromRGB(70, 130, 200)
tpTabBtn.BackgroundColor3 = Color3.fromRGB(45, 55, 70)
trainTabBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
tpTabBtn.TextColor3 = Color3.fromRGB(180, 200, 220)
else
trainTab.Visible = false
tpTab.Visible = true
trainTabBtn.BackgroundColor3 = Color3.fromRGB(45, 55, 70)
tpTabBtn.BackgroundColor3 = Color3.fromRGB(70, 130, 200)
trainTabBtn.TextColor3 = Color3.fromRGB(180, 200, 220)
tpTabBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
end
end
trainTabBtn.MouseButton1Click:Connect(function() switchTab("train") end)
tpTabBtn.MouseButton1Click:Connect(function() switchTab("tp") end)
switchTab("train")
print("[WaterTrainer] Loaded.")
print("[WaterTrainer] Auto Train: [C-S]Click 43 every 0.05s (locked)")
print("[WaterTrainer] Teleport tab: pick a stage and click Teleport")Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place