honeyphos1234

E2 keypad hacker

Nov 11th, 2015
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.47 KB | None | 0 0
  1. @name Keypad Hacker
  2. @persist Keypads:array Codes:array OwnerUse:array CO:entity Display
  3. @trigger all
  4. if(first()){
  5.     entity():setColor(0,0,0,255)
  6.     Display = 1
  7.     CO = entity():owner()
  8.     runOnTick(1)
  9.     runOnChat(1)
  10.     Scan = 1
  11.     timer("ReScan",60000)
  12. }
  13. A = 1
  14. while(A <= Keypads:count()){
  15.     Owner = Keypads:entity(A):owner()
  16.     Keypad = Keypads[A,entity]
  17.     Down = OwnerUse[A,number]
  18.     Pressed = Owner:keyUse()
  19.     if(CO:keyAttack2() & Display & CO:shootPos():distance(Keypad:pos()) <= 100 & CO:aimEntity() == Keypad){
  20.         Code = Codes[A,number]
  21.         if(Code - 50000 > 0){hint("The code is: " + (Code - 50000) +". Enjoy!",5)}
  22.         else{hint("No Code Entered. Try Again Later!",3)}
  23.         Display = 0
  24.     }
  25.     elseif(!CO:keyAttack2() & !Display){Display = 1}
  26.     if(!Down & Pressed){
  27.         if(Keypad != noentity()){
  28.             if(Owner:shootPos():distance(Keypad:pos()) < 32 & Owner:aimEntity() == Keypad){
  29.                 Code = Codes[A,number]
  30.                 #Find Button Pressed
  31.                 KPPL = Keypad:toLocal(Keypad:owner():aimPos()):rotate(ang())
  32.                 #Line 1
  33.                 if(inrange(KPPL:z(),-1.3,0)){
  34.                     #Col 1
  35.                     if(inrange(KPPL:y(),-2.2, -0.95)){Number = 1}
  36.                     #Col 2
  37.                     elseif(inrange(KPPL:y(),-0.6, 0.65)){Number = 2}
  38.                     #Col 3
  39.                     elseif(inrange(KPPL:y(),1, 2.25)){Number = 3}
  40.                 }
  41.                 #Line 2
  42.                 elseif(inrange(KPPL:z(),-2.9,-1.6)){
  43.                     #Col 1
  44.                     if(inrange(KPPL:y(),-2.2 ,-0.95)){Number = 4}
  45.                     #Col 2
  46.                     elseif(inrange(KPPL:y(),-0.6, 0.65)){Number = 5}
  47.                     #Col 3
  48.                     elseif(inrange(KPPL:y(),1, 2.25)){Number = 6}
  49.                 }
  50.                 #Line 3
  51.                 elseif(inrange(KPPL:z(),-4.45,-3.3)){
  52.                     #Col 1
  53.                     if(inrange(KPPL:y(),-2.2 ,-0.95)){Number = 7}
  54.                     #Col 2
  55.                     elseif(inrange(KPPL:y(),-0.6, 0.65)){Number = 8}
  56.                     #Col 3
  57.                     elseif(inrange(KPPL:y(),1, 2.25)){Number = 9}
  58.                 }
  59.                 elseif(inrange(KPPL:z(),0.3, 1.6)){
  60.                     #Abort
  61.                     if(inrange(KPPL:y(),-2.2, -0.15)){Number = 11}
  62.                     #Accept
  63.                     elseif(inrange(KPPL:y(),0.3, 2.25)){Number = 10}
  64.                 }
  65.                 if(Number){
  66.                     if(Number == 10 & Code < 10000){
  67.                             Code += 50000
  68.                             hint("Code entered: "+(Code - 50000),3)
  69.                     }
  70.                     elseif(Number == 11 & Code < 10000){Code = 0 hint("Code Canceled",3)}
  71.                     elseif(Code < 1000){
  72.                         Code *= 10
  73.                         Code += Number
  74.                         hint(""+Owner:name()+" Pressed: "+Number,3)
  75.                     }
  76.                     Codes[A,number] = Code
  77.                 }
  78.             }  
  79.         }
  80.         else{
  81.             hint("Keypad "+A+" has been removed",3)
  82.             Keypads:removeEntity(A)
  83.             Codes:removeNumber(A)
  84.         }
  85.         OwnerUse[A, number] = 1
  86.     }
  87.     elseif(Down & !Pressed){
  88.         OwnerUse[A,number] = 0
  89.     }
  90. A++
  91. }
  92.  
  93. if(chatClk(entity():owner())){
  94.     if(entity():owner():lastSaid() == "/reset"){
  95.         A = 1
  96.         CO = entity():owner()
  97.         while (A <= Keypads:count()){
  98.             Keypad = Keypads:entity(A)
  99.             if(CO:shootPos():distance(Keypad:pos()) <= 100 & CO:aimEntity() == Keypad){
  100.                 hint("Code Reset!",3)
  101.                 Codes[A,number] = 0
  102.             }
  103.             A++
  104.         }
  105.     }
  106.     if(CO:lastSaid() == "/scan"){
  107.         Scan = 1
  108.     }
  109. }
  110. if(clk("ReScan")){Scan = 1 timer("ReScan",60000)}
  111. if(Scan){
  112.     Keypads = array()
  113.     OwnerUse = array()
  114.     findByModel("models/props_lab/keypad.mdl")
  115.     findSortByDistance(entity():pos())
  116.     Keypads = findToArray()
  117.     hint("Scan complete! "+Keypads:count()+" Keypads found!",3)
  118.     while(Keypads:count()>13){
  119.         hint("Keypad removed due to gate restriction!",3)
  120.         Keypads:pop()
  121.     }
  122.     A = 1
  123.     while(A <= Keypads:count()){
  124.         print(""+A+": "+Keypads:entity(A):owner():name())
  125.         OwnerUse[A,number] = Keypads:entity(A):owner():keyUse()
  126.         A++
  127.     }
  128.     if(Keypads:count() > 0){
  129.         timer("ReDisplayCode",3000)
  130.     }
  131. }
Add Comment
Please, Sign In to add comment