• 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
Resource icon

Release MultiHunter 1.5

No permission to download

nerp

Stole CWTNs color on discord
Creator
Joined
Oct 17, 2018
RedCents
2,714¢
nerp submitted a new resource:

MultiHunter - Hunt more better

MultiHunter is a hunter-tank utility that allows multiple hunters to work on the same zone in raid or group format.

What it does:
This utility is mainly a slayer assistant. It fixes most of the problems other hunter-tank implementations have when setting multiple hunters out to clear the same zone.
1. Each tank will hunt independently and not chase xtargets outside of the defined range.
2. Evaluates the hunted target while navigating and stops to select new targets if the intended kill...

Read more about this resource...

MultiHunter is a hunter-tank utility that allows multiple hunters to work on the same zone in raid or group format.
MH1.JPG


What it does:
This utility is mainly a slayer assistant. It fixes most of the problems other hunter-tank implementations have when setting multiple hunters out to clear the same zone.
1. Each tank will hunt independently and not chase xtargets outside of the defined range.
2. Evaluates the hunted target while navigating and stops to select new targets if the intended kill dies.
3. Detects closer spawns by mq2nav path length while moving to kill current hunt target, and changes if it finds one.
4. Allows banning of single targets by ID (if you want to avoid a certain spawn in a bad mesh area, or avoid faction hits from mobs nearby for instance)
5. Watches zone population for changes and notifies you and/or stops your wanton killing and littering if it does.
6. Adds a couple of new tricks for getting unstuck.

What it does not:
1. MultiHunter is geared toward killing many low level mobs for slayer. It does not stop to med. It does not stop to buff. (It works fine in CWTN manual or vorpal.)
2. It is not designed to keep you or your group safe in xp zones. It can probably be tuned for that, but use at your own risk.
3. Currently only has circular camps without angular trim. This may be added later.
 
Last edited:
Known Issues:
1. Convergence avoidance is still not working right.
2. Zones where mobs walk through trees are very laggy if you are hunting one that walks through (probably due to PathLength trying every possible route)
 
Last edited:
Really liking this so far! Been going back to old zones to complete some hunts. Really nice work here.

Feature idea: Specify what to pull. E.g. I know all goblins are a PH, so I want to specify the targets to go after, as opposed to the whole zone. Yes I could add the whole zone to ignores, but faster/easier to specify what I want to add. Would also want this per toon so I could have them each set to pull specific things. I use Pocketfarm macro today, but I really dig yours not chasing after each others mobs as well as splitting apart!
 
I started with a priority list but ended up killing it. Everything dies so fast it's really not needed. If you want to focus an area just set another hunter out and trim the camp range or groom the ignores list.
 
Yeah, I can certainly workaround what is needed, I'm freeloading off your work so I'm just over here happy to have it! It is more about the larger zones with roaming PHs that I use the "go find this specifically" quite a bit, or if I want to have one toon doing a couple different hunters without stopping and killing everything along the way in between two points. Not gonna stop me from using this bad boy!
 
Occasionally if a mob gets killed as soon as my character target's the same npc, it will cause an error. I haven't seen this happen before. Runs fine otherwise. I appreciate your work!!
1702141152179.png
 
Hmmph,
Occasionally if a mob gets killed as soon as my character target's the same npc, it will cause an error. I haven't seen this happen before. Runs fine otherwise. I appreciate your work!!
View attachment 54310
Hmmph! That's the phantom corpse crash I was trying to catch. It is really rare and seems to happen if the mob dies simultaneously while we're calculating. I'll poke around and see if there's another way to reject that.
 
It would be great to have priority targets. Like if X is up then kill that, if it's not then go kill next NPC or anything
 
Couple things I’ve noticed while using this. Which could totally be user error/improper settings on my behalf.

Sometimes the mob it’s Naving to isn’t necessarily the closest mob. I’ve tried adjusting the x,y,z with same results however. I also tired this in open zones where it shouldn’t matter and it’s still having the same issues.

Also it appears the code should handle adds on xtarget. However I often finish killing one mob and it moves onto pulling another instead of addressing the add(s). Causing a train effect.

However I do like the Lua and its UI. Thanks for posting it.
 
They have to be navigable to be considered valid. It is also picking the next target strictly by path length, which can sometimes lead to choices that look odd. It's usually because of bad geometry. If you are leaving xtars behind, try increasing the engage range. (Misc Tab)
 
It would be great to have priority targets. Like if X is up then kill that, if it's not then go kill next NPC or anything
Maybe someday, but I found it easier to just throw more toons at an area to keep all the placeholders down.

Priority listing would add more complexity to an already complicated if/then tree. =o
 
It would be great to have priority targets. Like if X is up then kill that, if it's not then go kill next NPC or anything
This would be a great addition to all formats K.A , CWTN , Mule Assist , RGMercs , etc. When in Hunter/Puller mode!

Would also be very nice to be able to set a pull/Hunt path instead of being limited by a circle/arc. Years ago that was available through Devestators macros. Not sure why nobody since has adapted it. You could set how far from your preset path to pull from.
 
This would be a great addition to all formats K.A , CWTN , Mule Assist , RGMercs , etc. When in Hunter/Puller mode!

Would also be very nice to be able to set a pull/Hunt path instead of being limited by a circle/arc. Years ago that was available through Devestators macros. Not sure why nobody since has adapted it. You could set how far from your preset path to pull from.
I've been working on a priority picker for other things, so I may pull it into this eventually.

As for camp setting, there are probably a few ways to create non-circular camps, but there isn't a good way to put them on the map, since mq2map doesn't support any primitives beyond circles. I'm pretty sure CWTN had to roll his own code to make arcs and lines for their pac-man camp render.
 
Apologies if this is overstepping, I can yank it out and make a separate resource if you'd prefer, but since I used this as a base and just added to it I figured I should just post here.

I spent the last couple days adding a prioritization mechanic to this Lua. It will let you create a list of mobs (based on name) and then go after mobs with names that start with the names on that list. I used it to mow down only a specific 4 types of mob in NK and it seems to work pretty well.

I added two checkboxes to the main page, and a Prioritizations tab:
  1. The Hunt only Priorities checkbox will limit the script's targeting to only mobs on the list in basically a whitelist. If not checked, the script will still kill mobs on the list first, but if none are up it will move on to the previous behavior of killing whatever is closest.
  2. When checked, the Hunt Priorities in Strict Order checkbox will force the script to do two things. First, it will only hunt mob types as it works down the list, so kill all mobs ranked first, then all second, etc. Secondly, it will only deviate from its hunt if it comes across a mob of a higher or equal priority. This will prevent the previous behavior of stopping to kill a mob on the way to our current hunt, unless it passes the priority check. When unchecked, we will deviate from current hunt to kill a close mob if that mob is anywhere in the priority list. If not using the priority list at all, this checkbox doesn't matter.

1711554897577.png

Here is the Prioritizations tab:
  1. Remove List Item will remove the selected from the list
  2. Clear Priority List will clear the whole list
  3. Prioritize Target will add your current target to the list
  4. All: Prioritize Target should behave like the ban one that broadcasts, but I only used one toon so it's untested
  5. Increase Priority will move the selected item up in the list
  6. Decrease Priority will move the selected item down in the list
  7. This is a free form text box you can add mobs to. These can be partial matches, but it's important to note that the prioritization works on a "startsWith" logic so what you put here and add to the list will need to be the beginning of a mob name, using the underscores. e.g. adding blue to the list will match a mob named blue mob but not a blue mob.
  8. Add to Priority List is what you click once you've typed in a name to add it to the list
1711556313443.png

Hope you guys like it!
 

Attachments

Thanks! I'll look it over and see about incorporating it into the main revision line.
 
My pleasure! It's been fun learning Lua. I also just added this to rebuff selo's in the hunt function

Lua:
local function hunt(spawn)
    if mq.TLO.Spawn(spawn).Dead() == true or mq.TLO.Spawn(spawn).ID() == 0 then return false end
    HUNTING = true
    hunted = spawn
    while (mq.TLO.Me.Casting() and not me_class=='BRD' ) do mq.delay(250) end --allow re-buffing
    if (mq.TLO.Me.Class() == 'Bard' and not mq.TLO.Me.Buff("Selo's Accelerato").ID() and not mq.TLO.Me.Buff("Selo's Accelerando").ID()) then
        print("rebuffing selo's")
        mq.cmd('/alt act 3704')
    end
    mq.cmd.Nav('id '..tostring(mq.TLO.Spawn(spawn).ID())..' distance='..melee_dist..' log=off')
end
 
My pleasure! It's been fun learning lua. I also just added this to rebuff selo's in the hunt function

Lua:
local function hunt(spawn)
    if mq.TLO.Spawn(spawn).Dead() == true or mq.TLO.Spawn(spawn).ID() == 0 then return false end
    HUNTING = true
    hunted = spawn
    while (mq.TLO.Me.Casting() and not me_class=='BRD' ) do mq.delay(250) end --allow re-buffing
    if (mq.TLO.Me.Class() == 'Bard' and not mq.TLO.Me.Buff("Selo's Accelerato").ID() and not mq.TLO.Me.Buff("Selo's Accelerando").ID()) then
        print("rebuffing selo's")
        mq.cmd('/alt act 3704')
    end
    mq.cmd.Nav('id '..tostring(mq.TLO.Spawn(spawn).ID())..' distance='..melee_dist..' log=off')
end
That should probably go down in main or a separate function. I'm still kicking around priority but haven't had any time with work. I want to get it to take partial matches and also check for surname partials.
 
That should probably go down in main or a separate function. I'm still kicking around priority but haven't had any time with work. I want to get it to take partial matches and also check for surname partials.
That's fair, I just found a quick and dirty place to put it so feel free to move it as you wish. Those sound great, let me know if you want help.
 
I still find this crashing which is really sad because it works so well. :( Same error that krawdad is getting.
 
I still find this crashing which is really sad because it works so well. :( Same error that krawdad is getting.

Was it also from a trap spawned mob? I am thinking there is just something buggy with their spawn data.
 
nerp updated MultiHunter with a new update entry:

Priority System

After much cussing and massaging, we have priority hunting. Thanks to knave23 for getting the basic parts of it put together!

-Priority tab added. Priority will accept partial name or surname matches, and is case insensitive.
-Several new commands added for dnet or eqbc control:
/hunt start|pause|convegence|prioritize commands are new
-Speculative fixes for phantom corpse crash
-Should handle nearby XTarget adds more reliably now

Read the rest of this update entry...
 
Was it also from a trap spawned mob? I am thinking there is just something buggy with their spawn data.

So, I had a few crashes in PoE, those could have been trapped mobs. But I had a few in PoAir too, which as far as I recall, doesn't have trapped mobs. It was in the temple areas and it didn't seem to like the moving animations from an object. So perhaps? I'm not sure how those animated objects operate, but i'll give this a try and let you know!!
 
I added a hard TLO check within the spawn data collection loop, so it may slow things down a bit. I was having some lag spikes in POE but there are also big trees in that zone that mobs path through that also cause lag spikes with path length checks. LMK if it is stilll doing it elsewhere since i only had time to do some limited testing.
 
I added a hard TLO check within the spawn data collection loop, so it may slow things down a bit. I was having some lag spikes in POE but there are also big trees in that zone that mobs path through that also cause lag spikes with path length checks. LMK if it is stilll doing it elsewhere since i only had time to do some limited testing.

Still works great, and I haven't seen a crash in about half an hour, I'll let you know though!
 
Works awesomely!

Now it would be cool to have some potion support skinspikes/distillate of celestial healing/health/alacricity - I was thinking simple checkmark to keep level appropriate potion buffs up if they are ready

theoretically this could be a different Lua, (in the old days this would be done in mq2melee ).
 
Works awesomely!

Now it would be cool to have some potion support skinspikes/distillate of celestial healing/health/alacricity - I was thinking simple checkmark to keep level appropriate potion buffs up if they are ready

theoretically this could be a different lua, (in the old days this would be done in mq2melee ).

I'd prefer to leave all class/combat functionality out of this. Whatever class automation you are using should be able to handle clickies, buffs, and stuffs. I do need to add a bit of a delay slider though because the plugins are relentless about trying to start a buff right as we take off for the next target.
 
I absolutely love this entire script! Thank you for putting it together. Is there any plan to add partial names to the ban list like you did for priorities?
 
Release MultiHunter

Users who are viewing this thread

Back
Top
Cart