Although I agree that it is probably impossible to combat saveinstance() in an effective way, it would be helpful if you explained why that is the case.
I don’t even know what :saveinstance does but looking at this guys code im assuming that the local script isn’t able to get any instance’s, correct me if im wrong.
First of all, the hacker can simply disable such a script. I also see that OP uses while true do which is not very performant and can cause lag. And many other issues.
I am sure they can disable “local scripts”. It seems that I haven’t mentioned the type of script. I am assuming a local because of how the code is. If it was a server script then there would have been no use to add the repeat task.wait() until game:IsLoaded() at the top.
If the objects where Archieved on the server and seem to be inside a loop, it would be almost impossible to try and retrieve the object, but who the hell would want to do that, half of your code remains useless and there is no point.