local screenGui = Instance.new("ScreenGui") screenGui.Name = "CustomFPSGui" screenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Name = "FPSFrame" frame.Size = UDim2.new(0, 300, 0, 150) frame.Position = UDim2.new(0.5, -150, 0.5, -75) frame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) frame.BackgroundTransparency = 0.5 frame.BorderSizePixel = 0 frame.Parent = screenGui local uiStroke = Instance.new("UIStroke") uiStroke.Thickness = 2 uiStroke.Color = Color3.fromRGB(0, 0, 0) uiStroke.Parent = frame local textBox = Instance.new("TextBox") textBox.Name = "FPSBox" textBox.Size = UDim2.new(1, -10, 0, 30) textBox.Position = UDim2.new(0, 5, 0, 5) textBox.BackgroundColor3 = Color3.fromRGB(240, 240, 240) textBox.PlaceholderText = "Enter FPS value" textBox.Text = "" textBox.ClearTextOnFocus = false textBox.Parent = frame local sendButton = Instance.new("TextButton") sendButton.Name = "SendButton" sendButton.Size = UDim2.new(1, -10, 0, 30) sendButton.Position = UDim2.new(0, 5, 0, 40) sendButton.BackgroundColor3 = Color3.fromRGB(0, 150, 0) sendButton.TextColor3 = Color3.fromRGB(255, 255, 255) sendButton.Text = "Send" sendButton.Parent = frame local rollUpButton = Instance.new("TextButton") rollUpButton.Name = "RollUpButton" rollUpButton.Size = UDim2.new(0, 30, 0, 30) rollUpButton.Position = UDim2.new(1, -35, 0, 5) rollUpButton.BackgroundColor3 = Color3.fromRGB(200, 0, 0) rollUpButton.TextColor3 = Color3.fromRGB(255, 255, 255) rollUpButton.Text = "-" rollUpButton.Parent = screenGui local function makeDraggable(frame) local dragging = false local dragStart = nil local startPos = nil local function update(input) if dragging then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) game:GetService("UserInputService").InputChanged:Connect(update) end makeDraggable(frame) local function updateCustomFPS() while true do local args = { [1] = textBox.Text } game:GetService("ReplicatedStorage").FPSUpdateEventIKnowYouReCheater:FireServer(unpack(args)) wait(0.01) end end updateCustomFPS() sendButton.MouseButton1Click:Connect(function() local remoteName = textBox.Text local remoteEvent = game.ReplicatedStorage:FindFirstChild(remoteName) if remoteEvent then remoteEvent:FireServer() else warn("Remote not found: " .. remoteName) end end) local isFrameVisible = true rollUpButton.MouseButton1Click:Connect(function() if isFrameVisible then local tweenService = game:GetService("TweenService") local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut) local tweenGoal = { Size = UDim2.new(0, 300, 0, 30) } local tween = tweenService:Create(frame, tweenInfo, tweenGoal) tween:Play() tween.Completed:Connect(function() frame.Visible = false end) isFrameVisible = false else frame.Visible = true local tweenService = game:GetService("TweenService") local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut) local tweenGoal = { Size = UDim2.new(0, 300, 0, 150) } local tween = tweenService:Create(frame, tweenInfo, tweenGoal) tween:Play() isFrameVisible = true end end)