Advertisement
Mangus875

precise steering v2

Feb 26th, 2025
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Requires AutoHotkey v2.0
  2. #SingleInstance
  3.  
  4. SetKeyDelay -1, 1
  5. A_HotkeyInterval := 0
  6. SendMode "input"
  7. CoordMode "tooltip", "screen"
  8.  
  9. keys := ["Numpad0", "2", "3", "4", "5"]
  10. ak1 := 0
  11. ak2 := 0
  12. lastAk := 0
  13.  
  14. sortAk() {
  15.     global
  16.     if (ak1 > ak2) {
  17.         temp := ak2
  18.         ak2 := ak1
  19.         ak1 := temp
  20.     }
  21. }
  22.  
  23. #R::reload
  24. #UseHook 1
  25.  
  26. *Numpad0:: {
  27.     global
  28.     set := 0
  29.     if (ak1 == 0) {
  30.         ak1 := 1
  31.         set := 1
  32.     } else if (ak2 == 0) {
  33.         ak2 := 1
  34.         set := 2
  35.         sortAk()
  36.     }
  37.    
  38.     lastAk := 1
  39.     Send "{Numpad0}"
  40.     KeyWait "Numpad0"
  41.    
  42.     Send "{5}"
  43.     lastAk := 0
  44.     if (set == 1) {
  45.         ak1 := 0
  46.     } else if (set == 2) {
  47.         ak2 := 0
  48.     }
  49. }
  50.  
  51. *2:: {
  52.     global
  53.     set := 0
  54.     if (ak1 == 0) {
  55.         ak1 := 2
  56.         set := 1
  57.     } else if (ak2 == 0) {
  58.         ak2 := 2
  59.         set := 2
  60.         sortAk()
  61.     }
  62.    
  63.     lastAk := 2
  64.     Send "{2}"
  65.     KeyWait "2"
  66.    
  67.     Send "{5}"
  68.     lastAk := 0
  69.     if (set == 1) {
  70.         ak1 := 0
  71.     } else if (set == 2) {
  72.         ak2 := 0
  73.     }
  74. }
  75. *3:: {
  76.     global
  77.     set := 0
  78.     if (ak1 == 0) {
  79.         ak1 := 3
  80.     } else if (ak2 == 0) {
  81.         ak2 := 3
  82.     }
  83.     set := sortAk()
  84.    
  85.     lastAk := 3
  86.     Send "{3}"
  87.     KeyWait "3"
  88.    
  89.     Send "{5}"
  90.     lastAk := 0
  91.     if (set == 1) {
  92.         ak1 := 0
  93.     } else if (set == 2) {
  94.         ak2 := 0
  95.     }
  96. }
  97. *4:: {
  98.     global
  99.     set := 0
  100.     if (ak1 == 0) {
  101.         ak1 := 4
  102.     } else if (ak2 == 0) {
  103.         ak2 := 4
  104.     }
  105.     set := sortAk()
  106.    
  107.     lastAk := 4
  108.     Send "{4}"
  109.     KeyWait "4"
  110.    
  111.     Send "{5}"
  112.     lastAk := 0
  113.     if (set == 1) {
  114.         ak1 := 0
  115.     } else if (set == 2) {
  116.         ak2 := 0
  117.     }
  118. }
  119. *5:: {
  120.     global
  121.     set := 0
  122.     if (ak1 == 0) {
  123.         ak1 := 5
  124.     } else if (ak2 == 0) {
  125.         ak2 := 5
  126.     }
  127.     set := sortAk()
  128.    
  129.     lastAk := 5
  130.     Send "{5}"
  131.     KeyWait "5"
  132.    
  133.     Send "{5}"
  134.     lastAk := 0
  135.     if (set == 1) {
  136.         ak1 := 0
  137.     } else if (set == 2) {
  138.         ak2 := 0
  139.     }
  140. }
  141.  
  142. *Left:: {
  143.     global
  144.     Send "{Left down}"
  145.     if (ak1 > 0 && lastAk != ak1) {
  146.         Send keys[ak1]
  147.     }
  148.     KeyWait "Left"
  149.     if (ak2 > 0) {
  150.         Send keys[ak2]
  151.     } else {
  152.         Send "{Left up}"
  153.     }
  154. }
  155.  
  156. *Right:: {
  157.     global
  158.     Send "{Right down}"
  159.     if (ak1 > 0 && lastAk != ak1) {
  160.         Send keys[ak1]
  161.     }
  162.     KeyWait "Left"
  163.     if (ak2 > 0) {
  164.         Send keys[ak2]
  165.     } else {
  166.         Send "{Right up}"
  167.     }
  168. }
  169.  
  170. setTimer(info, 50)
  171. info() {
  172.     tooltip "ak1: " ak1 "`nak2: " ak2, 10, 10
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement