tl;dr at the bottom for those who dont want to read allat
I’m currently trying to create a system for artificial gravity (think like wallwalking games where the character can stand on walls and roofs) however since the humanoid naturally tries to make the character stand upright i’ve deactivated the humanoid by setting its HumanoidState to Physics and im currently remaking everything it does, such as using physics constraints to recreate a movement system.
currently im using LinearVelocity for walking, as it applies any force to stay at a constant velocity (unlike VectorForces). apparently though, this is a problem as when the character sits down, becomes welded with the seat and teleports into the correct position, the LinearVelocity seemingly applies a force against that and brings the seat TO the character instead. obviously this is bad as when sitting into any unanchored seat such as a chair or a vehicle, the whole assembly will jerk towards the character instead of the other way around.
how would i therefore detect when the player tries to sit ONLY before the SeatWeld is made and before the seat is forced towards the player? the simplest event i could think of, doing Humanoid.Seated when the character is added seemingly only sometimes works correctly, and so i cant tell how i would guarantee detecting before the player sits without creating a custom system for sitting like with ProximityPrompts which i would prefer not to do over walking into a seat which may be more simpler for players.
also aside from the original post but is this method of completely deactivating the humanoid to stop it standing upright actually nessecary? can i disable the humanoid from trying to stand upright while keeping as much functionality as possible? (walking, jumping, swimming, climbing) i obviously kinda doubt it but at the same time it would be alot easier to only remake some parts of the humanoid rather than the whole thing lol
tl;dr what event/method guarantees detecting when a character sits into a Seat/VehicleSeat before the SeatWeld is made? (not Humanoid.Seated apparently)