• 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

Tipt instance flipping - help

EQbackagain

Member
Joined
Nov 2, 2016
RedCents
1,651¢
Just trying to farm cragbeast blood by flipping this instance and heading to the hatchery, then ending expedition and returning to repeat.

Only thing I'm missing is a kill and loot routine, which is obviously the hard part. Clearly there will be parts where I'm attacked on the way to the apprentice and on the way to the hatchery.

Can anyone help on that please?

Rich (BB code):
#turbo 40
Sub Main
  | --------------------------------------------------------------
  :loop
|Start Expedition
  /tar Apprentice Udranda
  /say tipt
  /delay 5s
|Move to instance
  /nav -1249 580 -119
  /delay 20s
|Move to hatchery
  /nav -2000 180  252
|zone out
  /bcaa //dzend
  /delay 20s
|Move back to Apprentice
  /nav -755 250 -124
  /delay 5s
  /goto :loop
/return
 
First, for looting Daybreak's advloot should be good.

Second, I would highly suggest you use ${Zone.ID} or ${Zone.Name} to peform regular sanity checks on your current zone.

http://www.redguides.com/docs/projects/macroquest/reference/top-level-objects/tlo-zone/
http://wiki.eqemulator.org/p?Zones

What I usually do for multizone macros is something like this:

Rich (BB code):
       :Start
	/if (${Zone.ID} == 283) /goto :Barindu
	/if (${Zone.ID} == 289) /goto :Tipt
|most likely zoning when you hit this or you are ported somewhere else
	/delay 5
	/goto :Start


:Barindu
/if (${Task[Tipt].Members} < 1) /call GrabTiptInstance

/goto :Start

:Tipt
|figure out spot where you are, example
/if (${Me.X}> 100 && ${Me.X} < 150 && ${Me.Y} > 2000 && ${Me.Y} < 2300) /goto :Spot1
/if (${Me.X}> 150 && ${Me.X} < 450 && ${Me.Y} > 2000 && ${Me.Y} < 2300) /goto :Spot2
|do it for all possible areas in zone to be completely safe!
:Spot1
/call KillStufforDoStuff
/call MoveToSpot2or3orwhatever
|this is the important part to have a robust macro /goto :Start NOT :Spot2 or :Spot3 
/goto :Start

:Spot2

:Spot3


/goto :Start

It is a bit of spaghetti code so there might be a better way of organising this.

Finally the kill loop can be something simple using http://www.redguides.com/docs/projects/macroquest/reference/top-level-objects/tlo-spawncount/

Rich (BB code):
/if (!${Target.Type.Equal[NPC]} && ${SpawnCount[npc radius 200]} > 0) {
  /target npc
  /delay 10 ${Target.Type.Equal[NPC]}
  /pet attack
  |optionally kill it yourself as well
  /stick on
  /attack on 

}
/goto :Start

Now, you might need to add additional filters to SpawnCount so you do not target friendly NPCs or wrong level NPCs etc etc

EDIT: added Spawncount comparison
 
Last edited:
First, for looting Daybreak's advloot should be good.

Second, I would highly suggest you use ${Zone.ID} or ${Zone.Name} to peform regular sanity checks on your current zone.

http://www.redguides.com/docs/projects/macroquest/reference/top-level-objects/tlo-zone/
http://wiki.eqemulator.org/p?Zones

What I usually do for multizone macros is something like this:

Rich (BB code):
       :Start
	/if (${Zone.ID} == 283) /goto :Barindu
	/if (${Zone.ID} == 289) /goto :Tipt
|most likely zoning when you hit this or you are ported somewhere else
	/delay 5
	/goto :Start


:Barindu
/if (${Task[Tipt].Members} < 1) /call GrabTiptInstance

/goto :Start

:Tipt
|figure out spot where you are, example
/if (${Me.X}> 100 && ${Me.X} < 150 && ${Me.Y} > 2000 && ${Me.Y} < 2300) /goto :Spot1
/if (${Me.X}> 150 && ${Me.X} < 450 && ${Me.Y} > 2000 && ${Me.Y} < 2300) /goto :Spot2
|do it for all possible areas in zone to be completely safe!
:Spot1
/call KillStufforDoStuff
/call MoveToSpot2or3orwhatever
|this is the important part to have a robust macro /goto :Start NOT :Spot2 or :Spot3 
/goto :Start

:Spot2

:Spot3


/goto :Start

It is a bit of spaghetti code so there might be a better way of organising this.

Finally the kill loop can be something simple using http://www.redguides.com/docs/projects/macroquest/reference/top-level-objects/tlo-spawncount/

Rich (BB code):
/if (!${Target.Type.Equal[NPC]} && ${SpawnCount[npc radius 200]} > 0) {
  /target npc
  /delay 10 ${Target.Type.Equal[NPC]}
  /pet attack
  |optionally kill it yourself as well
  /stick on
  /attack on 

}
/goto :Start

Now, you might need to add additional filters to SpawnCount so you do not target friendly NPCs or wrong level NPCs etc etc

EDIT: added Spawncount comparison



How would I incorporate this into an existing macro, like where would I add this stuff inside the macro? I'd like to mod a macro I use for this type of farming.
 
It really depends on what kind of macro you are already using.

The first code section can be your Sub Main, it is basically a whole macro except you have to write your own helper functions ie Sub MoveToSpot2or3orwhatever.

When writing a complicated macro you always want to make sure you are in the right state, this means making sure you have the right zone, right location, right character state and somewhat less importantly right buffs. Also you might need to check for your group composition, your own level etc etc.

The second code section the target and kill snippet can be added wherever you have the target acquire in your macro. You'd have to change /goto :Start to whatever your main loop is. Then again your macro should have something similar already.

The main thing to remember when targeting mobs/pcs is that you do not want to target something unless you are absolutely positively sure you want to engage the target!

Frequent targeting for no good reason is a big no no in MQ2 .
 
Tipt instance flipping - help

Users who are viewing this thread

Back
Top
Cart