-- 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.")