the limit for JumpPower is 1000, the only solution is to make a custom jump method, that is, when you press Space you give your character enough velocity so that he flies up according to his jump power.
create a LocalScript in StarterCharacterScripts, name is up to you.
01 | local UserInputService = game:GetService( "UserInputService" ) |
03 | local character = script.Parent |
05 | local humanoidRootPart = character:WaitForChild( "HumanoidRootPart" ) |
06 | local humanoid = character:WaitForChild( "Humanoid" ) |
08 | local function onJumpRequest() |
09 | if humanoidRootPart and humanoid and humanoid.FloorMaterial then |
10 | humanoidRootPart.AssemblyLinearVelocity + = Vector 3. new( 0 , (humanoid:GetAttribute( "JumpPower" ) or 0 ) / 4 , 0 ) |
14 | UserInputService.JumpRequest:Connect(onJumpRequest) |
UserInputService.JumpRequest happens when you press Space or jump button on mobile, then it runs the onJumpRequest function which, if the player is on ground (if humanoid.FloorMaterial is not nil then he is standing on something meaning he is on ground) then i increase his AssemblyLinearVelocity by a custom JumpPower and divide it by 4 because AssemblyLinearVelocity adds more jump height than Humanoid.JumpPower, this is to simulate real JumpPower.
now for your other script.
01 | function increaseStats(hum, speedVal, jumpVal) |
04 | hum:SetAttribute( "JumpPower" , hum:GetAttribute( "JumpPower" ) + 1 ) |
07 | speedVal.Value = hum.WalkSpeed |
08 | jumpVal.Value = hum:GetAttribute( "JumpPower" ) |
13 | game.Players.PlayerAdded:Connect( function (plr) |
18 | local l = Instance.new( "Folder" ) |
19 | l.Name = "leaderstats" |
22 | local jumpVal = Instance.new( "NumberValue" ) |
23 | jumpVal.Name = "Jump Power" |
26 | local speedVal = Instance.new( "NumberValue" ) |
27 | speedVal.Name = "Speed" |
30 | plr.CharacterAdded:Connect( function (char) |
32 | local hum = char:WaitForChild( "Humanoid" ) |
34 | if totalWalkspeed then |
36 | print (totalWalkspeed .. ", " .. totalJumpHeight) |
37 | hum.WalkSpeed = totalWalkspeed |
40 | hum:SetAttribute( "JumpPower" , totalJumpHeight or 50 ) |
42 | increaseStats(hum, speedVal, jumpVal) |
44 | hum.Died:Connect( function () |
45 | totalWalkspeed = hum.WalkSpeed |
46 | totalJumpHeight = hum:GetAttribute( "JumpPower" ) |
instead of changing Humanoid.JumpPower, i create an attribute JumpPower, attributes are like custom properties, then all you do is change that one attribute, don't touch Humanoid.JumpPower.
https://developer.roblox.com/en-us/articles/instance-attributes