Isn’t character appearance loaded ran when everything is parented to the character?
I haven’t heard of this before so I’m not sure but if you really need it optimised then this is probably what you should do.
it seems i was wrong about character appearance loaded. it only runs when the character’s appearance is loaded on character added basically.
yeah i’ll just do the one heartbeat for now to handle checking distance and comparing to walkspeed.
Unrelated but this seems pretty cool, I’m probably going to use it for my game now.
A predominant reason for using the Heartbeat is that it wont cause for your game to yield or lag. As Heartbeat is not an operation that requires to be completed in the lifecycle you can do this operation multiple times - that being said a lot of Anti-Teleport systems are generically quite flawed as it will all be dependent on the time taken and the methodology used to travel.
Gravity in the game for example is in reference to 9.8m/s so you’d have to handle these occasions also.
In my opinion, the simplest way of stopping someone from teleporting is to simply make a game design which doesn’t reward cheating.
Example: Destiny 2
A key way that this game prevents exploiters and glitchers, which is a large sum of players (who predominantly glitch) is to make checkpoint systems and use what I will simply refer to as “gateway logic”.
What his essentially means is that the player must do a bunch of pre-requisites to trigger an event. If they try to trigger these events without it then frankly they cannot advance.
Now what is “Gateway Logic” as I refer to it:
Lets establish some facts:
- Exploiting is like playing a game.
- Their game is simple, they get what they want and you must suffer.
- You are a pawn in their game, and you’ll remain a pawn until you choose to play the game.
- The rules to this game are clear: You take what they give you, give away what you have to - then the difference is yours.
- The main question for you is “how big is the difference”.
Exploiters are not clever individuals, what they do is get banned and banned again until eventually they make an exploit which lets them win.
They will give away their tools, and it is your job to patch such tools. What you must do however is make a tool which drains the fun out of them.
So how do you beat the exploiter:
- You know how long it takes to complete your game,
- You also know the likeliness of how often things will happen.
- You also know how things act and the pathways to your game.
With these 3 simple pieces of information you can create 3 checks:
- Did the user complete the entire thing in a time unconceivable to the user. This can simply be done by finding the fastest time possible from A to B and comparing yourself to it - did they get to the gateway in a normal time or not.
- Did the user do it in such a way that would be unlikely for a person of their ability, for example did they just skip across areas - did they try and cheat the gateway by avoiding sections.
- Did they actually follow the game routing and do all the steps to get from A to B - going through the gateways.
If a player clicks the “I win” button at the end, but theirs no way they can be there, they cheated.
I would not waste your time trying to patch everything an exploiter does, but instead patch people breaking your game lifecycle.