Welcome Back! Please login below. If you are not yet a member, why not register? Enjoy!
We have now opened a new Build server! IP: 188.165.193.102:27016

    Keypad Hacker [E2]

    Share
    avatar
    Blizzard
    Wire Pro
    Wire Pro

    Number of posts : 334
    Age : 26
    Location : Switzerland
    In-Game Name : [BS] Blizzard

    Credits Credits :
    1 / 1001 / 100

    Warnings! Warnings! :
    0 / 100 / 10

    Registration date : 2008-11-23
    Points : 342
    Reputation : 14
    20091005

    Keypad Hacker [E2]

    Post by Blizzard



    Prologue:
    I swore to myself, that I'm never going to release my keypad hacker. People who made keypad hackers at the wiremod forums also never wanted to release this, because in the hands of a minge, you can do a lot of damage.
    I could keep my vow until someone in the wiremod forums posted a keypad hacker. I just couldn't believe it, that someone's that irresponsible. I made an answer where I stated, that it should be removed.
    The price for my encouragement was a 3 day ban. Reason: "Encouraging Censorship on the Wiremod Forums".
    I was really dissapointed.

    But well, now since it's already released, and minges can use it (Yeah!), I'm going to release mine as well.
    It's better than the one on the wiremod forums.

    It automaticly searches for persons that are next to a keypad and are entering a code. Via print() you will get the keypresses in your chatlog. Only you can read those messages. It will also tell you the whole code after the person pressed the OK button.
    The downside is, that it can only capture 1 person at time, but that should be enough.
    The code is not very clean coded (since I didn't plan to release it), but I think it's somewhat still readable Smile
    It was one of the hardest projects I had. It took me about 8-12 hours total I would say. The hardest part was the recognition of the player which is currently typing in the keypad, because I would have to do 2 find(), but you only can run one at time.

    The usage of it is simple, just spawn it, and wait for someone to enter something on a keypad.
    It works with all kinds of keypads, even the secure ones.

    I hope you can learn from it (like from all my expressions) and have fun with it. Please, handle it fair and don't abuse it like on rp servers or such.
    Code:

    @name Blizzard's Keypad Hacker
    @persist Token Code Index Players:array Keypad:array Player:entity LocalPressPos:vector KeyPadEnt:entity Count TempPlayer:entity TempAim:entity K1 K2 K3 K4 K5 K6 K7 K8 K9 Abort Enter Y Z Use
    @trigger all
    #by Blizzard
    runOnTick(1)
    if(first() | duped()) {
        hint("Keypad Hacker made by Blizzard",5)
        print("Blizzard's Keypad Hacker initialised. Only you can see these messages.")
    }
    if(findCanQuery()) {
        findByClass("Player")
        Players = findToArray()
        Count = Players:count()
    }
    if(Index <= Count) {
        Index++
        TempPlayer=Players[Index,entity]
        TempAim=TempPlayer:aimEntity()}
    else{Index = 0}
        if ((TempAim:type() == "sent_keypad" | (TempAim:type() == "sent_keypad_wire")) & (TempPlayer:shootPos():distance(TempAim:pos()) <= 80)) {
            TempPlayer=Players[Index,entity]
            TempAim=TempPlayer:aimEntity()
            Player = TempPlayer
            KeyPadEnt = TempAim
        }
    if(TempPlayer == Player & KeyPadEnt != TempAim) {Player = noentity()
                                                KeyPadEnt = noentity()
                                                Code = 0}
    Use = Player:keyUse()
    if(Use){
    LocalPressPos = KeyPadEnt:toLocal(Player:aimPos())
    }
    Y = LocalPressPos:y()
    Z = LocalPressPos:z()
    #detect keypresses
    K1 = ((Y >= -2.2 & Y <= -1) & (Z <= 0 & Z >= -1.4))
    K2 = ((Y >= -0.6 & Y <= 0.6) & (Z <= 0 & Z >= -1.4))
    K3 = ((Y >= 1.0 & Y <= 2.2) & (Z <= 0 & Z >= -1.4))
    K4 = ((Y >= -2.2 & Y <= -1) & (Z <= -1.6 & Z >= -2.9))
    K5 = ((Y >= -0.6 & Y <= 0.6) & (Z <= -1.6 & Z >= -2.9))
    K6 = ((Y >= 1.0 & Y <= 2.2) & (Z <= -1.6 & Z >= -2.9))
    K7 = ((Y >= -2.2 & Y <= -1) & (Z <= -3.3 & Z >= -4.6))
    K8 = ((Y >= -0.6 & Y <= 0.6) & (Z <= -3.3 & Z >= -4.6))
    K9 = ((Y >= 1.0 & Y <= 2.2) & (Z <= -3.3 & Z >= -4.6))
    Abort = ((Y >= -3.3 & Y <= 0.2) & (Z <= 1.6 & Z >= 0.4))
    Enter = ((Y >= 0.3 & Y <= 2.2) & (Z <= 1.6 & Z >= 0.4))
    if(K1 & Use & $Use != 0 & inrange(Code,1111,9999) == 0) {print(""+Player:name()+" pressed 1 on Keypad "+toString(KeyPadEnt:id())+"")
        Code = (Code*10)+1}
    if(K2 & Use & $Use != 0 & inrange(Code,1111,9999) == 0) {print(""+Player:name()+" pressed 2 on Keypad "+toString(KeyPadEnt:id())+"")
        Code = (Code*10)+2}
    if(K3 & Use & $Use != 0 & inrange(Code,1111,9999) == 0) {print(""+Player:name()+" pressed 3 on Keypad "+toString(KeyPadEnt:id())+"")
        Code = (Code*10)+3}
    if(K4 & Use & $Use != 0 & inrange(Code,1111,9999) == 0) {print(""+Player:name()+" pressed 4 on Keypad "+toString(KeyPadEnt:id())+"")
        Code = (Code*10)+4}
    if(K5 & Use & $Use != 0 & inrange(Code,1111,9999) == 0) {print(""+Player:name()+" pressed 5 on Keypad "+toString(KeyPadEnt:id())+"")
        Code = (Code*10)+5}
    if(K6 & Use & $Use != 0 & inrange(Code,1111,9999) == 0) {print(""+Player:name()+" pressed 6 on Keypad "+toString(KeyPadEnt:id())+"")
        Code = (Code*10)+6}
    if(K7 & Use & $Use != 0 & inrange(Code,1111,9999) == 0) {print(""+Player:name()+" pressed 7 on Keypad "+toString(KeyPadEnt:id())+"")
        Code = (Code*10)+7}
    if(K8 & Use & $Use != 0 & inrange(Code,1111,9999) == 0) {print(""+Player:name()+" pressed 8 on Keypad "+toString(KeyPadEnt:id())+"")
        Code = (Code*10)+8}
    if(K9 & Use & $Use != 0 & inrange(Code,1111,9999) == 0) {print(""+Player:name()+" pressed 9 on Keypad "+toString(KeyPadEnt:id())+"")
        Code = (Code*10)+9}
    if(Enter & $Use != 0 & Token == 0) {print(""+Player:name()+" entered the Code "+toString(Code)+" on Keypad "+toString(KeyPadEnt:id())+"")
        Code = 0
        Token = 1
    }
    if(Token == 1 & $Token != 0) {timer("delay",2000)}
    if(clk("delay")) {Token = 0}
    if(Abort & Use & $Use != 0) {print(""+Player:name()+" aborted on Keypad "+toString(KeyPadEnt:id())+"")
    Code = 0}
    if(Code != 0 & KeyPadEnt == noentity()) {print(""+Player:name()+" stopped entering on Keypad "+toString(KeyPadEnt:id())+"")
        Code = 0
    }


    _________________


    Share this post on: diggdeliciousredditstumbleuponslashdotyahoogooglelive

    avatar

    Post on Mon Oct 05, 2009 5:44 pm by HikariMisako

    This does ask for a more advanced security in forts,
    But it makes room for my evil plans pirat
    avatar

    Post on Mon Oct 05, 2009 5:57 pm by Bam

    Better option: A simple ranger, with an output of 'banuserid' Wink Self ownage xD
    avatar

    Post on Mon Oct 05, 2009 6:08 pm by Blizzard

    Bam wrote:Better option: A simple ranger, with an output of 'banuserid' Wink Self ownage xD

    if(Ranger) {findByClass("Player")
    concmd("say !ulx ban "+findClosest(entity():pos()):name()+" 0 Exploiting")
    }

    Will ban the person which is the closest to the e2, when a ranger gets passed by Very Happy
    avatar

    Post on Tue Oct 06, 2009 2:31 am by jakegadget

    Very nice. I like the auto finding of the target. I wrote one awhile ago where you had to manually choose the target via looking at their props and using a chat command. I guess i could update it with the new functions and such.

    Post  by Sponsored content


      Current date/time is Fri Jan 18, 2019 9:47 pm