Keypad Cracker Lua

Posts 115 of 42 · Page 1 of 3
Keypad Cracker Lua
Feel free to suggest changes or fixes. If you have any questions I'll be happy to answer them. If you have any problems I will provide support the best i can.

READ THIS -
When you copy the code there are two instances where i wrote draw[dot]RoundedBox because MPGH censors the original. You have to change those or this isn't going to work.

Directions -
There are no commands, just run the file to get started.

Red boxes indicate keypads without a known code.
Green boxes indicate keypads with a known code.

Codes are not known until someone uses the keypad.

If you look at a keypad a box will pop up that says the code or "Not Found".

http://i.imgur.com/ZwZnb1j.jpg

I also recommend changing the hook names, otherwise it will be way too easy for a server to detect this code.

Code -
Code:
local X = -50
local Y = -100

local KeyPos =	{	
	{X+5, Y+100, 25, 25, -2.2, 3.45, 1.3, -0},
	{X+37.5, Y+100, 25, 25, -0.6, 1.85, 1.3, -0},
	{X+70, Y+100, 25, 25, 1.0, 0.25, 1.3, -0},

	{X+5, Y+132.5, 25, 25, -2.2, 3.45, 2.9, -1.6},
	{X+37.5, Y+132.5, 25, 25, -0.6, 1.85, 2.9, -1.6},
	{X+70, Y+132.5, 25, 25, 1.0, 0.25, 2.9, -1.6},

	{X+5, Y+165, 25, 25, -2.2, 3.45, 4.55, -3.3},
	{X+37.5, Y+165, 25, 25, -0.6, 1.85, 4.55, -3.3},
	{X+70, Y+165, 25, 25, 1.0, 0.25, 4.55, -3.3},

	{X+5, Y+67.5, 50, 25, -2.2, 4.7, -0.3, 1.6},
	{X+60, Y+67.5, 35, 25, 0.3, 1.65, -0.3, 1.6}
}

hook.Add("Think", "WatchingPlayers", function()
	for k,v in pairs(player.GetAll()) do
		local kp = v:GetEyeTrace().Entity
		if IsValid(kp) and string.find(kp:GetClass(), "keypad") and v:EyePos():Distance(kp:GetPos()) <= 71 then
			kp.tempCode = kp.tempCode or ""
			kp.tempText = kp.tempText or ""
			kp.tempStatus = kp.tempStatus or 0
			
			if kp:GetDisplayText() != kp.tempText or kp:GetStatus() != kp.tempStatus then
				kp.tempText = kp:GetDisplayText()
				kp.tempStatus = kp:GetStatus()
				
				local tr = util.TraceLine({
					start = v:EyePos(),
					endpos = v:GetAimVector() * 32 + v:EyePos(),
					filter = v
				})
				
				local pos = kp:WorldToLocal(tr.HitPos)
				
				for i,p in pairs(KeyPos) do
					local x = (pos.y - p[5]) / (p[5] + p[6])
					local y = 1 - (pos.z + p[7]) / (p[7] + p[8])
					
					if (x >= 0 and y >= 0 and x <= 1 and y <= 1) then
						if i == 11 then
							timer.Simple(0, function() //GetStatus doesnt work for another frame 
								if kp:GetStatus() == 1 then
									kp.code = kp.tempCode
								end
								kp.tempCode = ""
							end)		
						elseif i == 10 then
							kp.tempCode = ""
						else
							kp.tempCode = kp.tempCode..i
						end
					end
				end
			end
		end
	end
end)

hook.Add( "HUDPaint", "KeypadPasswords", function()
	local e = LocalPlayer():GetEyeTrace().Entity
	if IsValid(e) and string.find(e:GetClass(), "keypad") then
		local text = e.code or "Not Found"
		draw.WordBox( 8, ScrW() / 2, ScrH() / 2, text, "Default", Color(50,50,75,100), Color(255,255,255,255) )
	end
	
	for k,v in pairs(ents.GetAll()) do
		if IsValid(v) then
			if string.find(v:GetClass(), "keypad") then
				if v != e then
					local pos = v:GetPos():ToScreen()
					if IsValid(v) and v.code then
						draw[dot]RoundedBox( 4, pos.x-5, pos.y-5, 20, 20, Color( 0, 255, 0, 150 ) )
					else
						draw[dot]RoundedBox( 4, pos.x-5, pos.y-5, 20, 20, Color( 255, 0, 0, 150 ) )
					end
				end
			end
		end
	end
end)
Known Bugs -
Sometimes a code will be shown with an extra number in front of it. - Fixable, but I'm not worried about it because it doesn't happen too often.

If two people are looking at the same keypad while a code is being input the received code will be messed up. It's not a huge issue because both players have to be pretty close to the keypad. - Unfixable with my current method of getting codes.

If a keypad is updated their code will still be perceived being known, even though it isn't. Yet it will still get changed if someone uses it correctly again. - Probably fixable, I need to look at how the tool gun is working.

If a code is input really fast it wont be received correctly. Usually this isn't an issue but it can be. - Unfixable with my current method of getting codes.
Thats amazing ! Good job!
So, you made this on your own?
Quote Originally Posted by Gray View Post
So, you made this on your own?
Yes. Although i copied a bit of the keypad entities code for actually determining what key is being looked at.
Well darkrp is fucked LOLOLOOLOLOLOLL. <3 Nice work.
If you've got the time and possibility I suggest you make a video of it in action.
Ok time for the destruction of Darkrp thnx man +rep if they have rep

---------- Post added at 09:57 PM ---------- Previous post was at 09:54 PM ----------

I used this and got instant perm banned on a server

---------- Post added at 10:08 PM ---------- Previous post was at 09:57 PM ----------

It doesnt work. on Darkrp servers
Quote Originally Posted by Ikie34 View Post
Ok time for the destruction of Darkrp thnx man +rep if they have rep

---------- Post added at 09:57 PM ---------- Previous post was at 09:54 PM ----------

I used this and got instant perm banned on a server

---------- Post added at 10:08 PM ---------- Previous post was at 09:57 PM ----------

It doesnt work. on Darkrp servers

Can vouch, doesn't work on DarkRP Servers.
What server did it not work on? Ill check it out.

I've only tested this on one server so far and it worked fine for me.
Quote Originally Posted by Atheon View Post
What server did it not work on? Ill check it out.

I've only tested this on one server so far and it worked fine for me.

Loads of other scripts work on the server. Just not the one I've been playing on. Doesn't work on Modified Dark-RP Didn't test any other servers.
It should work. The server probably had an anti-cheat.
Thank you. So much. So, so much.
How do I use this? put it in a text doc and save as what?
Code:
if IsValid(v) and v.code then
    drawRoundedBox( 4, pos.x-5, pos.y-5, 20, 20, Color( 0, 255, 0, 150 ) )
else
    drawRoundedBox( 4, pos.x-5, pos.y-5, 20, 20, Color( 255, 0, 0, 150 ) )
end
Shouldn't drawRoundedBox be
Code:
draw[DOT]roundedbox
Also, I get the error:

attempt to call method 'GetDisplayText' (a nil value)
When I do it, it hides my hud in DarkRP, please message me back for the solution.
Posts 115 of 42 · Page 1 of 3
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?