Page 1 of 1

HOWTO: Autorun Gathering Goblin / Pony

PostPosted: 28 Apr 2016, 10:03
by AdrenolineLove
Here is a script that automatically summons the gathering goblin for me, collects items if they're ready and then sends him back out again. It also deposits them into my depot after collecting.

I have it on ALL of my toons under the onzone tab as "timedcommand 150 run custom/gatheringgoblin" that way 15 seconds after zoning (when it should be completed zoning properly) it will run the script. You don't have to have custom in there, I just keep it in a folder in scripts called custom. Make sure you change the code in there, you'll see it.

Code: Select all
;This is a script to hire goblins

function main()
{
   Event[EQ2_onIncomingText]:AttachAtom[CheckGoblin]
   declarevariable scriptDone bool script FALSE
   if TRUE
   {
      oc !c -castabilitynoexport ${Me.Name} "Summon Artisan's Gathering Goblin"
      oc ${Me.Name} summoning gathering goblin
      wait 40
      if ${Actor[${Me.Name}Goblin](exists)}
      {
         Actor[${Me.Name}Goblin]:DoubleClick
      }
      else
      {
         return
      }
      while !${scriptDone}
      {
         wait 10
      }
   }
}

atom CheckGoblin(string text)
{
   ;Goblin full, collect stuff
   if ${text.Find["Dees packs be full!"]} && ${text.Find[${Me.Name}](exists)}
   {
      oc ${Me.Name} packs full, collecting.
      timedcommand 10 oc !c -ConversationBubble ${Me.Name} 1
      timedcommand 50 Actor[${Me.Name}Goblin]:DoubleClick
   }

   ;Goblin not full, send him out again!
   if ${text.Find["Can't harvest yourself?"]} && ${text.Find[${Me.Name}](exists)}
   {
      ;This is where you decide what level to collect. Bubble 1 is lvl 1-60, bubble 2 is 70-100. Bubble 6 is level 100.
      oc ${Me.Name} sending the goblin out for collections.
      timedcommand 10 oc !c -ConversationBubble ${Me.Name} 2
      timedcommand 20 oc !c -ConversationBubble ${Me.Name} 6
      timedcommand 50 eq2ex cancel_maintained Summon Artisan's Gathering Goblin
      timedcommand 60 eq2ex container deposit_all ${Actor["Harvesting Supply Depot"].ID} 0
      timedcommand 70 eq2ex container deposit_all ${Actor["Harvesting Supply Depot (Large)"].ID} 0
      timedcommand 80 eq2ex container deposit_all ${Actor["Personal Harvest Depot (large)"].ID} 0
      scriptDone:Set[TRUE]
      
      ;tell your uplink to wait 2 hours and 30 seconds and then tell your toon to run the script
      relay ${SettingXML[InnerSpace.XML].Set[Remote].GetString[Name].Escape} timedcommand 72600 relay ${Me.Name} runscript custom/GatheringGoblin
   }
   
   ;Goblin still collecting
   if (${text.Find["Need more time"]} || ${text.Find["Need more patiences from you"]}) && ${text.Find[${Me.Name}](exists)}
   {
      oc ${Me.Name}'s goblin still harvesting.
      timedcommand 10 eq2ex cancel_maintained Summon Artisan's Gathering Goblin
      scriptDone:Set[TRUE]
   }
}


As you can see what it does it summons the goblin, clicks him and then reads the chat for the corresponding thing to do next. One thing that I've done to ensure it doesn't click the wrong goblin (as I summon multiple at once) is changed all the names of the goblins to Namegoblin (Glitterrangergoblin or Glittermysticgoblin for example). Make sure you do this to your goblins or it will not work.

Here is the script for the pony, same principals, change it to Namepony (eg Glitterrangerpony or Glittermysticpony)

Code: Select all
;This is a script to hire packpony

function main()
{
   Event[EQ2_onIncomingText]:AttachAtom[CheckPony]
   declarevariable scriptDone bool script FALSE
   if TRUE
   {
      oc !c -castabilitynoexport ${Me.Name} "Summon Artisan's Pack Pony"
      oc ${Me.Name} summoning gathering pony
      wait 40
      if ${Actor[${Me.Name}pony](exists)}
      {
         Actor[${Me.Name}pony]:DoubleClick
      }
      else
      {
         return
      }
      while !${scriptDone}
      {
         wait 10
      }
   }
}

atom CheckPony(string text)
{
   ;Pony full, collect stuff
   if ${text.Find["the packs are full"]} && ${text.Find[${Me.Name}](exists)}
   {
      oc ${Me.Name} packs full, collecting.
      timedcommand 10 oc !c -ConversationBubble ${Me.Name} 1
      timedcommand 50 Actor[${Me.Name}pony]:DoubleClick
   }

   ;Pony not full, send her out again!
   if ${text.Find["*whinny*"]} && ${text.Find[${Me.Name}](exists)}
   {
      oc ${Me.Name} sending the pony out for collections.
      timedcommand 10 oc !c -ConversationBubble ${Me.Name} 2
      timedcommand 20 oc !c -ConversationBubble ${Me.Name} 6
      timedcommand 50 eq2ex cancel_maintained Summon Artisan's Pack Pony
      timedcommand 60 eq2ex container deposit_all ${Actor["Harvesting Supply Depot"].ID} 0
      timedcommand 70 eq2ex container deposit_all ${Actor["Harvesting Supply Depot (Large)"].ID} 0
      timedcommand 80 eq2ex container deposit_all ${Actor["Personal Harvest Depot (large)"].ID} 0
      scriptDone:Set[TRUE]
      
      ;tell your uplink to wait 2 hours and 30 seconds and then tell your toon to run the script
      relay ${SettingXML[InnerSpace.XML].Set[Remote].GetString[Name].Escape} timedcommand 72600 relay ${Me.Name} runscript custom/GatheringPony
   }
   
   ;Goblin still collecting
   if ${text.Find["Your faithful pack pony is still at work"]}
   {
      oc ${Me.Name}'s pony still harvesting.
      timedcommand 10 eq2ex cancel_maintained Summon Artisan's Pack Pony
      scriptDone:Set[TRUE]
   }
}


One beautiful thing these scripts do is set a timer for 2 hours and then reruns the script. So if you're a lazy piece of shit like me and need to fill up your depots, it will redo the script over and over. *use at your own risk* If you want this part to work you will have to create a relay group for every toon with their own name (eg relay group Glitterranger)

Happy hunting!

Re: HOWTO: Autorun Gathering Goblin / Pony

PostPosted: 06 Feb 2017, 13:26
by skam
Am I as thick as a thick thing on a thick day.

"Make sure you change the code in there, you'll see it."

I've tried every combination of names for both my toon and my pony, but for the life of me can not get this to work.

I can get it to summon, but does not select the pony to allow either the look for the Whinny or send out to gather.

Could some kind person highlight to me where I change to my characters name or the pony's name.

Ideally edit the file with a toon name of (TOONCHANGE) and a pony name of (PONYCHANGE)

Either that or tell me it no longer works and I have done a great job at finding out the hard way.

Re: HOWTO: Autorun Gathering Goblin / Pony

PostPosted: 03 Mar 2017, 11:28
by skam
Little update.

I think I have given up and come to the conclusion this does not work as I can only ever get it to summon either the pony or goblin.

However would be nice to be proved wrong.