Set Minutes Pla*
Key RequiredUniversal

Set Minutes Pla*

Universal ScriptHydracaladociousHydracaladocious 7.9K views 149 executesUpdated Oct 3, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•225 lines (7377 chars)
-- Radin: "Set Minutes Played" 
-- Executor-friendly.

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer

-- cleanup old
pcall(function()
    local old = game:GetService("CoreGui"):FindFirstChild("Radin_SetMinutes_GUI")
    if old then old:Destroy() end
end)

-- helper: try to find candidate time stat under leaderstats
local function findTimeStat(player)
    local ls = player:FindFirstChild("leaderstats")
    if not ls then return nil end
    local patterns = {"time", "play", "minute", "minutes", "played", "session", "timemin"}
    for _, child in ipairs(ls:GetChildren()) do
        if child:IsA("IntValue") or child:IsA("NumberValue") or child:IsA("StringValue") then
            local nameLower = child.Name:lower()
            for _, p in ipairs(patterns) do
                if nameLower:find(p) then
                    return child
                end
            end
        end
    end
    -- fallback: return first numeric stat if nothing matched
    for _, child in ipairs(ls:GetChildren()) do
        if child:IsA("IntValue") or child:IsA("NumberValue") then
            return child
        end
    end
    return nil
end

-- Build GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "Radin_SetMinutes_GUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = game:GetService("CoreGui")

local main = Instance.new("Frame", screenGui)
main.Size = UDim2.new(0, 300, 0, 150)
main.Position = UDim2.new(0, 18, 0, 120)
main.BackgroundTransparency = 0.12
main.BackgroundColor3 = Color3.fromRGB(20,20,20)
main.BorderSizePixel = 0
local corner = Instance.new("UICorner", main); corner.CornerRadius = UDim.new(0,8)

local title = Instance.new("TextLabel", main)
title.Size = UDim2.new(1, -12, 0, 28)
title.Position = UDim2.new(0,6,0,6)
title.BackgroundTransparency = 1
title.Text = "Set Minutes Played (not local)"
title.Font = Enum.Font.SourceSansBold
title.TextSize = 16
title.TextColor3 = Color3.fromRGB(230,230,230)

local info = Instance.new("TextLabel", main)
info.Size = UDim2.new(1, -12, 0, 28)
info.Position = UDim2.new(0,6,0,34)
info.BackgroundTransparency = 1
info.Text = "Detected stat: (searching...)"
info.Font = Enum.Font.SourceSans
info.TextSize = 13
info.TextColor3 = Color3.fromRGB(200,200,200)
info.TextXAlignment = Enum.TextXAlignment.Left

local box = Instance.new("TextBox", main)
box.Size = UDim2.new(0.6, -8, 0, 30)
box.Position = UDim2.new(0,6,0,70)
box.PlaceholderText = "minutes (e.g. 120)"
box.ClearTextOnFocus = false
box.Font = Enum.Font.SourceSans
box.TextSize = 16
box.Text = ""

local applyLocalBtn = Instance.new("TextButton", main)
applyLocalBtn.Size = UDim2.new(0.38, -8, 0, 30)
applyLocalBtn.Position = UDim2.new(0.62, 2, 0, 70)
applyLocalBtn.Text = "Apply (not local)"
applyLocalBtn.Font = Enum.Font.SourceSansBold
applyLocalBtn.TextSize = 14

local fakeOverlayToggle = Instance.new("TextButton", main)
fakeOverlayToggle.Size = UDim2.new(1, -12, 0, 28)
fakeOverlayToggle.Position = UDim2.new(0,6,0,108)
fakeOverlayToggle.Text = "Toggle Fake Overlay: OFF"
fakeOverlayToggle.Font = Enum.Font.SourceSansBold
fakeOverlayToggle.TextSize = 14

-- fake overlay that displays the minutes visibly (optional)
local overlay
local overlayEnabled = false
local function createOverlay()
    if overlay and overlay.Parent then return end
    overlay = Instance.new("ScreenGui")
    overlay.Name = "Radin_MinutesOverlay"
    overlay.ResetOnSpawn = false
    overlay.Parent = game:GetService("CoreGui")

    local f = Instance.new("Frame", overlay)
    f.Size = UDim2.new(0, 210, 0, 60)
    f.Position = UDim2.new(1, -230, 0, 20)
    f.BackgroundTransparency = 0.12
    f.BackgroundColor3 = Color3.fromRGB(18,18,18)
    Instance.new("UICorner", f).CornerRadius = UDim.new(0,8)

    local labelTitle = Instance.new("TextLabel", f)
    labelTitle.Size = UDim2.new(1, -12, 0, 22)
    labelTitle.Position = UDim2.new(0,6,0,6)
    labelTitle.BackgroundTransparency = 1
    labelTitle.Font = Enum.Font.SourceSansSemibold
    labelTitle.TextSize = 14
    labelTitle.TextColor3 = Color3.fromRGB(220,220,220)
    labelTitle.Text = "Time Played (mins)"

    local valLabel = Instance.new("TextLabel", f)
    valLabel.Name = "Val"
    valLabel.Size = UDim2.new(1, -12, 0, 28)
    valLabel.Position = UDim2.new(0,6,0,28)
    valLabel.BackgroundTransparency = 1
    valLabel.Font = Enum.Font.SourceSansBold
    valLabel.TextSize = 20
    valLabel.TextColor3 = Color3.fromRGB(150,255,150)
    valLabel.Text = "0"
end

local function destroyOverlay()
    if overlay and overlay.Parent then
        overlay:Destroy()
    end
    overlay = nil
end

-- update detected stat label
local function refreshDetected()
    local stat = findTimeStat(LocalPlayer)
    if stat then
        info.Text = "Detected stat: " .. stat.Name .. "  (type: " .. stat.ClassName .. ")"
    else
        info.Text = "Detected stat: NONE found under leaderstats"
    end
end

refreshDetected()

-- apply local change: tries two behaviors:
-- 1) If a numeric leaderstat is found, set its Value locally (client-side only)
-- 2) Update fake overlay to show chosen number
applyLocalBtn.MouseButton1Click:Connect(function()
    local txt = box.Text
    local num = tonumber(txt)
    if not num then
        applyLocalBtn.Text = "Enter number!"
        wait(1.1)
        applyLocalBtn.Text = "Apply (not local)"
        return
    end

    -- attempt to set local leaderstat value
    local stat = findTimeStat(LocalPlayer)
    if stat and (stat:IsA("IntValue") or stat:IsA("NumberValue")) then
        -- CLIENT-SIDE change only — won't replicate or save
        pcall(function()
            stat.Value = math.floor(num)
        end)
    end

    -- update or create overlay
    if overlayEnabled then
        if not overlay then createOverlay() end
        pcall(function()
            local f = overlay:FindFirstChildWhichIsA("Frame") or overlay:FindFirstChildOfClass("Frame")
            if f then
                local v = f:FindFirstChild("Val")
                if v then v.Text = tostring(math.floor(num)) end
            end
        end)
    end

    applyLocalBtn.Text = "Applied ✓"
    wait(0.9)
    applyLocalBtn.Text = "Apply (not local)"
    refreshDetected()
end)

-- toggle overlay
fakeOverlayToggle.MouseButton1Click:Connect(function()
    overlayEnabled = not overlayEnabled
    fakeOverlayToggle.Text = "Toggle Fake Overlay: " .. (overlayEnabled and "ON" or "OFF")
    if overlayEnabled then
        createOverlay()
    else
        destroyOverlay()
    end
end)

-- If leaderstats appear later, refresh detection
LocalPlayer.ChildAdded:Connect(function(child)
    if child.Name == "leaderstats" then
        wait(0.2)
        refreshDetected()
    end
end)

-- live-update overlay to follow actual stat if you changed it
RunService.Heartbeat:Connect(function()
    if not overlayEnabled or not overlay then return end
    local lbl = overlay:FindFirstChildWhichIsA("Frame") and overlay:FindFirstChildWhichIsA("Frame"):FindFirstChild("Val")
    local stat = findTimeStat(LocalPlayer)
    if lbl then
        if stat then
            if stat:IsA("IntValue") or stat:IsA("NumberValue") then
                lbl.Text = tostring(stat.Value)
            else
                lbl.Text = tostring(stat.Value or "0")
            end
        end
    end
end)

print("Radin minutes tool loaded.")

Features & Information

You can change your time on the leaderstats

Community Comments (2)

SyrexGenesisSyrexGenesisOct 3, 2025(edited)

Thanks

tamusukoyu101217tamusukoyu101217Oct 4, 2025

Try moving the tab.

More Scripts for Universal Scripts