SHARE
TWEET

title

a guest Jun 16th, 2019 54 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; ╔══════════════════════╦══════════════════════════════════════════════════════════════╗
  2. ; ║ ■ SaeScript 0.5.59 ■ ╠══════════════════════════════════════════════╡ ♦ ♦ ♦ ♦ ♦ ╞═══╣
  3. ; ╚══════════════════════╩══════════════════════════════════════════════════════════════╝
  4.  
  5.  
  6. #NoEnv
  7. #SingleInstance
  8. SetWorkingDir %A_ScriptDir%
  9. SetTitleMatchMode RegEx
  10. CoordMode mouse, screen
  11.  
  12. ; │ x Directives/Options - END x ├────────────────────┤ Ѻ │
  13.  
  14.  
  15.  
  16.  
  17. ; ╓───────────────┬──────────────────────────────────────────────────────╖
  18. ; ║ □ Variables □ ├──────────────────────────────────────────┤ ♦ ♦ ♦ ├───╢
  19. ; ╙───────────────┴──────────────────────────────────────────────────────╜
  20.  
  21.  
  22. GLOBAL gv_ResWidth := A_ScreenWidth
  23. GLOBAL gv_ResHeight := A_ScreenHeight
  24.  
  25. ; │ x Variables - END x ├─────────────────────────────┤ Ѻ │
  26.  
  27.  
  28.  
  29.  
  30. ; ╓───────────────┬──────────────────────────────────────────────────────╖
  31. ; ║ □ Functions □ ├──────────────────────────────────────────┤ ♦ ♦ ♦ ├───╢
  32. ; ╙───────────────┴──────────────────────────────────────────────────────╜
  33.  
  34.  
  35. ; :: Convert mouse-click coordinates from 1920x1080 to lower resolutions \\
  36. convertCoords(xCoords, yCoords)
  37. {
  38.     tempArray := []
  39.  
  40.     if (gv_resWidth = 1920) ; 1920x...
  41.     {
  42.         vConversionW := 1.0
  43.        
  44.         if (gv_resHeight = 1080) ; ...1080
  45.         {
  46.             vConversionH := 1.0
  47.         }
  48.         else
  49.         {
  50.             MsgBox Error detecting monitor resolution!`n`nSupported Resolutions: 1920x1080`, 1440x900`, 1366x768`, 1280x1024`, 1280x800`, 1024x768`n`nPress 'Ok' to exit the script...
  51.        
  52.             ExitApp
  53.         }
  54.     }
  55.     else if (gv_resWidth = 1440) ; 1440x...
  56.     {
  57.         vConversionW := 0.75
  58.        
  59.         if (gv_resHeight = 900) ; ...900
  60.         {
  61.             vConversionH := 0.83333
  62.         }
  63.         else
  64.         {
  65.             MsgBox Error detecting monitor resolution!`n`nSupported Resolutions: 1920x1080`, 1440x900`, 1366x768`, 1280x1024`, 1280x800`, 1024x768`n`nPress 'Ok' to exit the script...
  66.        
  67.             ExitApp
  68.         }
  69.    
  70.     }
  71.     else if (gv_resWidth = 1366) ; 1366x...
  72.     {
  73.         vConversionW := 0.71146
  74.        
  75.         if (gv_resHeight = 768) ; ...768
  76.         {
  77.             vConversionH := 0.71111
  78.         }
  79.         else
  80.         {
  81.             MsgBox Error detecting monitor resolution!`n`nSupported Resolutions: 1920x1080`, 1440x900`, 1366x768`, 1280x1024`, 1280x800`, 1024x768`n`nPress 'Ok' to exit the script...
  82.        
  83.             ExitApp
  84.         }
  85.     }
  86.     else if (gv_resWidth = 1280) ; 1280x...
  87.     {
  88.         vConversionW := 0.66667
  89.        
  90.         if (gv_resHeight = 1024) ; ...1024
  91.         {
  92.             vConversionH := 0.91845
  93.         }
  94.         else if (gv_resHeight = 800) ; ...800
  95.         {
  96.             vConversionH := 0.74074
  97.         }
  98.         else
  99.         {
  100.             MsgBox Error detecting monitor resolution!`n`nSupported Resolutions: 1920x1080`, 1440x900`, 1366x768`, 1280x1024`, 1280x800`, 1024x768`n`nPress 'Ok' to exit the script...
  101.        
  102.             ExitApp
  103.         }
  104.     }
  105.     else if (gv_resWidth = 1024) ; 1024x...
  106.     {
  107.         vConversionW := 0.53333
  108.        
  109.         if (gv_resHeight = 768) ; ...768
  110.         {
  111.             vConversionH := 0.71111
  112.         }
  113.         else
  114.         {
  115.             MsgBox Error detecting monitor resolution!`n`nSupported Resolutions: 1920x1080`, 1440x900`, 1366x768`, 1280x1024`, 1280x800`, 1024x768`n`nPress 'Ok' to exit the script...
  116.        
  117.             ExitApp
  118.         }
  119.     }
  120.     else
  121.     {
  122.         MsgBox Error detecting monitor resolution!`n`nSupported Resolutions: 1920x1080`, 1440x900`, 1366x768`, 1280x1024`, 1280x800`, 1024x768`n`nPress 'Ok' to exit the script...
  123.        
  124.         ExitApp
  125.     }
  126.    
  127.     tempArray.push((xCoords*vConversionW), (yCoords*vConversionH))
  128.    
  129.     return tempArray
  130. }
  131.  
  132. clickConvertedCoords(xCoord, yCoord)
  133. {
  134.     coordsArray := convertCoords(xCoord, yCoord)
  135.  
  136.     MouseClick % left, coordsArray[1], coordsArray[2]
  137.    
  138.     sleep 1000
  139.    
  140.     return
  141. }
  142.  
  143. ; :: Checks to see if a battle is still on-going (using the 'X' in the battle speed button as a reference) \\
  144. inMatchCheck(uTimeOne, uTimeTwo)
  145. {
  146.     coordsArray := convertCoords(1670, 935)
  147.     coordsArrayTwo := convertCoords(950, 820)
  148.     checkCounter := 0
  149.    
  150.     while (checkCounter < 5)
  151.     {
  152.         PixelGetColor vPixelSearch, % coordsArray[1], coordsArray[2]
  153.    
  154.         if (vPixelSearch == "0xE7FFFF")
  155.         {
  156.             checkCounter := 0
  157.        
  158.             sleep %uTimeOne%
  159.         }
  160.         else if (vPixelSearch != "0xE7FFFF")
  161.         {
  162.             checkCounter += 1
  163.            
  164.             sleep %uTimeTwo%
  165.         }
  166.         else
  167.         {
  168.             checkCounter := 7
  169.         }
  170.     }
  171.    
  172.     if (checkCounter >= 5)
  173.     {
  174.         PixelGetColor vPixelSearchTwo, % coordsArrayTwo[1], coordsArrayTwo[2]
  175.        
  176.         if (vPixelSearchTwo = "0x8FA3AB")
  177.         {
  178.             MouseClick % left, coordsArrayTwo[1], coordsArrayTwo[2]
  179.            
  180.             sleep 500
  181.            
  182.             clickConvertedCoords(315, 95)
  183.            
  184.             sleep 1000
  185.            
  186.             return
  187.         }
  188.         else
  189.         {
  190.             MsgBox Error recognizing current menu location`n`nPress 'Ok' to exit the script...
  191.            
  192.             ExitApp
  193.         }
  194.     }
  195.    
  196.     return
  197. }
  198.  
  199. QuitScriptGUI()
  200. {
  201.     Gui new, +AlwaysOnTop +Disabled -SysMenu +Owner, SaeScript
  202.     Gui add, text, R3.5 Center, SaeScript is currently running...`n`nPress Control+Alt+0 to exit.
  203.     Gui show, autosize center NoActivate, SaeScript
  204.     return
  205. }
  206.    
  207.    
  208.  
  209. ; │ x Functions - END x ├─────────────────────────────┤ Ѻ │
  210.  
  211.  
  212.  
  213.  
  214. ; ╓──────────┬───────────────────────────────────────────────────────────╖
  215. ; ║ □ Main □ ├───────────────────────────────────────────────┤ ♦ ♦ ♦ ├───╢
  216. ; ╙──────────┴───────────────────────────────────────────────────────────╜
  217.  
  218.  
  219. MainFunction(uArenaType, uTimeOne, uTimeTwo, uRecharge)
  220. {
  221.     timeOne := uTimeOne * 1000
  222.     timeTwo := uTimeTwo * 1000
  223.     rechargeTime := uRecharge * 60000
  224.     STATIC firstPass
  225.     STATIC arenaSwitchFlag
  226.  
  227.     clickConvertedCoords(1350, 865) ; Click 'Match'
  228.    
  229.     sleep 500
  230.    
  231.     if (firstPass == "")
  232.     {
  233.         if (uArenaType == 1)
  234.         {
  235.             arenaSwitchFlag := 1
  236.             firstPass += 1
  237.         }
  238.         else if (uArenaType > 1)
  239.         {
  240.             arenaSwitchFlag := 0
  241.             firstPass += 1
  242.         }
  243.         else
  244.         {
  245.             MsgBox Error 234! OK to exit script...
  246.            
  247.             ExitApp
  248.         }
  249.     }
  250.    
  251.     if (arenaSwitchFlag == 1)
  252.     {
  253.         if (uArenaType == 1 || uArenaType == 2)
  254.         {
  255.             arenaType := 3
  256.         }
  257.         else if (uArenaType == 3)
  258.         {
  259.             arenaType := 1
  260.         }
  261.         else
  262.         {
  263.             MsgBox Error 260! OK to exit script...
  264.            
  265.             ExitApp
  266.         }
  267.     }
  268.     else if (arenaSwitchFlag == 0)
  269.     {
  270.         arenaType := uArenaType
  271.     }
  272.     else
  273.     {
  274.         MsgBox Error 271! `'arenaSwitchFlag`' variable issue! OK to exit script...
  275.            
  276.         ExitApp
  277.     }
  278.    
  279.     if (uArenaType == 1 || uArenaType == 2)
  280.     {
  281.         clickConvertedCoords(440, 335) ; Click Normal Arena
  282.     }
  283.     else if (uArenaType == 3)
  284.     {
  285.         clickConvertedCoords(1480, 335) ; Click Novice Arena
  286.     }
  287.     else
  288.     {
  289.         MsgBox Error 286! OK to exit script...
  290.            
  291.         ExitApp
  292.     }
  293.    
  294.     sleep 2000
  295.    
  296.     clickConvertedCoords(1130, 875) ; Click 'Repeat Battle'
  297.    
  298.     sleep 500
  299.    
  300.     clickConvertedCoords(955, 855) ; Click 'Start' on Repeat Battle
  301.    
  302.     sleep 2000
  303.    
  304.     inMatchCheck(timeOne, timeTwo)
  305.    
  306.     sleep %rechargeTime%
  307.            
  308.     MainFunction(arenaType, uTimeOne, uTimeTwo, uRecharge)
  309.    
  310.     return
  311. }
  312.  
  313. ; │ x Main - END x ├──────────────────────────────────┤ Ѻ │
  314.  
  315.  
  316.  
  317.  
  318. ; ╓───────────────┬──────────────────────────────────────────────────────╖
  319. ; ║ □ GUI/Start □ ├──────────────────────────────────────────┤ ♦ ♦ ♦ ├───╢
  320. ; ╙───────────────┴──────────────────────────────────────────────────────╜
  321.  
  322.  
  323. ShittyCode:
  324.     Gui new,, SaeScript 0.5.59
  325.     Gui add, text, W200 R6 X15 Y15 Center, Instructions: Maximize the BlueStacks window and go to the Brown Dust home screen before starting.
  326.     Gui add, text, R1 W200 YP+70 Left, Arena Type(s):
  327.     Gui add, DropDownList, WP Choose1 AltSubmit vArenaTypeSelection, Normal `+ Novice Arena|Normal Arena|Novice Arena
  328.     Gui add, text, R1 WP YP+35 Left, 1st Check Interval (s)
  329.     Gui add, edit, Number WP vTimeCheckOne, 30
  330.     Gui add, text, R1 WP YP+35 Left, 2nd Check Interval (s)
  331.     Gui add, edit, Number WP vTimeCheckTwo, 10
  332.     Gui add, text, R1 WP YP+35 Left, Wait Between Arena (m)
  333.     Gui add, edit, Number WP vRechargeTime, 15
  334.     Gui add, button, W75 XP+10 YP+50 default, Start
  335.     Gui add, button, WP XP+100, Quit
  336.     Gui show, autosize center
  337.     return
  338.    
  339.     ButtonStart:
  340.     Gui, Submit
  341.     If WinExist("BlueStacks")
  342.     {
  343.         Gui Destroy
  344.            
  345.         WinActivate BlueStacks
  346.            
  347.         sleep 500
  348.            
  349.         QuitScriptGUI()
  350.         MainFunction(ArenaTypeSelection, TimeCheckOne, TimeCheckTwo, RechargeTime)
  351.     }
  352.     else
  353.     {
  354.         MsgBox Error BlueStacks window cannot be found!`n`nPress 'Ok' to exit the script...
  355.            
  356.         ExitApp
  357.     }
  358.     Return
  359.    
  360.     ButtonQuit:
  361.     ExitApp
  362.    
  363.     GuiClose:
  364.     MsgBox, 4, Exiting Script, Are you sure you want to close SaeScript?
  365.     ifmsgbox Yes
  366.     {
  367.         ExitApp
  368.     }
  369.     else
  370.     {
  371.         Gui Destroy
  372.         goto ShittyCode
  373.     }
  374.  
  375. ^!0::
  376. {
  377.     ExitApp
  378. }
  379.  
  380. ; │ x GUI/Start - END x ├──────────────────────────────────┤ Ѻ │
  381.  
  382.        
  383.  
  384.  
  385. ; ╔══════════════════════════════╦══════════════════════════════════════════════════════╗
  386. ; ║ ■ END OF: SaeScript 0.5.59 ■ ╠══════════════════════════════════════╡ ♦ ♦ ♦ ♦ ♦ ╞═══╣
  387. ; ╚══════════════════════════════╩══════════════════════════════════════════════════════╝
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top