Basically I got my hands on a modified version of EgoMoose’s wall stick system that allows the player to walk on other surfaces, like walls, the roof and so on, since it’s modified they can only walk on surfaces with a specific name. I also have a special field that applies a force / velocity to any object that finds itself inside of said field, it can be rotated in any direction and apply said force in that direction instantly (it was created by Konethorix). This means it can be used as basically a dynamic gravity system that could be used to make specific areas have different gravity forces, different positions compared to other locations, or make areas with zero gravity, even negative gravity, for instance for some kind of elevators, or even have the gravity rotate or change rapidly, it truly has a lot of uses.
This is where said problem appears though, basically, the wall stick system results in the player being completely unaffected by every other force except for physical objects pushing against the avatar. This means that the dynamic gravity fields are also not affecting the player (it normally affects the player without the wall stick, I did check). I want the player to actually be affected by such forces as the world gravity will be set to zero and we don’t have to worry about it interfering with how the rest of the script works.
I was thinking about leaving the world gravity normal and putting an anti-gravity script in every unanchored object so it’s in 0g until it is affected by said dynamic gravity field. It’s a possible fix for this issue, but it would greatly reduce the possibilities of the system as it would mean the player is always affected by the same gravity, can’t be in negative or upwards gravity as changing it would affect everything else. It is possible to give the player a different gravity and it works, but there’s this system that forces the user to calculate physics of nearby blocks which results in them gaining the player’s gravity value, I have stumbled upon this issue a while ago.
I even tried attaching a block to the player itself but it doesn’t seem to work really, if I remember right said force-based gravity field doesn’t affect attached objects and items when they are held. I think it worked when it was attached by rope but it was obviously quite, buggy. Perhaps if there’s a way to attach an object to the player that would not make the player buggy but pull them down with the use of the gravity field, it could be a good fix to this issue.
The script for said system is really complex so I will not put all of the scripts here, it would make this post massive, along with the description of where each script goes and how it should be named etc. For the simplicity I will instead attach the world file with bare basics (the modified wall stick system, gravitational field system and the surface a player can walk on) so one could try to play around with this issue.
Here’s the file of the world with the systems that I am using:
Gravity system.rbxl (189.1 KB)
I am really thankful for any help, really it’s quite a complex system and if anyone could do this I would be tremendously thankful, I can’t imagine my scripting getting to such a point where I can comprehend how this system even works, I know some people would think I shouldn’t work on it if I don’t have the experience, but I am really motivated, I believe it could be useful in many things like creating more realistic space simulators or just very bizarre games.
TLDR: wall stick system results in the player being unaffected by literally all forces other than the wall stick system’s gravity, resulting in a gravity field (that is supposed to pull everything it has contact with in a specific direction) not working on the character, and I want the player to be affected by the gravity field. I attached the file of a world that has these systems so it can be easy to work with, and make everything I am saying more clear.