Outdatednet lib logging

Posts 1–4 of 4 · Page 1 of 1
net lib logging
netLog by kali

Code:
netlog = netlog || {};
netlog.receivers = netlog.receivers || {};
netlog.originals = netlog.originals || {};
netlog.curmsg = "";
netlog.types = {
	["Angle"] = true,
	["Bit"] = true,
	["Bool"] = true,
	["Color"] = true,
	["Data"] = true,
	["Double"] = true,
	["Entity"] = true,
	["Float"] = true,
	["Int"] = true,
	["Normal"] = true,
	["String"] = true,
	["Table"] = true,
	["Type"] = true,
	["UInt"] = true,
	["Vector"] = true,
};

function netlog.log(msg)
	print("netLog] " .. msg)
end

function netlog.detour(name, func, newfunc)
	netlog.log("detoured net function " .. name);
	
	local ofunc = func;
	netlog.originals[name] = netlog.originals[name] || ofunc;
	return newfunc;
end

function netlog.setcurnet(netname)
	if (!netname || !isstring(netname)) then
		return;
	end

	if (netlog.curmsg && netlog.curmsg != "") then
		netlog.log("---end net msg " .. netlog.curmsg .. "---");
	end

	netlog.log("---begin net msg " .. netname .. "---");
	netlog.curmsg = netname;
	netlog.originals["net.Start"](netname);
end

function netlog.endcurnet()
	netlog.log("---end net msg " .. netlog.curmsg .. "---");
	netlog.curmsg = "";
	netlog.originals["net.SendToServer"]();
end

function netlog.think()
	local same = true;

	for name, func in next, net.Receivers do
		if (!netlog.receivers[name]) then
			same = false;
			netlog.receivers[name] = func;
		end
	end

	if (!same) then
		for name, func in next, net.Receivers do
			netlog.log("detouring net receiver function for " .. name);

			net.Receivers[name] = function(len)
				if (netlog.curmsg && netlog.curmsg != "") then
					netlog.log("---end net msg " .. netlog.curmsg .. "---");
				end

				netlog.log("---begin net msg " .. name .. "---");
				netlog.curmsg = name;
				netlog.receivers[name](len);
			end
		end
	end
end

net.Start = netlog.detour("net.Start", net.Start, netlog.setcurnet);
net.SendToServer = netlog.detour("net.SendToServer", net.SendToServer, netlog.endcurnet);
netlog.log("added think hook");
hook.Add("Think", "netlog.think", netlog.think);

for name, valid in next, netlog.types do
	if (!valid) then
		continue;
	end

	if (net["Read" .. name]) then
		netlog.log("detouring net read function " .. string.lower(name));
		netlog.originals["net.Read" .. name] = netlog.originals["net.Read" .. name] || net["Read" .. name];
		local ofunc = netlog.originals["net.Read" .. name];

		net["Read" .. name] = function(read)
			local ret = ofunc(read);
			netlog.log("read " .. string.lower(name) .. ": " .. tostring(ret));
			return ret;
		end
	end

	if (net["Write" .. name]) then
		netlog.log("detouring net write function " .. string.lower(name));
		netlog.originals["net.Write" .. name] = netlog.originals["net.Write" .. name] || net["Write" .. name];
		local ofunc = netlog.originals["net.Write" .. name];

		net["Write" .. name] = function(write, ...)
			netlog.log("wrote " .. string.lower(name) .. ": " .. tostring(write));
			ofunc(write, ...);
		end
	end
end
- - - Updated - - -

how do u open the menu
Quote Originally Posted by SmokeIsGay View Post
netLog by kali

Code:
netlog = netlog || {};
netlog.receivers = netlog.receivers || {};
netlog.originals = netlog.originals || {};
netlog.curmsg = "";
netlog.types = {
	["Angle"] = true,
	["Bit"] = true,
	["Bool"] = true,
	["Color"] = true,
	["Data"] = true,
	["Double"] = true,
	["Entity"] = true,
	["Float"] = true,
	["Int"] = true,
	["Normal"] = true,
	["String"] = true,
	["Table"] = true,
	["Type"] = true,
	["UInt"] = true,
	["Vector"] = true,
};

function netlog.log(msg)
	print("netLog] " .. msg)
end

function netlog.detour(name, func, newfunc)
	netlog.log("detoured net function " .. name);
	
	local ofunc = func;
	netlog.originals[name] = netlog.originals[name] || ofunc;
	return newfunc;
end

function netlog.setcurnet(netname)
	if (!netname || !isstring(netname)) then
		return;
	end

	if (netlog.curmsg && netlog.curmsg != "") then
		netlog.log("---end net msg " .. netlog.curmsg .. "---");
	end

	netlog.log("---begin net msg " .. netname .. "---");
	netlog.curmsg = netname;
	netlog.originals["net.Start"](netname);
end

function netlog.endcurnet()
	netlog.log("---end net msg " .. netlog.curmsg .. "---");
	netlog.curmsg = "";
	netlog.originals["net.SendToServer"]();
end

function netlog.think()
	local same = true;

	for name, func in next, net.Receivers do
		if (!netlog.receivers[name]) then
			same = false;
			netlog.receivers[name] = func;
		end
	end

	if (!same) then
		for name, func in next, net.Receivers do
			netlog.log("detouring net receiver function for " .. name);

			net.Receivers[name] = function(len)
				if (netlog.curmsg && netlog.curmsg != "") then
					netlog.log("---end net msg " .. netlog.curmsg .. "---");
				end

				netlog.log("---begin net msg " .. name .. "---");
				netlog.curmsg = name;
				netlog.receivers[name](len);
			end
		end
	end
end

net.Start = netlog.detour("net.Start", net.Start, netlog.setcurnet);
net.SendToServer = netlog.detour("net.SendToServer", net.SendToServer, netlog.endcurnet);
netlog.log("added think hook");
hook.Add("Think", "netlog.think", netlog.think);

for name, valid in next, netlog.types do
	if (!valid) then
		continue;
	end

	if (net["Read" .. name]) then
		netlog.log("detouring net read function " .. string.lower(name));
		netlog.originals["net.Read" .. name] = netlog.originals["net.Read" .. name] || net["Read" .. name];
		local ofunc = netlog.originals["net.Read" .. name];

		net["Read" .. name] = function(read)
			local ret = ofunc(read);
			netlog.log("read " .. string.lower(name) .. ": " .. tostring(ret));
			return ret;
		end
	end

	if (net["Write" .. name]) then
		netlog.log("detouring net write function " .. string.lower(name));
		netlog.originals["net.Write" .. name] = netlog.originals["net.Write" .. name] || net["Write" .. name];
		local ofunc = netlog.originals["net.Write" .. name];

		net["Write" .. name] = function(write, ...)
			netlog.log("wrote " .. string.lower(name) .. ": " .. tostring(write));
			ofunc(write, ...);
		end
	end
end
- - - Updated - - -

how do u open the menu
There is no menu!
What he said, there is no menu to open. Make a menu if you want one to open.
Quote Originally Posted by DisturbingLife View Post
What he said, there is no menu to open. Make a menu if you want one to open.
its a meme okay
Posts 1–4 of 4 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?