I have a script that I would like to hide or make it so no one can find it and delete it. What would be the best way because ROBLOX did remove the private modules.
The first answer is half true half false. By putting scripts in server script service, they are not accessible from the client-side. This means that any exploit will render useless in an effort to get them. However if a player can hack(very rare), they still theoretically could gain access to your scripts. The best thing to do is to put mini checks in them. These would look like this. I suggest you insert them into the middle or bottom of the script to make them harder to find/remove.
if game.PlaceID ~= *Your place ID here* then for _,v in pairs(game.Players:GetPlayers()) do v:Kick("Dont steal games, it violates TOS. -_-") end end
Roblox has sadly removed the ability to make a script completely private because any module is public through the website even though they won't be able to get it in-game. I hope I was able to help out
If you're worried about people stealing your scripts while they play your game then put it in ServerScriptService. It hides the script when the game is played. https://developer.roblox.com/en-us/api-reference/class/ServerScriptService