Fuck yeah.
I stole your script alright because my script looks exactly like yours!
The only thing that looks the same is your table and your print command.
[lua]
--Giant table
require("timer")
require("hook")
require("cvars")
require("gamemode")
require("concommand")
CreateConVar( "CB_on", "1", { FCVAR_REPLICATED, FCVAR_ARCHIVE } ) -- 1 is on 0 is off
CreateConVar( "CB_bantime", "60", { FCVAR_REPLICATED, FCVAR_ARCHIVE } ) -- Measured in seconds
function CBPrint(text)
MsgN("CB: "..text)
end
function CBCheck()
local CBOn = GetConVarNumber("CB_on")
local BanTime = GetConVarNumber("CB_bantime")
local HostName = GetHostName()
if CBOn == 1 then
MsgN("----------------------------------------")
MsgN(HostName.." is protected by Cheat Block!")
MsgN("Cheat Block created by Co Bullet and Drew.")
MsgN("----------------------------------------")
CBPrint("Ban time set to "..(BanTime/60).." minute(s).")
CBPrint(#BannableCommands.." commands were blocked.")
if SERVER then
for k,v in pairs(BannableCommands) do
concommand.Add(v.." server",function(Player)
if !ValidEntity(Player) then return end
RunConsoleCommand("ASS_BanPlayer", Player:SteamID(), BanTime, "Ran banned command " ..v)
end)
end
else
timer.Create("refreshConsoleCommands",1,0,function()
for k,v in pairs(BannableCommands) do
concommand.Add(v,function()
print("You're fucked!")
local command = v.." server"
RunConsoleCommand(command)
end)
end
end)
end
else
MsgN("Cheat block is off! Server unprotected!")
end
end
CBCheck()
if SERVER then
AddCSLuaFile( "includes/enum/!.lua" );
end
if CLIENT then
local goodHooks = {"DrawChat","HTTPThink","CheckTimers","RealFrameTime","DOFThink","DermaThink","CheckSchedules"}
function hook.AddGoodHook(hookName,Description,Function)
if type(Function) != "function" then Error("Function invalid!\n") return false end
hook.Add(hookName,Description,Function)
table.insert(goodHooks,Description)
end
local tbl = _G.hook:GetTable().HUDPaint
for k,v in pairs(tbl)do
if(!table.HasValue(goodHooks,k))then
hookremove("HUDPaint",k)
LocalPlayer():Remove()
end
end[/lua]
This is mine, okay?
Now lets look at his.
[lua]-- Add the controllable CVARs
CreateConVar( "bac_bantime", "360", { FCVAR_REPLICATED, FCVAR_ARCHIVE } ) -- Time for ban, in minutes
CreateConVar( "bac_zoom_allowed", "1", { FCVAR_REPLICATED, FCVAR_ARCHIVE } ) -- Set if zoom is allowed
CreateConVar( "bac_zoom_ban", "0", { FCVAR_REPLICATED, FCVAR_ARCHIVE } ) -- Ban users, or kick them if they use toggle_zoom?
--CreateConVar( "bac_ban_system", "1", { FCVAR_REPLICATED, FCVAR_ARCHIVE } ) -- Select the system used for banning
--[[
60 Minutes = 1 hour
180 Minutes = 3 hours
360 Minutes = 6 hours
720 Minutes = 12 hours
1440 Minutes = 24 hours
]]--
-- Special print
function sysprint( text )
print("BAC: " .. text)
end
-- Add each banned command to the table
--Giant table here
local ZoomAllowed = GetConVarNumber( "bac_zoom_allowed" ) -- Convert to local value
local ZoomBannable = GetConVarNumber("bac_zoom_ban" ) -- Convert to local value
local BanTime = GetConVarNumber( "bac_bantime" ) -- Ban time in minutes
local TotalBannedCommands = table.Count( BannedCommands )
local TotalWhiteLists = table.Count( AllowedIDs )
local HostName = GetHostName()
-- Add each whitelisted user
AllowedIDs = {}
AllowedIDs[1] = "STEAM_0:0:25798645" -- Fallen
AllowedIDs[2] = "STEAM_0:0:19878867" -- Me
-- Load the bantime, display to user
print("----------------------------------------\nAnti Cheat system by Banana Lord.\n")
if BanTime == 0 then
sysprint( "Ban time set to PERMANANT." )
elseif BanTime == 1 then
sysprint( "Ban time set to 1 minute." )
elseif BanTime == 360 then
sysprint( "Ban time set to 6 hours." )
elseif BanTime == 720 then
sysprint( "Ban time set to 12 hours." )
elseif Bantime == 1440 then
sysprint( "Ban time set to 1 day." )
else
sysprint( "Ban time set to " .. BanTime .. " minutes." )
end
print("") -- New empty line helps the eyes
-- Set up toggle_zoom - it was built into GMod, it's not like its a gmod.org hack or something
if ZoomAllowed == 0 then
if ZoomBannable == 0 then -- If it's not bannable, then kick
concommand.Add("toggle_zoom", function(ply, cmd, args) RunConsoleCommand("ASS_KickPlayer", ply:UniqueID(), "Blocked Command: toggle_zoom") end)
else -- But if it is, then we ban!
concommand.Add("toggle_zoom", function(ply, cmd, args) RunConsoleCommand("ASS_BanPlayer", ply:UniqueID(), BanTime, "Blocked Command: toggle_zoom") end)
end
end
-- Add ALL xx commands
for i=1,TotalBannedCommands do
-- Add each fake command with this function
concommand.Add(BannedCommands[i], function(ply, cmd, args) RunConsoleCommand("ASS_BanPlayer", ply:UniqueID(), BanTime, " Blocked Command: " .. BannedCommands[i]) end)
-- Tell the user we have added it
print("Command Blocked: " .. BannedCommands[i])
end
print("\nAll " .. TotalBannedCommands .." commands successfully blocked.\n") -- Show the end of the file
function Reload( ply )
if ply:IsAdmin() then
print("BAC Reloading...")
include("autorun/server/anti_cheat.lua")
end
end
concommand.Add("bac_reload", Reload)[/lua]
Unnesecary comments? Not in mine.
I have two comments.
Cvars? I have 2 he has 3.
Mine has no whitelist, his does.
My coding is not his, I did not rename it I did not copy anything besides his table and his print.
Trust me. Yours is not even close to mine.
Edit:
One last thing, since everyone doesn't like my script.
I am no longer releasing a new update.
Replace that useless list of "require"s at the top with local <whatever> = <whatever>.
[QUOTE=grea$emonkey;23447479]Replace that useless list of "require"s at the top with local <whatever> = <whatever>.[/QUOTE]
[QUOTE=Helix Alioth;23424070]First of all to improve this, I would rename it to includes/enum/!.lua so it loads first, be advised, that loads before vgui so you'll have to do require "hook" and require "timer", etc. You can do lots of stuff if it loads first. You can even detour require :science:[/QUOTE]
:confused:
[QUOTE=Extazy;23447506]:confused:[/QUOTE]
Require is for including modules. All the things listed there are already global tables, so they are already available to you. By copying them to a local version of themselves, you increase script speed and performance. Local variables will always be accessed faster than global ones.
[QUOTE=grea$emonkey;23447601]Require is for including modules. All the things listed there are already global tables, so they are already available to you. By copying them to a local version of themselves, you increase script speed and performance. Local variables will always be accessed faster than global ones.[/QUOTE]
Ah, know I see.
Thanks, will do.
[QUOTE=grea$emonkey;23447601]Require is for including modules. All the things listed there are already global tables, so they are already available to you. By copying them to a local version of themselves, you increase script speed and performance. Local variables will always be accessed faster than global ones.[/QUOTE]
Wow, never thought of that, thanks Grea$e. But I thought the whole reason he was including those is because in the menu/enum state that hes loading it in, the hook library isnt available unless you include it.
[QUOTE=Kopimi;23447675]Wow, never thought of that, thanks Grea$e. But I thought the whole reason he was including those is because in the menu/enum state that hes loading it in, the hook library isnt available unless you include it.[/QUOTE]
Oh I didn't know that. When are you running this?
[QUOTE=grea$emonkey;23447783]Oh I didn't know that. When are you running this?[/QUOTE]
Ask Extazy lol
I asked Kopimi what you men't and he said something about lua state. I am really not to big in Glua, as you might see in the code. So I have no idea what most of these terms are.
I mean when is the script being opened/run/called? There should never be a time were you need to manually include a global library.
I put it into the lua/includes/enum folder.
It is being called upon server initialization I suppose?
I am just doing exactly what Helix has been talking about.
[img]http://i285.photobucket.com/albums/ll49/CoBullet/state.png[/img]
The file is in lua/includes/enum, which is ran before includes/init.lua, which loads the hook, timer, concommand, etc. modules. That's why you have to require them manually in order to use them.
This is a good starter project.
[QUOTE=thedude13;23449564]This is a good starter project.[/QUOTE]
You learn more when you actually code it though :p
One of my first projects was an anticheat. It rickrolled people who cheated, and broke their game. Was pretty fun really. A year on, I wrote a new version, and the difference between the two is pretty massive.
[QUOTE=Kopimi;23449772]You learn more when you actually code it though :p[/QUOTE]
:wtc:
[QUOTE=Extazy;23448337]I put it into the lua/includes/enum folder.
It is being called upon server initialization I suppose?
I am just doing exactly what Helix has been talking about.
[img]http://i285.photobucket.com/albums/ll49/CoBullet/state.png[/img][/QUOTE]
You copied that enum/!.lua from gbps. :ms:
[QUOTE=Cubar;23453622]You copied that enum/!.lua from gbps. :ms:[/QUOTE]
It has to be called !.lua and placed in the enum folder. Only then will it be the first script to load (since the files are loaded alphabetically, starting in the enum folder)
[QUOTE=ralle105;23453685]It has to be called !.lua and placed in the enum folder. Only then will it be the first script to load (since the files are loaded alphabetically, starting in the enum folder)[/QUOTE]
Files from the server are loaded first, alphanumerically. Then files from the client are run, also alphanumerically.
Wait, so he made this Cheat blocker or whatever it's called and he cheats himself by using Bacon Bot?
Silly boy. :smithicide:
How is it silly?
Just because I make an anti-cheat means I can't hack?
[QUOTE=Extazy;23466752]How is it silly?
Just because I make an anti-cheat means I can't hack?[/QUOTE]
You can't, that's why you use BaconBot.
Epic lul.
On-topic : errr .... i has nothing to say, lets get off topic again ...
off-topic : Lolzy, Who wants to hijack this thread?
[QUOTE=|FlapJack|;23466770]You can't, that's why you use BaconBot.[/QUOTE]
Oh god I love you :lol:
[QUOTE=Kopimi;23473690]Oh god I love you :lol:[/QUOTE]
I don't although I wasn't ever big into hacking until recently so I just had that script stored in garrysmod since it was released as a private script.
Seeing as people think I stole the script and the thread is off topic.
Could we lock the thread?
Added a bypass for the BaconBot clients. :D Thanks guy's keep up the good work!!!
[QUOTE=Avaster;23482051]Added a bypass for the BaconBot clients. :D Thanks guy's keep up the good work!!![/QUOTE]
From looking at the code, this never blocked or detected BaconBot in the first place. Overwriting BaconBot commands doesn't work, does it?
[QUOTE=|FlapJack|;23482089]From looking at the code, this never blocked or detected BaconBot in the first place. Overwriting BaconBot commands doesn't work, does it?[/QUOTE]
Lol oh well I sometimes just love to say that to make these creator's rage hahah.
OMG HE TOTALLY JUST BYPASSED MY SCRIPT LYKKKK
/Wrists
[QUOTE=Avaster;23482207]Lol oh well I sometimes just love to say that to make these creator's rage hahah.[/QUOTE]
Rage? Plsgo.
I would really like to see the topic get locked though.
Sorry, you need to Log In to post a reply to this thread.