Files
wnsrc/addons/eprotect_1.4.20/lua/e_protect/modules/sv_exploitpatcher.lua
lifestorm 9c918c46e5 Upload
2024-08-04 23:12:27 +03:00

50 lines
1.6 KiB
Lua

--[[
| This file was obtained through the combined efforts
| of Madbluntz & Plymouth Antiquarian Society.
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
| Maloy, DrPepper10 @ RIP, Atle!
|
| Visit for more: https://plymouth.thetwilightzone.ru/
--]]
eProtect = eProtect or {}
eProtect.data = eProtect.data or {}
eProtect.data.exploitPatcher = eProtect.data.exploitPatcher or {}
eProtect.patcher = eProtect.patcher or {}
local function addExploitPatch(str, func)
eProtect.patcher[str] = func
eProtect.data.exploitPatcher[str] = true
end
addExploitPatch("start_wd_emp", function(ply)
if IsValid(ply) and ply:IsPlayer() then
local wep = ply:GetActiveWeapon()
if !IsValid(wep) or wep:GetClass() ~= "weapon_hack_phone" then
return false
end
end
end)
addExploitPatch("gPrinters.removePrinter", function(ply)
if IsValid(ply) and ply:IsPlayer() then
return ply:IsSuperAdmin()
end
end)
hook.Add("eP:PreNetworking", "eP:ExploitPatches", function(ply, netstring, len)
if eProtect.patcher[netstring] and isfunction(eProtect.patcher[netstring]) and !eProtect.config["disabledModules"]["exploit_patcher"] then
local result = eProtect.patcher[netstring](ply)
if result == false then
eProtect.logDetectionHandeler(ply, "patched-exploit", netstring, 2)
eProtect.punish(ply, 2, slib.getLang("eprotect", eProtect.config["language"], "banned-exploit-attempt"))
return false end
end
end)
if eProtect.queueNetworking then
eProtect.queueNetworking(nil, "exploitPatcher")
end