Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local getnamecallmethod = getnamecallmethod
- local setreadonly = setreadonly
- local getcallingscript = getcallingscript
- if PROTOSMASHER_LOADED then
- getnamecallmethod = get_namecall_method
- setreadonly = function(table, state)
- if state then
- make_writeable(table)
- else
- make_readonly(table)
- end
- end
- getcallingscript = get_calling_script
- end
- if not getnamecallmethod or not setreadonly or not getrawmetatable then
- warn("exploit doesn't have needed functions")
- return
- end
- local mt = getrawmetatable(game)
- local old_call = mt.__namecall
- setreadonly(mt, false)
- mt.__namecall = function(...)
- local args = {...}
- local method = getnamecallmethod() --gets the method
- if method == "Kick" then --check the method
- warn("kick called from:,", getcallingscript():GetFullName())
- return --returns so the kick doesn't do anything
- end
- if method == "FireServer" then --check the method
- if args[1].Name == "Alert" or args[1].Name == "alerthrs" then --check the name of the remote
- warn("kick remote called from:,", getcallingscript():GetFullName())
- return --returns when the alert remote is called, no kick caused on the server
- end
- end
- return old_call(unpack(args)) --return old data
- end
Add Comment
Please, Sign In to add comment