LOCAL PLAYER EDITOR
Key RequiredUniversal

LOCAL PLAYER EDITOR

Universal ScriptBloxScriptsBloxScripts 1.7K views 463 executesUpdated Aug 31, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•325 lines (10168 chars)
-- Local Player Editor GUI with WalkSpeed, JumpPower, Gravity, Super Inf Jump & Delta Presets
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")
local HttpService = game:GetService("HttpService")

local function getHumanoid()
    local char = LocalPlayer.Character
    if char then
        return char:FindFirstChildOfClass("Humanoid")
    end
end

-- Delta Save Functions
local function SaveDeltaPresets(data)
    if writefile then
        pcall(function()
            writefile("LPE_Presets.json", HttpService:JSONEncode(data))
        end)
    end
end

local function LoadDeltaPresets()
    if isfile and isfile("LPE_Presets.json") then
        local success, data = pcall(function()
            return HttpService:JSONDecode(readfile("LPE_Presets.json"))
        end)
        if success then
            return data
        end
    end
    return {}
end

-- Load existing presets
local presets = LoadDeltaPresets()

-- GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Parent = game.CoreGui

local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0,300,0,340)
Frame.Position = UDim2.new(0.3,0,0.3,0)
Frame.BackgroundColor3 = Color3.fromRGB(30,30,30)
Frame.Active = true
Frame.Draggable = true
Frame.Parent = ScreenGui

local FrameCorner = Instance.new("UICorner")
FrameCorner.CornerRadius = UDim.new(0,12)
FrameCorner.Parent = Frame

-- TopBar
local TopBar = Instance.new("Frame")
TopBar.Size = UDim2.new(1,0,0,30)
TopBar.BackgroundColor3 = Color3.fromRGB(50,50,50)
TopBar.Parent = Frame

local TopCorner = Instance.new("UICorner")
TopCorner.CornerRadius = UDim.new(0,8)
TopCorner.Parent = TopBar

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1,-120,1,0)
Title.BackgroundTransparency = 1
Title.Text = "Local Player Editor"
Title.TextColor3 = Color3.new(1,1,1)
Title.Font = Enum.Font.SourceSansBold
Title.TextSize = 18
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = TopBar

-- Destroy Button
local DestroyBtn = Instance.new("TextButton")
DestroyBtn.Size = UDim2.new(0,30,1,0)
DestroyBtn.Position = UDim2.new(1,-30,0,0)
DestroyBtn.Text = "X"
DestroyBtn.BackgroundColor3 = Color3.fromRGB(255,0,0)
DestroyBtn.TextColor3 = Color3.new(1,1,1)
DestroyBtn.Parent = TopBar
local DestroyCorner = Instance.new("UICorner")
DestroyCorner.CornerRadius = UDim.new(0,6)
DestroyCorner.Parent = DestroyBtn
DestroyBtn.MouseButton1Click:Connect(function() ScreenGui:Destroy() end)

-- Minimize Button
local MinBtn = Instance.new("TextButton")
MinBtn.Size = UDim2.new(0,30,1,0)
MinBtn.Position = UDim2.new(1,-60,0,0)
MinBtn.Text = "-"
MinBtn.BackgroundColor3 = Color3.fromRGB(255,255,0)
MinBtn.TextColor3 = Color3.new(0,0,0)
MinBtn.Parent = TopBar
local MinCorner = Instance.new("UICorner")
MinCorner.CornerRadius = UDim.new(0,6)
MinCorner.Parent = MinBtn
local Minimized = false
MinBtn.MouseButton1Click:Connect(function()
    Minimized = not Minimized
    for _, c in pairs(Frame:GetChildren()) do
        if c ~= TopBar and not c:IsA("UICorner") then
            c.Visible = not Minimized
        end
    end
    Frame.Size = Minimized and UDim2.new(0,300,0,30) or UDim2.new(0,300,0,340)
end)

-- Preset Toggle Button in TopBar
local PresetToggle = Instance.new("TextButton")
PresetToggle.Size = UDim2.new(0,30,1,0)
PresetToggle.Position = UDim2.new(1,-90,0,0)
PresetToggle.Text = "⚙"
PresetToggle.BackgroundColor3 = Color3.fromRGB(70,70,70)
PresetToggle.TextColor3 = Color3.new(1,1,1)
PresetToggle.Parent = TopBar
local PresetToggleCorner = Instance.new("UICorner")
PresetToggleCorner.CornerRadius = UDim.new(0,6)
PresetToggleCorner.Parent = PresetToggle

-- Labels and TextBoxes
local function CreateLabel(text,posY)
    local label = Instance.new("TextLabel")
    label.Size = UDim2.new(0,260,0,20)
    label.Position = UDim2.new(0,20,0,posY)
    label.BackgroundTransparency = 1
    label.Text = text
    label.TextColor3 = Color3.fromRGB(255,255,255)
    label.Font = Enum.Font.SourceSansBold
    label.TextSize = 18
    label.TextXAlignment = Enum.TextXAlignment.Left
    label.Parent = Frame
    return label
end

local function CreateTextBox(default,posY)
    local box = Instance.new("TextBox")
    box.Size = UDim2.new(0,260,0,40)
    box.Position = UDim2.new(0,20,0,posY)
    box.BackgroundColor3 = Color3.fromRGB(70,70,70)
    box.TextColor3 = Color3.fromRGB(255,255,255)
    box.Text = tostring(default)
    box.ClearTextOnFocus = false
    box.Font = Enum.Font.SourceSansBold
    box.TextSize = 24
    box.Parent = Frame
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0,8)
    corner.Parent = box
    return box
end

CreateLabel("Walk Speed",45)
CreateLabel("Jump Power",110)
CreateLabel("Gravity",175)

local SpeedBox = CreateTextBox(16,65)
local JumpBox = CreateTextBox(50,130)
local GravityBox = CreateTextBox(196.2,195)

-- Buttons
local function CreateButton(text,posY)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0,260,0,30)
    btn.Position = UDim2.new(0,20,0,posY)
    btn.Text = text
    btn.BackgroundColor3 = Color3.fromRGB(80,80,80)
    btn.TextColor3 = Color3.new(1,1,1)
    btn.Font = Enum.Font.SourceSansBold
    btn.TextSize = 18
    btn.Parent = Frame
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0,8)
    corner.Parent = btn
    return btn
end

local SuperJumpBtn = CreateButton("Super Inf Jump",240)
local ResetBtn = CreateButton("Reset to Default",275)

-- Preset Window
local PresetWindow = Instance.new("Frame")
PresetWindow.Size = UDim2.new(0,200,0,250)
PresetWindow.Position = UDim2.new(0,Frame.AbsolutePosition.X + Frame.AbsoluteSize.X + 5,0,Frame.AbsolutePosition.Y)
PresetWindow.BackgroundColor3 = Color3.fromRGB(40,40,40)
PresetWindow.Visible = false
PresetWindow.Parent = ScreenGui
local PresetCorner = Instance.new("UICorner")
PresetCorner.CornerRadius = UDim.new(0,12)
PresetCorner.Parent = PresetWindow

local UIList = Instance.new("UIListLayout")
UIList.Padding = UDim.new(0,5)
UIList.Parent = PresetWindow
UIList.SortOrder = Enum.SortOrder.LayoutOrder

local PresetNameBox = Instance.new("TextBox")
PresetNameBox.Size = UDim2.new(1,-10,0,30)
PresetNameBox.Position = UDim2.new(0,5,0,5)
PresetNameBox.PlaceholderText = "Preset Name"
PresetNameBox.Parent = PresetWindow
local PresetBoxCorner = Instance.new("UICorner")
PresetBoxCorner.CornerRadius = UDim.new(0,6)
PresetBoxCorner.Parent = PresetNameBox

local SavePresetBtn = Instance.new("TextButton")
SavePresetBtn.Size = UDim2.new(1,-10,0,30)
SavePresetBtn.Position = UDim2.new(0,5,0,40)
SavePresetBtn.Text = "Save Preset"
SavePresetBtn.Parent = PresetWindow
local SaveCorner = Instance.new("UICorner")
SaveCorner.CornerRadius = UDim.new(0,6)
SaveCorner.Parent = SavePresetBtn

local PresetScroll = Instance.new("ScrollingFrame")
PresetScroll.Size = UDim2.new(1,0,1,-75)
PresetScroll.Position = UDim2.new(0,0,0,75)
PresetScroll.BackgroundTransparency = 1
PresetScroll.CanvasSize = UDim2.new(0,0,0,0)
PresetScroll.ScrollBarThickness = 6
PresetScroll.Parent = PresetWindow

local PresetLayout = Instance.new("UIListLayout")
PresetLayout.Padding = UDim.new(0,5)
PresetLayout.Parent = PresetScroll
PresetLayout.SortOrder = Enum.SortOrder.LayoutOrder

-- Toggle preset window
PresetToggle.MouseButton1Click:Connect(function()
    PresetWindow.Visible = not PresetWindow.Visible
end)

-- Make preset window follow main frame
RunService.RenderStepped:Connect(function()
    PresetWindow.Position = UDim2.new(0,Frame.AbsolutePosition.X + Frame.AbsoluteSize.X + 5,0,Frame.AbsolutePosition.Y)
end)

-- Preset logic
local function CreatePresetButton(name,data)
    local button = Instance.new("TextButton")
    button.Size = UDim2.new(1,-10,0,30)
    button.BackgroundColor3 = Color3.fromRGB(200,200,200)
    button.Text = name
    button.TextColor3 = Color3.new(0,0,0)
    button.Font = Enum.Font.SourceSansBold
    button.TextSize = 16
    button.Parent = PresetScroll
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0,6)
    corner.Parent = button

    button.MouseButton1Click:Connect(function()
        SpeedBox.Text = data.WalkSpeed
        JumpBox.Text = data.JumpPower
        GravityBox.Text = data.Gravity
        workspace.Gravity = data.Gravity
    end)

    return button
end

-- Load saved presets
for name,data in pairs(presets) do
    CreatePresetButton(name,data)
end

-- Save new preset
SavePresetBtn.MouseButton1Click:Connect(function()
    local name = PresetNameBox.Text
    if name ~= "" then
        local data = {
            WalkSpeed = tonumber(SpeedBox.Text) or 16,
            JumpPower = tonumber(JumpBox.Text) or 50,
            Gravity = tonumber(GravityBox.Text) or 196.2
        }
        presets[name] = data
        CreatePresetButton(name,data)
        SaveDeltaPresets(presets)
        PresetNameBox.Text = ""
        PresetScroll.CanvasSize = UDim2.new(0,0,0,UIList.AbsoluteContentSize.Y)
    end
end)

-- Live updates
local currentSpeed = 16
local currentJump = 50
local currentGravity = 196.2

task.spawn(function()
    while task.wait(0.05) do
        local humanoid = getHumanoid()
        if humanoid then
            local speedVal = tonumber(SpeedBox.Text)
            if speedVal then currentSpeed = math.clamp(speedVal,0,math.huge) end

            local jumpVal = tonumber(JumpBox.Text)
            if jumpVal then currentJump = math.clamp(jumpVal,0.000000000000001,math.huge) end

            local gravVal = tonumber(GravityBox.Text)
            if gravVal then currentGravity = gravVal end

            humanoid.WalkSpeed = currentSpeed
            humanoid.JumpPower = currentJump
            workspace.Gravity = currentGravity
        end
    end
end)

-- Super Inf Jump
SuperJumpBtn.MouseButton1Click:Connect(function()
    local humanoid = getHumanoid()
    if humanoid then
        humanoid.JumpPower = 200
        humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
        task.wait(0.2)
        humanoid.JumpPower = currentJump
    end
end)

-- Reset Button
ResetBtn.MouseButton1Click:Connect(function()
    SpeedBox.Text = "16"
    JumpBox.Text = "50"
    GravityBox.Text = "196.2"
end)

Features & Information

*Speed editor *JumpPower editor *gravity editor *presets saver

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts