TSB Jump system [SOLVED & OS]

In TSB There are system, if you spam jumps, on each jump becomes smaller power than the previous one with its own rollback.

Who can help me w this?

You need to use UserInputService.JumpRequest to do that.

Here’s a rough flow chart.

  • User jumps.
  • A variable is set to the current time when the jump was registered.
  • User jumps again.
  • We check the time difference between the variable and the current time using tick().
  • If time difference is less than some value like 1 or 2 seconds then decrease jump power.
  • Else, set jump power to the original value.
  • Set the variable again to the current time using tick().
  • Repeat.
2 Likes

Thanks a lot, its working :white_heart:

If anyone need this thing too, i just post it here.

game:GetService("Players").LocalPlayer.CharacterAdded:Connect(function(c)
	c:WaitForChild("Humanoid").StateChanged:Connect(function(_,s)
		if s==Enum.HumanoidStateType.Jumping then
			local h=c:FindFirstChild("Humanoid")
			h.UseJumpPower=true
			h.JumpPower=50
			_G.t=_G.t or 0
			_G.c=_G.c or 0
			if tick()-_G.t>2.5 then _G.c=0 else _G.c+=1 if _G.c>15 then _G.c=15 end end
			_G.t=tick()
			h.JumpPower=50-(50/15)*_G.c
			print("J#".._G.c.." JP:"..h.JumpPower)
		end
	end)
end)

game:GetService("Players").LocalPlayer.Character:WaitForChild("Humanoid").StateChanged:Connect(function(_,s)
	if s==Enum.HumanoidStateType.Jumping then
		local h=game:GetService("Players").LocalPlayer.Character:FindFirstChild("Humanoid")
		h.UseJumpPower=true
		h.JumpPower=50
		_G.t=_G.t or 0
		_G.c=_G.c or 0
		if tick()-_G.t>2.5 then _G.c=0 else _G.c+=1 if _G.c>15 then _G.c=15 end end
		_G.t=tick()
		h.JumpPower=50-(50/15)*_G.c
		print("J#".._G.c.." JP:"..h.JumpPower)
	end
end)
1 Like