[LUA]
--MASSIVE FUCKING IF
--Makes it so this doesn't get ran if it isn't TTT.
if GAMEMODE and GAMEMODE.Name and string.find( GAMEMODE.Name , "Terrorist" ) then
-- Traitor finder w/ ESP
traitormode = CreateClientConVar("MTraitor_Detect", 1, false, false)
showhealth = CreateClientConVar("MESP_Health", 1, false, false)
showcorpse = CreateClientConVar("MESP_Corpse", 1, false, false)
showc4 = CreateClientConVar("MESP_C4", 1, false, false)
distance = CreateClientConVar("MESP_Distance", 1, false, false)
local gmod_GetWeapons = _R.Player.GetWeapons
models = { Model("models/player/phoenix.mdl"), Model("models/player/arctic.mdl"), Model("models/player/guerilla.mdl"), Model("models/player/leet.mdl") }
traitorweps = {"weapon_ttt_c4", "weapon_ttt_knife", "weapon_ttt_phammer", "weapon_ttt_sipistol", "weapon_ttt_flaregun", "weapon_ttt_push", "weapon_ttt_radio"}
local traitors = {}
local foundweps = {}
local cleared = false
function CheckTraitors()
if not GAMEMODE or not GAMEMODE.Name or not string.find(GAMEMODE.Name , "Trouble in Terror") then return end
for k, ply in pairs(player.GetAll()) do
if ply != LocalPlayer() then
for _, wep in pairs(gmod_GetWeapons(ply)) do
if wep.CanBuy and not table.HasValue(traitors, ply) and not table.HasValue(foundweps, wep) then
if !ply:IsDetective() then
chat.AddText(Color(50, 205, 50), "[MonsterScripts]: ", Color(235 , 235 , 235), string.format("%s has collected a traitor weapon.", ply:Nick()), Color(235 , 235 , 235) )
table.insert(traitors, ply)
table.insert(foundweps, wep)
cleared = false
elseif ply:IsDetective() then
table.insert(foundweps, wep)
end
end
end
end
if table.HasValue(traitors, ply) and (ply:Health() == 0 or ply:Health() < 0 or ply:Team() == 1002) then
chat.AddText(Color(50 , 205 , 50) , "[MonsterScripts]: A traitor has died.")
for a , b in pairs(traitors) do
if b == ply then
traitors[a] = nil
end
end
end
end
if GetRoundState() == 4 then
traitors = {}
end
end
hook.Add("Think", "FindTraitors", CheckTraitors)
concommand.Add("+trace", function()
MsgN("Tracing traitors.")
hook.Add("HUDPaint", "TTTWall", function()
Position = nil
pos = nil
posex = nil
POS = nil
for k, v in pairs ( ents.GetAll() ) do
if v:IsPlayer() then
local Position = ( v:GetPos() + Vector(0,0,42)):ToScreen()
local Name = ""
local dis = math.Round(LocalPlayer():GetPos():Distance(v:GetPos()))
v:SetMaterial("MonsterMats/player")
if v == LocalPlayer() or v:Team() == 1002 then Name = "" else Name = v:Name() end
if traitormode:GetInt() == 1 and v:Team() != 1002 then
draw.DrawText( Name, "DefaultLarge", Position.x, Position.y, Color(255,255,255,255), 1 )
end
if v == LocalPlayer() or v:Team() == 1002 or v:Health() <= 0 then hp = nil else hp = v:Health() end
local POS = (v:GetPos() + Vector(0,0,100)):ToScreen()
if showhealth:GetInt() == 1 then
if hp != nil then
if v:IsValid() and table.HasValue(traitors, v) then
draw.DrawText( "HEALTH: "..hp, "DefaultLarge", POS.x, (POS.y), Color(255,0,0,255), 1 )
v:SetColor(255,0,0,255)
elseif v:IsValid() and v:IsDetective() then
draw.DrawText( "HEALTH: "..hp, "DefaultLarge", POS.x, (POS.y), Color(0,0,255,255), 1 )
v:SetColor(0,0,255,255)
else
draw.DrawText( "HEALTH: "..hp, "DefaultLarge", POS.x, (POS.y), Color(0,255,0,255), 1 )
v:SetColor(0,255,0,255)
end
end
end
if distance:GetInt() == 1 and dis != nil and v:Team() != 1002 then
dispos = v:GetPos():ToScreen()
if table.HasValue(traitors, v) then
draw.DrawText( dis, "DefaultLarge", dispos.x, dispos.y, Color(255,0,0,255), 1 )
elseif v:IsDetective() then
draw.DrawText( dis, "DefaultLarge", dispos.x, dispos.y, Color(0,0,255,255), 1 )
else
draw.DrawText( dis, "DefaultLarge", dispos.x, dispos.y, Color(0,255,0,255), 1 )
end
end
else
if showcorpse:GetInt() == 1 then
if v:IsValid() and table.HasValue(models, v:GetModel()) then
pos = v:GetPos():ToScreen()
CORPSE = CORPSE or {}
CORPSE.dti = {BOOL_FOUND = 0, ENT_PLAYER = 0, INT_CREDITS = 0}
local dti = CORPSE.dti
if !v:GetDTBool(dti.BOOL_FOUND) then
draw.DrawText( "CORPSE", "TargetID", pos.x, (pos.y+5), Color( 255, 255, 255, 255 ), 1 )
v:SetMaterial("monstermats/player")
else
v:SetMaterial()
end
end
end
if showc4:GetInt() == 1 then
if v:IsValid() and !v:IsWeapon() and string.find(v:GetClass(), "c4") then
posex = v:GetPos():ToScreen()
draw.RoundedBox( 2, (posex.x), (posex.y), 5, 5, Color( 0, 255, 0, 255 ))
draw.DrawText( "C4", "TargetID", posex.x, (posex.y-10), Color( 255, 255, 255, 255 ), 1 )
end
end
end
end
end)
end)
concommand.Add("-trace", function()
for k, v in pairs(ents.GetAll()) do
if v:IsValid() then
v:SetMaterial()
v:SetColor(255,255,255,255)
end
end
hook.Remove("HUDPaint", "InfoWall")
end)
elseif GAMEMODE and GAMEMODE.Name and string.find(GAMEMODE.Name , "rp") then-- if it's an RP gamemode
concommand.Add("+trace", function()
Colors = {}
Mats = {}
hook.Add("HUDPaint", "RPWall", function()
pos = nil
for k, v in pairs(ents.GetAll()) do
if v:IsValid() then
if v:IsPlayer() then
v:SetMaterial("MonsterMats/player")
if v != LocalPlayer() then
v:SetColor(0,255,255,255)-- Sets player color
end
local pos = (v:GetPos()+ Vector(0,0,42)):ToScreen()
if v != LocalPlayer() then name = v:Nick() else name = nil end
if name then
draw.SimpleText(name, "DefaultLarge", pos.x, pos.y, Color(255,255,255,255), 1, 1)-- shows name
end
local weppos = (v:GetPos()):ToScreen()
if v != LocalPlayer() then wep = v:GetActiveWeapon():GetClass() else wep = nil end
if wep then
draw.SimpleText(wep, "DefaultLarge", weppos.x, weppos.y, Color(255,255,255,255), 1, 1)-- shows weapon
end
if v == LocalPlayer() or v:Team() == 1002 or v:Health() <= 0 then hp = nil else hp = v:Health() end
local POS = (v:GetPos() + Vector(0,0,100)):ToScreen()
--if showhealth:GetInt() == 1 then
if hp != nil then
draw.DrawText( "HEALTH: "..hp, "DefaultLarge", POS.x, (POS.y), Color(0,255,0,255), 1 )-- show health
end
-- end
elseif v:IsValid() and !v:IsPlayer() then
local r,g,b,a = v:GetColor()
class = v:GetClass()
Funfact, garry can sue you about this, he changed the terms of service :v:
And don't worry, mods can see what you deleted.
Lol, These are here, so that Developers (That's why it's in the LUA SCRIPTING Section) Can post new ways of blocking these... I didn't create them. I don't claim credit for them. I was bored on Pastebin and decided I'd do something. I might use the script inside of them to block them and/or any branches of them that a 'hacker' could create.
SO: If I have broken the ToS then okay... But I fail to see how posting things in the Developer section with full intent on Developers DEVELOPING Anti-Cheats is breaking ToS...
[editline]8th February 2012[/editline]
Quote from the ToS
[QUOTE]
Please don’t do any of these things (unless we’ve told you that you can, in writing)
Distribute, hack of modify Garry’s Mod [all of it - the client, server, art, code] - unless it is to make legitimate mods, addons or content we mentioned in the first section of this page.
do anything else we [or you] might consider naughty or illegal
These could cause some real problems for Garry’s Mod and Facepunch - and I know you wouldn’t want that.[/QUOTE]
None of that has been broken....
Could be useful for an anti-cheat, and this isn't being used for anything malicious, so there shouldnt be a problem.
It's funny, because I actually posted an anti-cheat.....
You are still distributing it, which you shouldn't.
[QUOTE=Wizard of Ass;34606855]You are still distributing it, which you shouldn't.[/QUOTE]
Pastebin is distributing it, that's where he found it. He's just reposting it.
What's the problem here anyway? Will Garry want to sue this guy for posting publicly found scripts on facepunch!?
Really though, it's just stupid. If I wanted some TTT wallhacks from Pastebin I'd look for some TT wallhacks via Pastebin's very own website.
[quote]
Please don’t do any of these things (unless we’ve told you that you can, in writing)
Distribute, hack of modify Garry’s Mod [all of it - the client, server, art, code] - unless it is to make legitimate mods, addons or content we mentioned in the first section of this page.
do anything else we [or you] might consider naughty or illegal
These could cause some real problems for Garry’s Mod and Facepunch - and I know you wouldn’t want that.[/quote]
hack of modify; voids the entire terms. If you want to be pedantic, at least.
[QUOTE=Wizard of Ass;34606655]Funfact, garry can sue you about this, he changed the terms of service :v:
And don't worry, mods can see what you deleted.[/QUOTE]
Where can we see the changes?
[QUOTE=Bawbag;34609125]hack of modify; voids the entire terms. If you want to be pedantic, at least.
Where can we see the changes?[/QUOTE]
[url]http://garrysmod.com/terms[/url]
[QUOTE=Knallex;34609743][url]http://garrysmod.com/terms[/url][/QUOTE]
Seems they aren't really terms of use. They're a polite notice - this is what we want from you, this is what we will give you.
It doesn't say at all that garry can or will take legal action for you breaking them. Seen as it cannot be guaranteed that people view the terms before purchasing, there is no way to guarantee everyone accepts the terms.
If there is a way publicly available to stop a wall-hack, which there is (SE2), then it is not up to Garry- Nor his terms of service- to stop the propagation of code anyone with a basic grasp of logic can create. It is up to those who are provided with systems to counter such code (Which are plentiful, even more common than the hacks themselves these days) to prevent its use. If you do not know how to implement such protections, there is a wiki page for exactly that, and I assume that most of said information is replicated across these forums.
Do not hamper the freedom of information in order to protect yourself from that which is already harmless.
This has been stolen, This was made by Coma, and I have used this 'hack' for about several months now,
I dont think it would be allowed to be used however if someone could use it, I dont think garry would allow it.
[QUOTE=mib999;34616539]This has been stolen, This was made by Coma, and I have used this 'hack' for about several months now,
I dont think it would be allowed to be used however if someone could use it, I dont think garry would allow it.[/QUOTE]
You complete idiot.
1) You come and tell us all that you are hacking on GMod.
2) It SAYS [B]Coma's[/B] on it. I also said 'I didn't make any of these I'm just reposting them'
[QUOTE=Bawbag;34610011]Seems they aren't really terms of use. They're a polite notice - this is what we want from you, this is what we will give you.
It doesn't say at all that garry can or will take legal action for you breaking them. Seen as it cannot be guaranteed that people view the terms before purchasing, there is no way to guarantee everyone accepts the terms.[/QUOTE]
You cant take legal action over someone breaking ToS, its there so you can cover your ass when you remove their access for breaking it. Thats why most companies have some sort of clause which pretty much says 'we can terminate your access for any reason we deem necessary', so theres no way anyone can claim that it was unfair since they agreed to it. Creating a SE bypass or other cheats for games isn't illegal in most countries, even if they do involve hacking or modifying the client.
Also, this is a legitimate addon, I think people are confusing 'cheat' with 'hacking or modifying the game client'
Though I think if Garry wants a 'proper' ToC, he needs to display a link to it on the menu or have people click agree or something, you cant really put a ToC for your game on a random wesite that not a great deal of people who play the game is even going to see, without making any effort to tell them what they are agreeing to.
I don't remember agreeing to them. So, that means they don't apply to me. Right?
Wouldnt this ruin the point of TTT...
You agreed when you bought the game.
[QUOTE=COBRAa;34617011]You agreed when you bought the game.[/QUOTE]
They didn't exist when I bought the game in 2007.
[QUOTE=DrJenkins;34616963]I don't remember agreeing to them. So, that means they don't apply to me. Right?[/QUOTE]
They still do, because they are the terms you agree to when you play the game, not just by buying it. My point was that they really need a link or something on the game menu, because it isnt much use having a TOS somewhere that it cant really be seen.
About ToS, i think you HAVE to PRESENT it to client before he accepts it. Else someone could just write that you owe him 2000$, need to send flowers every week and do toasts for breakfast.
It's like. I'll sell my own mouse, and in ToS ill write that if you will use it more than 10 times a year, i can void warranty and you owe me x moneys. But, oh, when i said that? You accepted to it when you bought it, before you even could see it (no information about it).
[QUOTE=COBRAa;34617011]You agreed when you bought the game.[/QUOTE]
Nope. I wasn't given a link to the ToS... I wasn't shown the ToS...
[QUOTE=Amic;34617580]About ToS, i think you HAVE to PRESENT it to client before he accepts it. Else someone could just write that you owe him 2000$, need to send flowers every week and do toasts for breakfast.
It's like. I'll sell my own mouse, and in ToS ill write that if you will use it more than 10 times a year, i can void warranty and you owe me x moneys. But, oh, when i said that? You accepted to it when you bought it, before you even could see it (no information about it).[/QUOTE]
Again, thats a contract, not a TOS. A TOS isnt legally binding, its there for the company to cover their asses when cutting off service to people and outline rules at the same time. In your case, he could say that you need to do all of that, but he couldnt take you to court for not doing it, what he could do is cut your access to Garrysmod for not doing it, and you wouldnt be able to complain because you agreed to do it and later didnt.
[QUOTE=DrJenkins;34617773]Nope. I wasn't given a link to the ToS... I wasn't shown the ToS...[/QUOTE]
Either way, it doesnt really matter. As I said above what was posted in this thread is a cheat, not a game client hack or modification.
My assumption is that Garry is putting the TOS in there because hes probably going to start removing people using said programs permanently from the game and wants to cover his butt.
[QUOTE=Cushie;34617903]Again, thats a contract, not a TOS. A TOS isnt legally binding, its there for the company to cover their asses when cutting off service to people and outline rules at the same time. In your case, he could say that you need to do all of that, but he couldnt take you to court for not doing it, what he could do is cut your access to Garrysmod for not doing it, and you wouldnt be able to complain because you agreed to do it and later didnt.[/QUOTE]
He's been cutting people's access since before he changed the terms though.
[QUOTE=Bawbag;34617964]He's been cutting people's access since before he changed the terms though.[/QUOTE]
Well technically what is mentioned breaks Steam's TOS, so to be honest I think they waive all of their rights to everything in their account. I havent heard of him blocking anyone's access to the game before now.
Even without a TOS there probably isnt much people could do due to Steam's TOS covering everything, but its just a precaution.
"massive fucking if" can be "then return end"
[QUOTE=aurum481;34618076]"massive fucking if" can be "then return end"[/QUOTE]
Lol,
[editline]9th February 2012[/editline]
[IMG]http://robin.nitrous-networks.eu/Zing.png[/IMG]
Gonna use this info to complete my anti-cheat then I guess :/
[QUOTE=aurum481;34618076]"massive fucking if" can be "then return end"[/QUOTE]
There's an "elseif"
It'd be more sensible to put them into separate functions, then use an if to call them
Sorry, you need to Log In to post a reply to this thread.