lyrical

Untitled

Oct 10th, 2016
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; ---------------------------------------
  2. ; Dragon's Dogma Online - Sorc TAS
  3. ; ---------------------------------------
  4. #NoEnv
  5. #IfWinActive Dragon's Dogma Online
  6. #InstallKeybdHook
  7. #SingleInstance Force
  8. SendMode Event
  9.  
  10. global SpellExecution := 0
  11. global MeteorFallProgress := 0
  12. ; ---------------------------------------
  13. ; Breakout
  14. ;   Because this script has lots of
  15. ;   long-running input blocking functions,
  16. ;   we want to be able to abort.
  17. ; ---------------------------------------
  18. $*Space::
  19.     if (SpellExecution == 1) {
  20.         Loop, 2
  21.         {
  22.             SendInput {Space Down}
  23.             SendInput {Space Up}
  24.         }
  25.         ReloadScript()
  26.     } else {
  27.         SendInput {Space down}
  28.         KeyWait, Space
  29.         SendInput {Space up}
  30.     }
  31. return
  32.  
  33. $*Space UP::HotKey, $*Space, On
  34. XButton1::ReloadScript()
  35. F4::Suspend
  36. ; ---------------------------------------
  37. ; Keys
  38. ; ---------------------------------------
  39. $*1::MeteorFall("$*1")
  40.  
  41. $*1 UP::Hotkey, $*1, On
  42. $*2 UP::Hotkey, $*2, On
  43. ; ---------------------------------------
  44. ; Key Functions
  45. ; ---------------------------------------
  46. MeteorFall(key)
  47. {
  48.     if (MeteorFallProgress == 0) {
  49.         MeteorFall0(key)
  50.     } else if (MeteorFallProgress == 1) {
  51.         MeteorFall1()
  52.     } else if (MeteorFallProgress == 2) {
  53.         MeteorFall2()
  54.     } else if (MeteorFallProgress == 3) {
  55.         MeteorFall3()
  56.     } else {
  57.         MeteorFallProgress := 0
  58.     }
  59.     return
  60. }
  61.  
  62. MeteorFall0(key)
  63. {
  64.     CastSpell(3)
  65.     SpellInit(key)
  66.     DDON_MM(0, -8)
  67.     DDON_MM(0, 8)
  68.     DDON_MM(8, 0)
  69.     DDON_MM(-8, -6)
  70.     DDON_MM(0, 8)
  71.     DDON_MM(8, -4)
  72.     DDON_MM(-8, 0)
  73.     DDON_MM(0, 8)
  74.     DDON_MM(1, -8)
  75.     DDON_MM(-8, -4)
  76.     DDON_MM(0, -8)
  77.     DDON_MM(1, 8)
  78.     DDON_MM(1, -8)
  79.     Loop, 2 ; weird broken shit
  80.     {
  81.         DDON_MM(0, 8)
  82.         DDON_MM(8, -4)
  83.     }
  84.     MeteorFallProgress := 1
  85.     return
  86. }
  87.  
  88. MeteorFall1()
  89. {
  90.     if (MeteorFallProgress == 1) {
  91.         DDON_MM(-2, -8)
  92.         DDON_MM(0, 8)
  93.         DDON_MM(8, -2)
  94.         DDON_MM(8, -8)
  95.         DDON_MM(4, 8)
  96.         DDON_MM(-8, 2)
  97.         DDON_MM(2, -8)
  98.         DDON_MM(8, -8)
  99.         DDON_MM(-8, -8)
  100.         DDON_MM(-2, 8)
  101.         DDON_MM(2, 8)
  102.         DDON_MM(2, -8)
  103.         DDON_MM(0, 8)
  104.         DDON_MM(8, 0)
  105.         MeteorFallProgress := 2
  106.         return
  107.     }
  108. }
  109.  
  110. MeteorFall2()
  111. {
  112.     If (MeteorFallProgress == 2) {
  113.         DDON_MM(-8, 2)
  114.         DDON_MM(8, -4)
  115.         DDON_MM(-8, 2)
  116.         DDON_MM(0,-8)
  117.         DDON_MM(8, 4)
  118.         DDON_MM(8, 0)
  119.         DDON_MM(-8, -4)
  120.         DDON_MM(8, -6)
  121.         DDON_MM(-8, 0)
  122.         DDON_MM(8, 2)
  123.         DDON_MM(2, 8)
  124.         DDON_MM(8, -4)
  125.         DDON_MM(-8, 2)
  126.         DDON_MM(8, 4)
  127.         DDON_MM(8, -4)
  128.         DDON_MM(0, -8)
  129.         DDON_MM(0, 8)
  130.         DDON_MM(0, -8)
  131.         DDON_MM(-8, 0)
  132.         DDON_MM(8, 0)
  133.         DDON_MM(8, 4)
  134.         DDON_MM(-8, 4)
  135.         DDON_MM(-8, -4)
  136.         DDON_MM(8, -4)
  137.         DDON_MM(-8, 4)
  138.         DDON_MM(8, 4)
  139.         DDON_MM(8, -8)
  140.         DDON_MM(-2, -8)
  141.         DDON_MM(-8, -2)
  142.         DDON_MM(8, 0)
  143.         DDON_MM(-8, 2)
  144.         DDON_MM(0, 8)
  145.         DDON_MM(2, -8)
  146.         DDON_MM(8, -6)
  147.         DDON_MM(-8, -6)
  148.         DDON_MM(-2, 8)
  149.         DDON_MM(2, 8)
  150.         DDON_MM(-2, -8)
  151.         DDON_MM(2, -8)
  152.         DDON_MM(-8, 0)
  153.         DDON_MM(0, 8)
  154.         DDON_MM(8, -2)
  155.         DDON_MM(2, -8)
  156.         DDON_MM(8, -6)
  157.         DDON_MM(-8, -6)
  158.         DDON_MM(-2, 8)
  159.         DDON_MM(2, 8)
  160.         DDON_MM(-8, 2)
  161.         DDON_MM(8, 8)
  162.         DDON_MM(8, -8)
  163.         DDON_MM(0, -8)
  164.         DDON_MM(0, 8)
  165.         DDON_MM(0, -8)
  166.         DDON_MM(2, -8)
  167.         DDON_MM(-8, -8)
  168.         DDON_MM(8, 0)
  169.         DDON_MM(-8, 0)
  170.         DDON_MM(8, 6)
  171.         DDON_MM(-8, 6)
  172.         DDON_MM(-8, -4)
  173.         DDON_MM(0, -8)
  174.         DDON_MM(4, -8)
  175.         MeteorFallProgress := 3
  176.         return
  177.     }
  178. }
  179.  
  180. MeteorFall3()
  181. {
  182.     if (MeteorFallProgress == 3)
  183.     {
  184.         DDON_MM(4, -8)
  185.         MeteorFallProgress := 0
  186.         SpellCleanup()
  187.     }
  188. }
  189.  
  190. Frigor(key)
  191. {
  192.     SpellInit(key)
  193.     DDON_MM(-8, -8)
  194.     DDON_MM(8, -8)
  195.     DDON_MM(8, 4)
  196.     DDON_MM(-8, -8)
  197.     DDON_MM(0, 8)
  198.     SpellCleanup()
  199.     return
  200. }
  201.  
  202. ; ---------------------------------------
  203. ; Other Functions
  204. ; ---------------------------------------
  205. SpellInit(key)
  206. {
  207.     SpellExecution := 1
  208.     Hotkey, %key%, Off
  209.     Sleep 100
  210.     SendInput {MButton Down}
  211.     Sleep 1
  212.     SendInput {MButton Up}
  213.     Sleep 100
  214.     BlockInput, MouseMove
  215.     return
  216. }
  217.  
  218. SpellCleanup()
  219. {
  220.     BlockInput, MouseMoveOff
  221.     SpellExecution := 0
  222.     return
  223. }
  224.  
  225. SpellTransition()
  226. {
  227.     Loop, 2
  228.     {
  229.         SendInput {MButton down}
  230.         Sleep 1
  231.         SendInput {Mbutton up}
  232.         Sleep 1
  233.     }
  234. }
  235.  
  236. CastSpell(slot)
  237. {
  238.     if (slot == 3) {
  239.         SendInput {LCtrl Down}
  240.         Sleep 1
  241.         SendInput {LButton Down}
  242.         Sleep 1
  243.         SendInput {LButton Up}
  244.         Sleep 1
  245.         SendInput {LCtrl Up}
  246.         Sleep 1
  247.     }
  248. }
  249. ; Kept missing input delta, this is the solution...
  250. DDON_MM(x, y, delay:=1, speed:=0)
  251. {
  252.     Loop, 5
  253.     {
  254.         MouseMove, %x%, %y%, %speed%, R
  255.         Sleep %delay%
  256.     }
  257.     return
  258. }
  259.  
  260. ReloadScript() {
  261.     Run %A_AhkPath% "C:\Users\ckx\Desktop\test.ahk"
  262.     ExitApp
  263. }
Advertisement
Add Comment
Please, Sign In to add comment