Bypass JumpHeight Limit

I’m currently working on a roblox game all about jumping.

But ‘JumpHeight’ has a limit of around 6500, is there a way to bypass this?

Scripts can be provided.

2 Likes

see:

1 Like
char.PrimaryPart:ApplyImpulse(Vector3.new(0,Y,0))

maybe do something like this

1 Like

yo wasup xordium
i made a custom jumping system

the amount you jump increases exponentially as the custom jump power goes up (lol idk why)
but you can play around with the code to make it more controllable, perhaps record different heights for different jump power values then plot them to find a mathematical relationship and then linearize it. But heres the code:
Put this in stater character scripts, and you see where it says “local additional_jump = …”, just replace that with how you want set the jump power, i use a gui to change jump power so i retreived the values from there

local UIS = game:GetService('UserInputService')

local Player = game.Players.LocalPlayer
local Character = Player.Character

UIS.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.Keyboard then
		if input.KeyCode == Enum.KeyCode.Space then
			local additional_jump = Player.PlayerGui.ScreenGui.Frame.customjump.Value^0.63 *100 -- replace this with your way of setting jump power
			
			local raycastParams = RaycastParams.new()
			raycastParams.FilterDescendantsInstances = Character:GetDescendants()
			local ray = workspace:Raycast(Character.HumanoidRootPart.Position, Vector3.new(0, -10, 0), raycastParams)
			
			print(additional_jump)
			if ray then
				Character.PrimaryPart:ApplyImpulse(Vector3.new(0, additional_jump, 0))
			end
		end
	end
end)

best regard,
batler

ah i see, what i do is through server script server as its a simulator based game;

jumped.OnServerEvent:Connect(function(player, power)
	local character = player.Character
	if character then
		local equippedTool = character:FindFirstChildOfClass("Tool")
		if equippedTool then
			local jetpackPower = equippedTool:FindFirstChild("basePower")
			
			local leaderstats = player.leaderstats
			local power = leaderstats.Power
			local rebirth = leaderstats.Rebirths
			
			if jetpackPower and jetpackPower:IsA("NumberValue") then
				if rebirth.Value > 0 then
					print(player.Name..rebirth.Value)
					character.Humanoid.JumpHeight = jetpackPower.Value * rebirth.Value + power.Value / 25.5
				else
					character.Humanoid.JumpHeight = jetpackPower.Value + power.Value / 25.5
				end
			else
				print(player.Name .. " has " .. equippedTool.Name .. " equipped, but its base power is not defined.")
			end
		end
	end
end)

i divide by 25.5 as i need the game to be more balanced ect, would what your script has accomplished be able to run on the server?

i tried to implement it, nothing happened, just normal jump height

i still cannot find a way to make this work

Alrighty, give me a minute and I’ll create a code example to help explain better. :smiley:

Sorry for the wait, I got hung up trying to make this as simple to use as possible :smiley:.

An easy way to replace characters jump is to hook up into Humanoid.Jumping event and give the character a new velocity. Here is a basic example:

-- Localscript inside StarterCharacterScripts
local Character: Model = script.Parent
local Root = Character.PrimaryPart
local Humanoid = Character:FindFirstChildOfClass("Humanoid")

Humanoid.Jumping:Connect(function(active)
	if active == false then
		return
	end
	
	-- Calculate with whatever buffs you have
	local JumpPower = 1000
	Root.AssemblyLinearVelocity = Vector3.new(0,JumpPower,0)
end)

As a bonus, if your buffs calculate a specific jump height instead of jump velocity, we can transform the calculations slightly to this:

-- Localscript inside StarterCharacterScripts
local Character: Model = script.Parent
local Root = Character.PrimaryPart
local Humanoid = Character:FindFirstChildOfClass("Humanoid")

Humanoid.Jumping:Connect(function(active)
	if active == false then
		return
	end
	
	-- Calculate with whatever buffs you have
	local JumpHeight = 1000
	local JumpVelocity = math.sqrt(2 * workspace.Gravity * JumpHeight)
	Root.AssemblyLinearVelocity = Vector3.new(0,JumpVelocity,0)
end)

Hopefully this solves your problem! :smiley: If you have more questions, let me know!

wow, thank you alot. I really appreciate this, would each player be able to see eachothers height ect?

Yes, any movements done on your character are replicated so you should be able to see other people jumping very high! Just make sure Streaming is not enabled since too high jumps might make players move so far away that they get streamed out and removed from replication (until they come back close enough to reappear)

oh aha, thank you for the help now i have to recode my whole jumping system :sob:

Haha, sorry to hear that :smile: . Best of luck on your game and if you get any more questions feel free to ask!

1 Like

thank you so much! everything you have done is greatly appreciated

even with my old balancing which was dividing by 25.5 100 power still takes me so high :sob:

Are you using the JumpHeight variant or JumpPower variant?

:joy:

“-89999999999999999999999” - Sounds a bit absurd :smiley:

me messing around with values aha

Ah got it got it :smiley: If you run into issues let me know!