Sunday

Automated Garrison Ressources Farming in Spires of Arak





Your gonna "farm" the Crate of Stolen Resources - Item - World of Warcraft.

What you need:
  • Selected the Smuggling Run as Outpost in Spires of Arak
  • Some Automation/Marko-Software like LogitechGamingSoftware or the Razer Synapse

Stand in front of a Wall and make a Macro like this in the Software from your Keyboard or Mouse:

1) Key you've put your Smuggling Run! - Spell - World of Warcraft on.

2) WoW Macro:
/tar Honest Jim
3) Just the key you selected for Interaction

(You can find it under Targetfunctions in the KeyboardSettings in WoW, Default is F7 i think)
4) WoW Macro:
/run SelectGossipOption(1)
5)WoW Macro:
/run for i=1,GetMerchantNumItems() do local l=GetMerchantItemLink(i) if l then if l:find("Crate of Stolen Resources") then BuyMerchantItem(i, 1)end end end
6) WoW Macro:
/use Crate of Stolen Resources
7) Set a waitingtime of 10 minutes

You just let this run over and over and wait for your Resources to come in while your sleeping.



Here is an AutoItScript:

Code:
;
; Automated Garrison Resource Farming
; @Author: Sklug 

 
; Beginning of WOW Window Detection for Key Sending
 Sleep 1000
 IfWinNotExist, World of Warcraft  ; Disables program if Warcraft Not Detected
 {
  SplashTextOn, 320, , No Warcraft Instance Detected.   Shutting Down
  Sleep 4000
  SplashTextOff
  ExitApp  
 }
 ; WinGet returns all instances of World of Warcraft into a List, id1, id2, etc...
 WinGet, id, list, World of Warcraft
 count:= 0
 Loop, %id%
 {
  count++
 }
 If (count > 1) ; If more than one WOW window is open
 {
  SplashTextOn, 200, , Multiple Warcraft Instances Detected!
  Loop %count%   ; This loop minimizes all WOW windows for easier selection
  {
   window := id%A_Index%
   WinMinimize, ahk_id %window%
  }
  Sleep 2000
  SplashTextOff
  Loop %count% ; This activates each window one by one until the correct one is selected
  {
   window2 := id%a_index%
   WinActivate, ahk_id %window2%
   Sleep 250
   MsgBox, 4,, Is This the Desired WOW Instance to Send Commands? (Press Yes or No)
   IfMsgBox Yes
   {
    idMain = %window2%
    break
   }
   else
   {
    WinMinimize, ahk_id %window2%
   }
  }
 }
 else
 {
  idMain = %id1%
  WinActivate, ahk_id %idMain%
 }
; End of Multi-Window Identification.
 
 
; Global Variables
  
 ; Misc Record Keeping Variable
 timeLeft :=  ; For managing more exact timing on the 10 min delay

 ; Installing Picture and Sound File for GUI
 FileInstall, Sklug.gif,Sklug.gif, 1
 
 
 
; End of Global Variable Decelerations
 
 
; All the Functions of Program to be Called upon 

 ; Function "Rand(Float,Float);
 ; Custom Random number generator to actually make a random number.  This is good for rand timer on
 ; Keyboard input to mimic human behaviour.  The reason this is necessary is
 ; because computers aren't really random.  They fool you into thinking it is random
 ; by using a complex math equations usually based off the date down to the millisecond 
 ; to create a "seed" behind the scenes to bounce the randomization algorithm off of.
 ; However, if the seed never changes, like a random number generator within a loop,
 ; the number never changes.  This solves that issue in a unique way.
 Rand( a=0.0, b=1 ) 
 {
  IfEqual,a,,Random,,% r := b = 1 ? Rand(0,0xFFFFFFFF) : b
  Else Random,r,a,b
  Return r
 }
 
 ; Function "SleepTimer(String)"
 ; Calculates the 2 different delays... the random input timer when withdrawing the resources
 ; and the 10 minute(ish) delay between next resource loot
 SleepTimer(timerName)
 {
  ; Need to call global variable from within the function before
  ; I can use those numbers.  I can declare a new variable here, but if I wish to expand this program further
  ; I am just keeping it consistent.
  global sleepTimerDelay

  ; Setting the SleepTimer delays for inbetween various functions
  If (timerName = "randomized")
  {
   sleepTimerRandom := Rand(2450,3500) ; Randomized Delay between actions.
   sleep, %sleepTimerRandom% ;
  }
  else
  {
   sleep, 2000 ;  negligible time will not be used.
  }
 }
 
 ; Function MainAlgorithm()
 ; This takes all the tools created and puts them together into a sequence of steps that get the
 ; 10 minute job done.  The looping will be handled at the end of the GUI
 MainAlgorithm()
 {
  global timeLeft
  global idMain
  
  ControlSend,, 1, ahk_id %idMain%   ; "Smuggling Run!" spell (place it on action bar position 1)
  timerCount := A_TickCount      ; This will be keeping track of elapsed time to subtract from the 10 minute timer.
  SleepTimer("randomized")
  ControlSend,, 2, ahk_id %idMain%   ; Macro on Key 2, " /tar Honest Jim "
  sleep, 1000
  ControlSend,, {F7}, ahk_id %idMain%   ; Character interact Key is usually F7
  SleepTimer("randomized")
  ControlSend,, 3, ahk_id %idMain%   ; macro on Key Position 3, " /run SelectGossipOption(1) "
  SleepTimer("randomized")  
  ControlSend,, 4, ahk_id %idMain%   ; macro on Key Position 4, Check Ownedcore Post for the long macro.
  SleepTimer("randomized") 
  ControlSend,, 5, ahk_id %idMain%   ; macro on Key Position 5, " /use Crate of Stolen Resources "
  
  elapsedTime := (A_TickCount - timerCount) ; This keeps track of the elapsed time so random timers can be added for more exact timing on 10 minutes.
  timeLeft := (600000 - elapsedTime) + 5000 ; 600k ms = 600 seconds = 10 minutes -- the extra 5 seconds added is just a slight error cushion.
 }


 ; Function GarrisonFarmingGUI()
 ; The purpose of this is to put the GUI into function form to be easily called to and rebuilt as necessary
 ; with a simple "Return" call, thus I don't need to "Reload" the whole program inefficiently, just this function.
 GarrisonFarmingGUI()
 {

  global timeLeft
  
  
  Gui, Add, Tab, x-8 y-1 w520 h280 +center, Automated Garrison Resources|The Power Tool
  Gui, Tab, Automated Garrison Resources
  Gui, Font, S8 CDefault, Verdana
  Gui, Add, Text, x52 y109 w390 h20 cRed +Center, Inspired By "Horst" at Ownedcore.com

  Gui, Font, S12 Bold, Verdana
  Gui, Add, Text, x52 y79 w390 h20 +Center, Version 1.0
  Gui, Font, S18 W700, Verdana
  Gui, Add, Text, x52 y39 w390 h30 cTeal +Center, Garrison Resources
  Gui, Add, Picture, x92 y159 w330 h110 , Sklug.gif
  Gui, Font, S8 CDefault, Verdana
  Gui, Add, Text, x62 y139 w150 h20 , Created By:
  
  Gui, Tab, The Power Tool
  Gui, Add, Button, x152 y99 w200 h120 , BEGIN
  Gui, Font, S11 Bold, Verdana
  Gui, Add, Text, x62 y39 w390 h40 cRed +Center, Press 'F10' at Any Time to Reset Program or 'Pause' to pause
  
  Gui, Show, x127 y87 h277 w510, Automated Garrison Resources
  Return
  
  ; Actions to be taken after BEGIN button is pressed.
  ButtonBEGIN:
   Gui, submit, NoHide
  
   SplashTextOn, 450, , "Interact with Target" Keybind Must Be F7 -- Pause Now if Needed
   Sleep 3500
   SplashTextOff
   Loop
   {
    MainAlgorithm()
    sleep, %timeLeft%
   }
    
  GuiClose:
  ExitApp

 }
 ; End GUI Function
 
 ;Enabling GUI
 GarrisonFarmingGUI()
 

 ; Hotkeys
 Pause::Pause   ; Just Pauses the Script, does not interrupt
 $F10:: Reload ; Reloads whole program
 ^q::ExitApp ; Completely Exits program at any time




 

SWTOR: Strategies

Diablo III news and guides

RIFT Guides | World of Rift

Master of World of Warcraft © 2006-2016
This site and the products and services offered on this site are not associated, affiliated, endorsed, or sponsored by Activision | Blizzard, nor have they been reviewed, tested or certified by Activision | Blizzard.