mirror of
https://github.com/Novetus/Novetus_src.git
synced 2025-01-31 17:53:01 +02:00
96 lines
2.7 KiB
Lua
96 lines
2.7 KiB
Lua
-- allows 2007M, 2006S, 2007E, and 2009E users to join Shaders/HD servers, and vice versa
|
|
|
|
local this = {}
|
|
|
|
function this:Name()
|
|
return "Shader Client MP Compatibility"
|
|
end
|
|
|
|
function this:IsEnabled(Script, Client)
|
|
-- hate this so much
|
|
if (Client == "2007E" or Client == "2007M" or Client == "2006S" or Client == "2007E-Shaders" or Client == "2007M-Shaders" or Client == "2006S-Shaders" or Client == "2009E" or Client == "2009E-HD") then
|
|
return true
|
|
else
|
|
return false
|
|
end
|
|
end
|
|
|
|
function this:OnPrePlayerKicked(Player, Reason)
|
|
if (game.Lighting:findFirstChild("SkipSecurity") ~= nil) then
|
|
do return end
|
|
end
|
|
|
|
invalidSecurityVals = 0
|
|
|
|
for _,newVal in pairs(Player.Security:children()) do
|
|
if (newVal.Name == "ClientEXEMD5") then
|
|
if (newVal.Value ~= game.Lighting.Security.ClientEXEMD5.Value or newVal.Value == "") then
|
|
invalidSecurityVals = invalidSecurityVals + 1
|
|
end
|
|
end
|
|
|
|
if (newVal.Name == "LauncherMD5") then
|
|
if (newVal.Value ~= game.Lighting.Security.LauncherMD5.Value or newVal.Value == "") then
|
|
invalidSecurityVals = invalidSecurityVals + 1
|
|
end
|
|
end
|
|
|
|
if (newVal.Name == "ClientScriptMD5") then
|
|
if (newVal.Value ~= game.Lighting.Security.ClientScriptMD5.Value or newVal.Value == "") then
|
|
invalidSecurityVals = invalidSecurityVals + 1
|
|
end
|
|
end
|
|
end
|
|
|
|
if (invalidSecurityVals < 3) then
|
|
print(Player.Name .. " has "..invalidSecurityVals.." invalid security values! Verifying...")
|
|
validLauncher = false
|
|
hasTripcode = false
|
|
securityValues = 0
|
|
|
|
for _,newVal in pairs(Player.Security:children()) do
|
|
if (newVal.Name == "LauncherMD5") then
|
|
if (newVal.Value == game.Lighting.Security.LauncherMD5.Value) then
|
|
validLauncher = true
|
|
end
|
|
end
|
|
|
|
securityValues = securityValues + 1
|
|
end
|
|
|
|
for _,newVal in pairs(Player:children()) do
|
|
if (newVal.Name == "Tripcode") then
|
|
if (newVal.Value ~= "") then
|
|
hasTripcode = true
|
|
end
|
|
end
|
|
end
|
|
|
|
if (validLauncher == true and hasTripcode == true and securityValues == 3) then
|
|
print(Player.Name .. " is using a valid modified client!")
|
|
local ver = Instance.new("StringValue",game.Lighting)
|
|
ver.Name = "SkipSecurity"
|
|
local tempTag = Instance.new("StringValue",ver)
|
|
tempTag.Name = "Temp"
|
|
else
|
|
print(Player.Name .. " is using an invalid modified client! Kicking...")
|
|
end
|
|
else
|
|
print(Player.Name .. " is using an invalid modified client! Kicking...")
|
|
end
|
|
end
|
|
|
|
function this:OnLoadCharacter(Player, Appearance)
|
|
if (game.Lighting:findFirstChild("SkipSecurity") ~= nil) then
|
|
if (game.Lighting.SkipSecurity:findFirstChild("Temp") ~= nil) then
|
|
game.Lighting.SkipSecurity:remove()
|
|
end
|
|
end
|
|
end
|
|
|
|
function AddModule(t)
|
|
print("AddonLoader: Adding " .. this:Name())
|
|
table.insert(t, this)
|
|
end
|
|
|
|
_G.CSScript_AddModule=AddModule |