• Cheat blocker
    101 replies, posted
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.