I have a very weird jump issue that I have no clue how to fix. I have made a custom movement system attempting to emulate Source/Quake engine movement. This means I have to decrease the height of the jump to only 2 studs high (Dimensions - Valve Developer Community).
This creates a weird glitch where when the Humanoid is meant to transition from Jumping to Freefall, it instead switches to Landed instantly, forcing the player down towards the ground (left is what should happen, right is what does happen). When crouching, this does not happen. I think it might be about height above the ground but I can’t be sure.
Also a video, it’s not great because my PC doesn’t handle recordings perfectly but it might give you the general idea:
I’m using Humanoid.Jump to make the player jump in the same way which the regular Roblox ControlModule does. I am also using a custom StarterCharacter which may have something to do with it
It works exactly the same as Roblox’s own ControlModule so you can look at it within the proper code there (i’ve integrated my stuff into the ControlModule, haven’t changed jump at all though)
function ControlModule:OnRenderStepped(dt)
self.Humanoid.Jump = self.ActiveController:GetIsJumping()
end
-- this is not all that's in here, but it's all thats relevant to this
^ within ControlModule itself
function BaseCharacterController:GetIsJumping(): boolean
return self.IsJumping
end
^ within BaseCharacterController
function Keyboard:Enable(Enable: boolean)
self.JumpRequested = false
self:UpdateJump()
end
function Keyboard:UpdateJump()
self.IsJumping = self.JumpRequested
end
function Keyboard:BindContextActions()
local HandleJumpAction = function(ActionName, InputState, InputObject)
self.JumpRequested = self.JumpEnabled and (InputState == Enum.UserInputState.Begin)
self:UpdateJump()
return Enum.ContextActionResult.Pass
ContextActionService:BindActionAtPriority("JumpAction", HandleJumpAction, false,
self.ControlActionPriority, AssignKeyCodeJump)
end
end
-- once again, this is just the relevant stuff
^ within Keyboard (there’s other stuff for other devices)
Everything there is written by Roblox. I haven’t messed with jumping at all, I don’t know how this has happened.