123walla123 (05-29-2014),LennyPenny (05-20-2013)
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".
https://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 -
Known Bugs -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)
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.
Last edited by Atheon; 05-19-2013 at 07:54 AM.
123walla123 (05-29-2014),LennyPenny (05-20-2013)
So, you made this on your own?
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
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.
It should work. The server probably had an anti-cheat.
How do I use this? put it in a text doc and save as what?
Shouldn't drawRoundedBox beCode: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 ) ) endAlso, I get the error:Code:draw[DOT]roundedbox
attempt to call method 'GetDisplayText' (a nil value)
Last edited by canttouchthis123; 05-19-2013 at 01:56 AM.
When I do it, it hides my hud in DarkRP, please message me back for the solution.