I know that it can be done, but I am not sure how. I tried using BodyForce, but that doesn't work. Any suggestions?
Remember that the Jump
property of Humanoid is what tells the character to jump, it does not signify that the character is currently jumping. This means that once the Jump property is set to true, the character will jump.
Despite this, the following code will still work because it sets jump to false so fast after it's set to true, Roblox doesn't even notice it. However, It only works in a local script.
local plr = game.Players.LocalPlayer repeat wait() until plr.Character local chr = plr.Character chr:WaitForChild("Humanoid").Changed:connect(function() chr.Humanoid.Jump = false end)
In the player's humanoid there's a Property called "JumpPower." Set it to 0 via Script and that's it!
Copy this as a Script in ServerScriptService, Workspace, Etc:
game.Players.PlayerAdded:connect(function(player) player.CharacterAdded:connect(function(character) character:WaitForChild("Humanoid").JumpPower = 0 end) end)
Just setting Jump to false as soon as it's changed to true does NOT work in server scenarios. They only work in the Play Solo, so this means you need to do some networking or something (with RemoteEvents, etc.) to get it to work properly.
Remove their legs and tell them you'll be removing their heads next if they not comply!