If (Humanoid and Humanoid.Health > 0) then - making sure player isn't dead Local Head = player.Character:FindFirstChild("Head") Local Humanoid = player.Character:FindFirstChild("Humanoid") Local Root = player.Character:FindFirstChild("HumanoidRootPart") If (player.Character) then - if there's no player.Character it can mean the player is dead, but correct me if im wrong Local FlyParams = RaycastParams.new() - creating the params for checking if the players are on the ground or notįlyParams.FilterType = įlyParams.FilterDescendantsInstances = Characters įor _, player in pairs(game.Players:GetPlayers()) do Table.insert(Characters, player.Character) This is from my free-to-use basic anti-fly local FlySettings = - ignorelist for raycastingįor _, player in pairs(Players:GetPlayers()) do Step one: set up variables and the strike tables If the player continues to “fly” you can kick them The server uses a raycast to check for any ground, and if it finds some, it moves on to the next player. So you usually have to add a “strike” system. Sometimes, if they’re above the limit you set it could be from the client being laggy on their side, or maybe a really lucky jump. In this tutorial, I will be explaining how to stop one of these FlyingĪs the server, you want to be checking how far players are from the ground. However, exploiters exploit this by manipulating their character to fly, teleport, fling others, and more. This is so that you can smoothly control you character on your own client. This means the client can make their character move, rotate, speed up, speed down however it decides. However, characters, can be directly controlled by clients. In the Roblox Engine, all changes a client makes that isn’t a part it networkly owns, is not replicated.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |