Undetected Jump Power lol I dont know
Key RequiredUniversal

Undetected Jump Power lol I dont know

Universal ScriptAuraAura 12.8K views 5 executesUpdated Aug 20, 2023
5.0/ 5(2 votes)
20100% Positive
Lua Script•180 lines (5370 chars)
--[[
   Credits:
       Alias | Discord | (V3rmillion)

       engo | joeengo | (https://v3rmillion.net/member.php?action=profile&uid=1127047): Thank you for making me the detections,
       Amity | winterpark | (https://v3rmillion.net/member.php?action=profile&uid=2566454): For making the script

]]

local setjump = 200 -- Adding this for the script kiddies. If you're a developer, you can just remove this line.

local JumpPowerSpoof = getgenv().JumpPowerSpoof
local Disable = JumpPowerSpoof and JumpPowerSpoof.Disable
if Disable then
   Disable()
end

local cloneref = cloneref or function(...)
   return ...
end

local JumpPowerSpoof = {}

local Players = cloneref(game:GetService("Players"))
if not Players.LocalPlayer then
   Players:GetPropertyChangedSignal("LocalPlayer"):Wait()
end
local lp = cloneref(Players.LocalPlayer)

local split = string.split

local GetDebugIdHandler = Instance.new("BindableFunction")
local TempHumanoid = Instance.new("Humanoid")

local cachedhumanoids = {}

local CurrentHumanoid
local newindexhook
local indexhook

function GetDebugIdHandler.OnInvoke(obj: Instance): string
   return obj:GetDebugId()
end

local function GetDebugId(obj: Instance): string
   return GetDebugIdHandler:Invoke(obj)
end

local function GetJumpPower(obj: any): number
   TempHumanoid.JumpPower = obj
   return TempHumanoid.JumpPower
end

function cachedhumanoids:cacheHumanoid(DebugId: string, Humanoid: Humanoid)
   cachedhumanoids[DebugId] = {
       currentindex = indexhook(Humanoid, "JumpPower"),
       lastnewindex = nil
   }
   return self[DebugId]
end

indexhook = hookmetamethod(game,"__index",function(self, index)
   if not checkcaller() and typeof(self) == "Instance" then
       if self:IsA("Humanoid") then
           local DebugId = GetDebugId(self)
           local cached = cachedhumanoids[DebugId]

           if self:IsDescendantOf(lp.Character) or cached then
               if type(index) == "string" then
                   local cleanindex = split(index,"\0")[1]

                   if cleanindex == "JumpPower" then
                       if not cached then
                           cached = cachedhumanoids:cacheHumanoid(DebugId, self)
                       end

                       if not (CurrentHumanoid and CurrentHumanoid:IsDescendantOf(game)) then
                           CurrentHumanoid = cloneref(self)
                       end

                       return cached.lastnewindex or cached.currentindex
                   end
               end
           end
       end
   end

   return indexhook(self, index)
end)

newindexhook = hookmetamethod(game,"__newindex",function(self, index, newindex)
   if not checkcaller() and typeof(self) == "Instance" then
       if self:IsA("Humanoid") then
           local DebugId = GetDebugId(self)
           local cached = cachedhumanoids[DebugId]

           if self:IsDescendantOf(lp.Character) or cached then
               if type(index) == "string" then
                   local cleanindex = split(index,"\0")[1]

                   if cleanindex == "JumpPower" then
                       if not cached then
                           cached = cachedhumanoids:cacheHumanoid(DebugId, self)
                       end

                       if not (CurrentHumanoid and CurrentHumanoid:IsDescendantOf(game)) then
                           CurrentHumanoid = cloneref(self)
                       end
                       cached.lastnewindex = GetJumpPower(newindex)
                       return CurrentHumanoid.JumpPower
                   end
               end
           end
       end
   end

   return newindexhook(self, index, newindex)
end)

function JumpPowerSpoof:Disable()
   JumpPowerSpoof:RestoreJumpPower()
   hookmetamethod(game,"__index",indexhook)
   hookmetamethod(game,"__newindex",newindexhook)
   GetDebugIdHandler:Destroy()
   TempHumanoid:Destroy()
   table.clear(JumpPowerSpoof)
   getgenv().JumpPowerSpoof = nil
end

function JumpPowerSpoof:GetHumanoid()
   return CurrentHumanoid or (function()
       local char = lp.Character
       local Humanoid = char and char:FindFirstChildWhichIsA("Humanoid") or nil

       if Humanoid then
           cachedhumanoids:cacheHumanoid(Humanoid:GetDebugId(), Humanoid)
           return cloneref(Humanoid)
       end
   end)()
end

function JumpPowerSpoof:SetJumpPower(jump)
   local Humanoid = JumpPowerSpoof:GetHumanoid()

   if Humanoid then
       local connections = {}
       local function AddConnectionsFromSignal(Signal)
           for _, v in ipairs(getconnections(Signal)) do
               if v.State then
                   v:Disable()
                   table.insert(connections, v)
               end
           end
       end
       AddConnectionsFromSignal(Humanoid.Changed)
       AddConnectionsFromSignal(Humanoid:GetPropertyChangedSignal("JumpPower"))
       Humanoid.JumpPower = jump
       for _, v in ipairs(connections) do
           v:Enable()
       end
   end
end

function JumpPowerSpoof:RestoreJumpPower()
   local Humanoid = JumpPowerSpoof:GetHumanoid()

   if Humanoid then
       local cached = cachedhumanoids[Humanoid:GetDebugId()]

       if cached then
           JumpPowerSpoof:SetJumpPower(cached.lastnewindex or cached.currentindex)
       end
   end
end

getgenv().JumpPowerSpoof = JumpPowerSpoof

if setjump then
   JumpPowerSpoof:SetJumpPower(setjump)
end

Features & Information

just change the walkspeed to jumppower cause i was bored lol

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts