Parkour Legacy script
Key RequiredUniversal

Parkour Legacy script

Universal ScriptScriptWMakerScriptWMaker 6.5K views 3.8K executesUpdated Dec 2, 2025
3.0/ 5(5 votes)
3260% Positive
Lua Script•297 lines (9377 chars)
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local player = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

local Window = Rayfield:CreateWindow({
    Name = "🚀 ULTRA SPEED & JUMP HACK ✓",
    LoadingTitle = "Rayfield Loaded (Fix Stop)",
    LoadingSubtitle = "PARKOUR Legacy | 2025",
    ConfigurationSaving = {
        Enabled = true,
        FolderName = "ParkourHack",
        FileName = "ParkourSettings"
    },
    Discord = {
        Enabled = false
    },
    KeySystem = false
})

local Tab = Window:CreateTab("Movement Hacks", 4483362458)

local speedVal = 100  -- УВЕЛИЧЕНО С 65 ДО 100
local jumpVal = 50    -- УВЕЛИЧЕНО С 35 ДО 50
local infLoop = false
local infJump = false
local noFallDamage = false
local conn = nil
local bv = nil
local originalWalkSpeed = 16

-- Update func ФИКС: bv обновляется ВСЕГДА → stop когда Magnitude=0
local function update()
    local char = player.Character
    if not char then return end
    local hum = char:FindFirstChildOfClass("Humanoid")
    local root = char:FindFirstChild("HumanoidRootPart")
    if not hum or not root then return end
   
    -- Jump
    hum.UseJumpPower = false
    hum.JumpHeight = jumpVal
   
    -- Speed ФИКС: всегда обновляем bv.Velocity (0 при остановке!)
    if not bv or not bv.Parent then
        bv = Instance.new("BodyVelocity")
        bv.MaxForce = Vector3.new(100000, 0, 100000)  -- УВЕЛИЧЕНА СИЛА
        bv.Velocity = Vector3.new(0, 0, 0)
        bv.Parent = root
    end
    local moveVel = hum.MoveDirection * speedVal
    bv.Velocity = Vector3.new(moveVel.X, 0, moveVel.Z)
end

-- ФУНКЦИЯ NO FALL DAMAGE (ИСПРАВЛЕННАЯ)
local function setupNoFallDamage()
    local character = player.Character
    if not character then return end
    
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if not humanoid then return end
    
    -- Сохраняем оригинальную скорость
    originalWalkSpeed = humanoid.WalkSpeed
    
    -- Метод 1: Отключаем урон от падения полностью
    if humanoid:FindFirstChild("TakeDamage") then
        humanoid.TakeDamage:Connect(function(damageInfo)
            if noFallDamage then
                damageInfo:SetProperty("Damage", 0)
            end
        end)
    end
    
    -- Метод 2: Защита через StateChanged (более надежный)
    local function onStateChanged(oldState, newState)
        if noFallDamage then
            -- Если персонаж начинает падать или получать урон от падения
            if newState == Enum.HumanoidStateType.FallingDown or 
               newState == Enum.HumanoidStateType.PlatformStanding then
                humanoid:ChangeState(Enum.HumanoidStateType.Running)
            end
        end
    end
    
    humanoid.StateChanged:Connect(onStateChanged)
    
    -- Метод 3: Защита через Health изменение
    local function onHealthChanged(health)
        if noFallDamage and health < humanoid.MaxHealth then
            -- Если здоровье уменьшилось (возможно от падения), восстанавливаем
            humanoid.Health = humanoid.MaxHealth
        end
    end
    
    humanoid.HealthChanged:Connect(onHealthChanged)
    
    -- Метод 4: Через физику (самый надежный)
    local rootPart = character:FindFirstChild("HumanoidRootPart")
    if rootPart then
        -- Добавляем защиту от урона
        local bodyForce = Instance.new("BodyForce")
        bodyForce.Name = "AntiFallDamage"
        bodyForce.Force = Vector3.new(0, character:GetMass() * 196.2, 0)  -- Сила против гравитации
        
        RunService.Heartbeat:Connect(function()
            if noFallDamage and rootPart then
                -- Если скорость падения слишком высокая, уменьшаем ее
                local velocity = rootPart.Velocity
                if velocity.Y < -100 then  -- Если падаем слишком быстро
                    bodyForce.Force = Vector3.new(0, character:GetMass() * 250, 0)
                    bodyForce.Parent = rootPart
                else
                    bodyForce.Force = Vector3.new(0, character:GetMass() * 196.2, 0)
                end
            else
                bodyForce:Destroy()
            end
        end)
    end
end

Tab:CreateSlider({
    Name = "Speed (50-500)",  -- УВЕЛИЧЕН ДИАПАЗОН
    Range = {50, 500},        -- МАКСИМУМ 500!
    Increment = 10,
    CurrentValue = 100,       -- УВЕЛИЧЕНО С 65
    Flag = "SpeedSlider",
    Callback = function(Value)
        speedVal = Value
        Rayfield:Notify({
            Title = "⚡ ULTRA SPEED",
            Content = "Скорость: " .. Value .. " (СУПЕР БЫСТРО!)",
            Duration = 2.5,
            Image = 4483362458
        })
    end,
})

Tab:CreateSlider({
    Name = "Jump Height (20-200)",  -- УВЕЛИЧЕН ДИАПАЗОН
    Range = {20, 200},              -- МАКСИМУМ 200!
    Increment = 5,
    CurrentValue = 50,              -- УВЕЛИЧЕНО С 35
    Flag = "JumpSlider",
    Callback = function(Value)
        jumpVal = Value
        Rayfield:Notify({
            Title = "🦘 MEGA JUMP",
            Content = "Высота прыжка: " .. Value .. " (ОЧЕНЬ ВЫСОКО!)",
            Duration = 2.5,
            Image = 4483362458
        })
    end,
})

Tab:CreateToggle({
    Name = "Infinite (анти-ресет после смерти)",
    CurrentValue = false,
    Flag = "InfiniteToggle",
    Callback = function(state)
        infLoop = state
        if state then
            conn = RunService.Heartbeat:Connect(update)
            Rayfield:Notify({
                Title = "♾️ Infinite ON",
                Content = "СУПЕР-бег + прыжок навсегда! (Стопит при отпускании клавиш)",
                Duration = 3,
                Image = 4483362458
            })
        else
            if conn then conn:Disconnect() conn = nil end
            if bv then bv:Destroy() bv = nil end
            Rayfield:Notify({
                Title = "Infinite OFF",
                Content = "Выключено",
                Duration = 2
            })
        end
    end,
})

Tab:CreateToggle({
    Name = "Inf Jump (SPACE в воздухе)",
    CurrentValue = false,
    Flag = "InfJumpToggle",
    Callback = function(state)
        infJump = state
        Rayfield:Notify({
            Title = "Inf Jump",
            Content = state and "ВКЛ (SPACE везде!)" or "ВЫКЛ",
            Duration = 2.5,
            Image = 4483362458
        })
    end,
})

Tab:CreateToggle({
    Name = "🛡️ No Fall Damage (100% защита)",
    CurrentValue = false,
    Flag = "NoFallDamageToggle",
    Callback = function(state)
        noFallDamage = state
        if state then
            -- Немедленно применяем защиту
            setupNoFallDamage()
            
            -- Также защищаем через изменение WalkSpeed
            local character = player.Character
            if character then
                local humanoid = character:FindFirstChildOfClass("Humanoid")
                if humanoid then
                    humanoid.WalkSpeed = originalWalkSpeed
                end
            end
            
            Rayfield:Notify({
                Title = "🛡️ NO FALL DAMAGE ON",
                Content = "Теперь вы НЕПОБЕДИМЫ! Урон от падения отключен!",
                Duration = 4,
                Image = 4483362458
            })
        else
            -- Восстанавливаем нормальную скорость
            local character = player.Character
            if character then
                local humanoid = character:FindFirstChildOfClass("Humanoid")
                if humanoid then
                    humanoid.WalkSpeed = originalWalkSpeed
                end
            end
            
            Rayfield:Notify({
                Title = "No Fall Damage OFF",
                Content = "Урон от падения снова активен",
                Duration = 2.5,
                Image = 4483362458
            })
        end
    end,
})

-- Inf Jump (твой код)
UIS.JumpRequest:Connect(function()
    if infJump and player.Character then
        local hum = player.Character:FindFirstChildOfClass("Humanoid")
        if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end
    end
end)

-- Respawn fix (bv clean + restart)
player.CharacterAdded:Connect(function(character)
    task.wait(0.5)  -- Уменьшил ожидание для более быстрой инициализации
    
    -- Очистка старых соединений
    if bv then bv:Destroy() bv = nil end
    
    -- Перезапуск Infinite если активно
    if infLoop then
        if conn then conn:Disconnect() end
        conn = RunService.Heartbeat:Connect(update)
    end
    
    -- Перезапуск No Fall Damage если активно
    if noFallDamage then
        task.wait(0.2)
        setupNoFallDamage()
    end
    
    -- Установка скорости и прыжка
    task.wait(0.3)
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if humanoid then
        originalWalkSpeed = humanoid.WalkSpeed
        humanoid.UseJumpPower = false
        humanoid.JumpHeight = jumpVal
        
        if noFallDamage then
            humanoid.WalkSpeed = originalWalkSpeed
        end
    end
end)

-- Автоматическое включение No Fall Damage при старте
task.wait(1)
if noFallDamage then
    setupNoFallDamage()
end

Rayfield:Notify({
    Title = "✅ RAYFIELD ЗАГРУЖЕН!",
    Content = "⚡ СУПЕР СКОРОСТЬ + 🛡️ ЗАЩИТА ОТ ПАДЕНИЯ!\nСкорость: 100 | Прыжок: 50 | Infinite = идеальный стоп!",
    Duration = 8,
    Image = 4483362458
})

Rayfield:LoadConfiguration()

Features & Information

MADE WITH AI HELP! PARKOUR LEGACY HACK - FEATURES MOVEMENT SYSTEM ULTRA SPEED Range: 50 to 500 units Default: 100 (6x faster than normal) Instant stop when releasing WASD keys Uses BodyVelocity with 100,000 MaxForce MEGA JUMP Range: 20 to 200 units Default: 50 (very high jumps) Works with speed system INFINITE MODE Functions persist after death/respawn Auto-reconnects after character respawn Updates every frame via Heartbeat INFINITE JUMP SPACE works mid-air Unlimited jumps, no cooldown Intercepts JumpRequest event NO FALL DAMAGE 4-layer protection system Zeroes fall damage completely Works from any height Auto-heals if damage occurs CONTROL SYSTEM INPUT HANDLING WASD detection with instant response Key release = immediate stop (velocity 0) SPACE handling for infinite jump PERFORMANCE Single Heartbeat connection for efficiency Clean instance destruction No memory leaks USER INTERFACE RAYFIELD UI Professional, clean design Tab organization Sliders for precise adjustment Toggles with visual feedback NOTIFICATIONS Status alerts on toggle changes Value update confirmations Loading notifications SETTINGS MANAGEMENT Auto-saves preferences Settings survive game restart Organized folder structure RESPAWN SYSTEM CHARACTER MANAGEMENT Detects respawns automatically Restores all active features Cleans up old instances Fast restoration (0.5s delay) DEATH PROTECTION Functions persist after death Saves toggle states Maintains connections TECHNICAL SCRIPT STRUCTURE Modular functions Event-based system Error handling Configuration loading

Community Comments (7)

BelovedBelovedDec 2, 2025

Chat gpt script😭

purrguypurrguyDec 2, 2025

i see you got some ideas, do you want to collab? if yes, dm me on discord intracellular.membrane.system

Replying to @purrguy
ScriptWMakerScriptWMakerDec 3, 2025

@purrguy no sorry

Replying to @ScriptWMaker
purrguypurrguyDec 3, 2025

@ScriptWMaker then can i take this script and use it in my script?

Replying to @purrguy
ScriptWMakerScriptWMakerDec 3, 2025

@purrguy yes well can you tell me what script you're make?

Replying to @ScriptWMaker
purrguypurrguyDec 6, 2025

@ScriptWMaker im making a full hub, with an time trial hack, autofarm(soon) and other cool features, im only missing walkspeed, no fall damage, and jump power,

Replying to @ScriptWMaker
purrguypurrguyDec 9, 2025

@ScriptWMaker thanks for agreeing to use your script in our project! i will soon post it, but it is in beta testing

More Scripts for Universal Scripts