• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Fully Automated Skylance Laboratory Macro

JoeK

Member
Joined
Nov 22, 2005
RedCents
Here's my fully automated, very safe, Skylance Laboratory macro. It takes care of everything from when you zone in to when you're ready to pull the boss. I Updated this to do the /switches from the Oubillete instead of zone in. It's out of agro range, so the multiple zone-out-and-back-in is no longer necessary.

If you're using Abyss' MQ2MovePlayer, change the "/warp loc 1 2 3" lines to "/awarp 1 2 3" (no 'loc').

Read the comments in the macro for details. Requires MQ2Switch and a warp that supports /warp succor, /warp loc, etc.

SkyLab.mac

Rich (BB code):
|----------------------------- Skylab.MAC -----------------------------------| 
|- Skylab, By JoeK/JoeSchmoe 
|- Last Modified: May 24, 2006
|- Usage: 
|- 	1. Obtain Ao#3 mission (The Laboratory) either normally or with MQ2TDoN
|- 	2. Macro Runner (only) zones into instance. 
|-	3. Have "The Incubated Egg of Tallongast" on cursor. 
|-	4. /mac skylab (Takes about 10 minutes) 
|-	5. When complete, All zone in
|-	6. /Tar Tallongast  ..  /warp target ... <non-dmg agro> ... /warp succor
|-	7. Tallongast warps to zone in following you.
|-	8. Kill Tallongast at zone in 
|-	9. Get 70 Spell on cursor, loot decent aug or loot from Tallongast
|-
|- Requirements: MQ2Switch, Some sort of Warp that supports /warp target and /warp loc 
|-
|- Switch #'s:  12 - Main table
|-		11 - Ethereal Goo (East Table)
|-		19 - Ether Spirit (East Console)
|-		17 - Distill Magic Spirits (West Table)
|-		9  - Gaze-O-Rama (West Console)
|-		18 - Dispenser (South Table)
|-		10 - Hyper manipulator (South Console)
|-		20 - Necrotic Tissue (North Table
|-		8  - Trans Injector (North Console)
|------------------------------------------------------------------------------| 

#turbo 10 

#Event Hyper "Switch on the Hyper#*#" 
#Event Gaze "The Gaze-O-Rama#*#" 
#Event Distill "Distill the magical#*#" 
#Event Trans "Use the Trans#*#" 
#Event Dispenser "The Dispenser has#*#" 
#Event EthSpir "From the ether#*#" 
#Event EthGoo "A good dose of ethereal#*#" 
#Event Necrotic "Remove the necrotic#*#"
#Event Hatch "Success! You have managed to hatch#*#" 
#Event StillBusy "The laboratory equipment is still busy#*#"

sub main 

  /declare Zn int outer
  /declare NextDevice int outer
  /declare PrevDevice int outer
  /declare FirstTime int outer
  /varset FirstTime 1
  /varset NextDevice 0
  /varset PrevDevice 0
  /varset Zn 0

  |- Enter the Laboratory, update Task, Return to zone in
  /doevents flush
  /warp loc -2 543 9
  /delay 10s
  |- Warp to the Oubilette (sp?)... Can /switch from there with no agro
  /warp loc -686 2 4
  /keypress left
  |- Place the egg on the table
  /switch 12

:MainLoop 
  /delay 2
  /if (${NextDevice}!=0) /call Do_Next_Device
  /doevents
/goto :MainLoop 

/return 

Sub Zoner(string ZoneName, string ZoneLoc)
    /delay 5s
    :loop
    /if (${Zone[${Zone.ShortName}].ID} != ${Zone.ID}) /goto :loop
    /delay 5
    /if (${Me.AbilityReady[Sneak]}) /doability "Sneak"
    /if (${Me.AbilityReady[Hide]})  /doability "Hide"
/return


sub Zone_Out_and_Back
  /call GMCheck
|- Turns out we don't have to zone out for agro loss if we /switch from the
|- Oubilette(sp?) instead of from zone in.
|  /echo Zoning out and Back in to ensure we lose agro
|- /delay 5 
|  /switch 1 
|  /call Zoner 
  /echo Finished working current equipment.  Waiting a minute for next one...
|  /delay 5s 
|  /switch 8 
  | The new Zoner detection doesn't work so well for instanced zones and we have
  | a 2 minute forced delay between equipmant usage anyway, so just waiting 60 secs after
  | zoning in.  If you take longer to zone, you can adjust this.
  /delay 65s
  /echo proceding with next device...
/return

sub Do_Next_Device
  /echo Do_Next_Device
  /varset PrevDevice ${NextDevice}
  /if (${FirstTime}!=1) /call Zone_Out_and_Back
  /varset FirstTime = 0
  /switch ${NextDevice}
:DeviceEventLoop
  /doevents
  /if (${NextDevice}==${PrevDevice}) /goto :DeviceEventLoop
  /delay 1
  /keypress right
/return

sub Event_Hatch 
  /echo Boss!
  |/call Zone_Out_and_Back
|  /switch 1
|  /call Zoner
  /gs Boss is Spawned. Zone in now, and pull him to Zone in when ready.
  /delay 5s 
| Warp succor or to -90 1 3 (zone in) if you like
| /warp loc -90 1 3
  /end
/return 

sub Event_StillBusy
  /echo Still Busy.  Delaying 10 secs and trying again.
  /delay 10s
  /switch ${NextDevice}
/return

sub Event_Hyper 
  /echo Hyper
  /varset NextDevice 10
/return 

sub Event_Distill 
  /echo Distill!
  /varset NextDevice 17
/return 

sub Event_Gaze 
  /echo Gaze!
  /varset NextDevice 9
/return 

sub Event_Dispenser 
  /echo Dispenser!
  /varset NextDevice 18
/return 

sub Event_EthGoo 
  /echo Ethereal Goo
  /varset NextDevice 11
/return 

sub Event_EthSpir 
  /echo Ethereal Spirits!
  /varset NextDevice 19
/return 

sub Event_Necrotic 
  /echo Necrotic
  /varset NextDevice 20
/return 

sub Event_Trans 
  /echo Trans
  /varset NextDevice 8
/return 

sub GMCheck 
  /if (${Bool[${Spawn[gm].ID}]}) { 
    /echo A GM or Guide has been detected.  Waiting for five minutes to check again ... 
    /delay 300s 
    /call GMCheck 
  } 
/return

Updated MQ2Switch for 2006/07/18 patch.
 
Last edited:
bartab said:
what is the # of the mission using TDoN plugin plz ?

Merely glancing at the TDON post, it's clearly there:

Mission #: 5247 Mission Name: Skylance: The Library
Mission #: 5248 Mission Name: Skylance: The Oubliette
Mission #: 5249 Mission Name: Skylance: The Laboratory
 
Updated the main post with slightly modified macro (zone-out-and-back no longer necessary) and updated the MQ2Switch.dll for the 2006/06/13 patch.
 
MQ2Switch needs updating, EQSwitch_GameState offset was changed with 6/16 patch, new offset is 0x4A5B20
 
Switch uses the OP_ClickSwitch OpCode for the switch packet, not the changestate offset.

I would have thought that the 6/13 MQ2Switch would still work since the Opcode didn't change. I've updated the attachement in the main post with my current compile. Lemme know if it still gives problems.
 
dose this steal work tryed it today with no luck at all
allso there was a port that had a dll and was simi auto any one recall where it is i cant find it
 
Fully Automated Skylance Laboratory Macro

Users who are viewing this thread

Back
Top
Cart