You can try ZonePlus. It’s a module created by @ForeverHD for determining what zones the player is in.
For @EgoMoose’s gravity controller you just have to reset the players gravity when entering a new zone. Just because it sticks to everything by default doesn’t mean that you don’t have methods to control it.
Reading through the module you’ll find that it has this function:
function GravityControllerClass:ResetGravity(gravity)
self._gravityUp = gravity
self._fallStart = self.HRP.Position:Dot(gravity)
end
I’m guessing you can use this to set the direction the players gravity is in. However, because the default value is Vector3.new(0,1,0), I’m guessing this is a multiplier for the workspace gravity.