MQ2 Plugins You'd Like To See

Fry

Fry Guy
Joined
Jan 31, 2005
Messages
11,851
Reaction score
574
Points
113
Location
Australia
Website
www.mmobugs.com
Hey MMOBugs,

Today I'd like to discuss what new features you'd like to see with MQ2 plugins. Most of our time gets put into maintenance, debugging and trying to keep things crash free for MQ2. EQMule has done wonders with this but has also added a bit of work keeping up with his changes. His MQ2AutoLogin changes this week are pure magic if you haven't seen them yet (Though they are still not release on Live at this stage, we should see this soon)

PeteSampras and Htw have been working on MQ2Bot quite a bit, to the point where it's a very flexable plugin, though it still has some quirks with pets/mercs, which Blitzkrieg has been pretty vocal about in IRC today. Pete I believe is starting a whole new revision from the ground up for MQ2Bot, which should be exciting to see where that leads.

Anyway on to the reason of this post. I'd like to see some work done on either creating new plugin idea, or polishing some other already existing plugins. We just need to figure out where our time is best spent. Here are two ideas.

MQ2Bot

MQ2Bot is a great plugin, though it can be at times frustrating to get all your settings right for your characters. The idea would be creating an ingame window for MQ2Bot that allows you to view your settings, and change them on the fly ingame. I think this would greatly help people new to the plugin to figure out how to fix some of there settings.

MQ2Nav

Brainiac put quite a lot of work into re-writing MQ2Navigation into MQ2Nav. It's certainly an upgrade to MQ2Navigation, but it still has some polishing to be done. I don't think this plugin will ever be perfect due to the nature of some EQ zones being so unique, but there is certainly room to progress the plugin. Please see MQ2Nav vs MQ2Navigation about MQ2Nav not having /findmob and object loading bug.

I know you must have some cool ideas for what should be created for MQ2 that would be helpful for you. I'm looking for any thoughts, ideas, and feedback for plugins.

Let us know us know below so we can figure out where to spend our time to help you guys out the most.

Thanks.
Fry.
 
MQ2Bot has been a significant jump in getting back into the game by setting up a character without the configuration downtime. I think working to polish it out and perhaps a GUI for convenience wouldn't be a bad idea. I cannot say I've used MQ2Nav or MQ2Navigation as much, as any macros or scripts I ever ran were made by someone else, so I have no real first hand experience with the coding. I can attest however that when the plugin was rewritten and the meshes redone, that the logic overall (especially in older blocky zones) improved significantly. (hunter.mac)

It seems every facet you would want to automate or control can be accessed already. It's bridging the dumb shits like myself to utilize these tools and not having to rely so heavily on the experienced, advanced users that would be the priority. Some of us probably came here solely to avoid having to compile and maintain our own MQs to begin with.
 
  • Like
Reactions: EQDAB
While MQ2Bot and MQ2Nav are two game changers and Pete's rewrite will be a God Send, these fixes are a while down the road. I have couple ideas for some (what I think to be easy) additions to the MMOBugs offering.

1. Include MQ2ChatEvents plugin. EQMule updated the source in his thread to be string compatible.

2. Fix the MQ2MMOText plugin to accept more carriers. I believe it just uses SMTP to send an email to said carriers email to text address. I've had to use the competitions emailing plugin since MMOText doesn't work with my carrier.

3. Add a radius component to the spawnsearch MQ2PCSafety. It's nice to get notifications on zone in, but many of us play on TLP and there are always people in zones, so we need commands to be executed when PC's are within a certain radius. It will be a huge burden lifted off of macros to check for pc safety.

Now for my game breaking plugin idea. MQ2CronJob
All ini based, every X amount of time, evaluate Y condition and execute Z command.
 
  • Love
Reactions: EQDAB
Now for my game breaking plugin idea. MQ2CronJob
All ini based, every X amount of time, evaluate Y condition and execute Z command.

Hmm, that would be a relatively simple plugin to write, and might be doable already with downshits if there is a way to create a global variable in downshits (really haven't looked at them in a long time lol), but I'm trying to think of what it's real uses would be. I could see it being abused for an easy way to spam messages and such every x amount of time. But otherwise I can't think of anything in EQ that would need to be run every x amount of time instead of being reactionary to some event occuring?

I've personally been toying with the idea of writing a neural net AI driven plugin bot lol. I've wanted an excuse to play around with neural net coding, but have been lazy about starting on it. Don't know how feasible it would really be, would probably take a beefy computer to run it effectively and even then you'd be limited to the number you could run making it more a project of fun than potential usefulness lol. I wonder if it'd be possible to hook into the GPU processing powers from within a plugin somehow... hmmmmm

But for more realistic endeavors on plugin ideas, maybe an MQ2TradeSkillBot? The equivalent of MQ2Bot, but for tradeskills. It would be nice to have one go to that covers any and all tradeskill tasks. Able to tell it to go craft something specific, or just to have it level up a tradeskill.

Other than that, I can honestly say I don't think there is much in EQ that that hasn't already been covered in some form. EQ and MQ2 are both very mature at this point. I'd love to see some brilliant new refreshing ideas come around, but I obviously fail at thinking of them lol.
 
A plugin that I think would be sort of nice is one that helps with collectables. I know the data on whether or not you have a certain collectable is displayed when you right click the collectable but if you box several characters, this can be very tedious. I don't know if this can be done or not but it would be nice if you can link the collectable in group or box chat and the characters connected to eqbc would in turn echo if they have the collectable or not in bc.

Another idea I was having when working with getting the bard's mq2bot going is altering mq2twist a bit. I could be a total noob here but from what I understand, mq2twist will twist the order of the songs you list. So if you /twist 1 2 3 4 5 6 7, it will twist that order even if song 1 falls and you are on song 5, it will play song 6 next and then 7 before it sings song 1 again. There are several issues with this. 1) The AA "A tune stuck in your head" extends the songs by one tick and isn't something you can keep up at all times. 2) Some songs have a shorter duration than others and 3) Songs like the dicho song has a long refresh and is difficult to put into the melody without causing problems. My solutions is give the option to list songs by importance and have the plugin make sure those songs are up according to that list. If a player is finishing playing song 5 and song 1 is about to drop, it plays song 1 before moving to song 6. If the dicho song is listed as song 3 and it isn't up, it skips it and moves to song 4.
 
Would it be possible to have a pulling plugin or mod advpath so that you can record multiple paths and have it choose which path to used based on what /loc it's trying to run to?

Like right now my team is doing a camp where for the most part I can just have my puller be in one location and radius pull the whole camp. But there is 1 mob that spawns that is behind an object, so either I need to use navigation to get to it or record a path and have the puller repeat the path, whether mobs are up in the camp or not. I ended up just adding those mobs to my ignore list because everything I tried usually leads to my puller getting dead or stuck and looking very obvious. I like mq2navigation (can't use mq2nav yet) because it looks a lot more normal, but it doesn't work very well here. Running recorded paths look very bot like. I like radius pulling because it just has my puller running around when a mob is actually up, but it "can't"/shouldn't pull anything not LoS and sometimes will try and then my puller just stands there trying to pull something it can't engage because it is behind whatever.

So what I'd like is a pulling plugin where you can set radius pulling and it'll just pull LoS for whatever is in the radius, but then you can also set a larger radius for recorded paths and then when it sees mobs pop up in those locations, it'd run the path you recorded to that location to pull the mob. And not be based on a time to repeat any recorded paths. It "see's" a mob spawn at X location, it uses the path recorded to get to that location.
 
Last edited:
  • Like
Reactions: EQDAB
mq2pull - A plugin specifically for pulling / chain pulling. I think the existing mq2nav would suffice with this in most cases.

I know there are a few macro's that can handle this but a dedicated pulling plugin would be so freaking awesome.
 
How much money would it take to get Ghost Kill working again?
 
A plugin that I think would be sort of nice is one that helps with collectables. I know the data on whether or not you have a certain collectable is displayed when you right click the collectable but if you box several characters, this can be very tedious. I don't know if this can be done or not but it would be nice if you can link the collectable in group or box chat and the characters connected to eqbc would in turn echo if they have the collectable or not in bc.

Another idea I was having when working with getting the bard's mq2bot going is altering mq2twist a bit. I could be a total noob here but from what I understand, mq2twist will twist the order of the songs you list. So if you /twist 1 2 3 4 5 6 7, it will twist that order even if song 1 falls and you are on song 5, it will play song 6 next and then 7 before it sings song 1 again. There are several issues with this. 1) The AA "A tune stuck in your head" extends the songs by one tick and isn't something you can keep up at all times. 2) Some songs have a shorter duration than others and 3) Songs like the dicho song has a long refresh and is difficult to put into the melody without causing problems. My solutions is give the option to list songs by importance and have the plugin make sure those songs are up according to that list. If a player is finishing playing song 5 and song 1 is about to drop, it plays song 1 before moving to song 6. If the dicho song is listed as song 3 and it isn't up, it skips it and moves to song 4.
mq2bot doesn't actually use mq2twist, I coded in its own thing. I could probably add in a special twist for when ATSIYH is running, so like: RestTwist=, CombatTwist=, ATSYIHTwist=. My rewrite has been hindered by the fact that dota international has been going on and I almost exclusively play dota over coding =P I should probably do more with the rewrite.
 
AND.... if your really feeling lucky. $1500 will buy you GM Status for 1 day =)

Arnt we all just too generous today
 
  • Haha
Reactions: EQDAB
A plugin that I think would be sort of nice is one that helps with collectables. I know the data on whether or not you have a certain collectable is displayed when you right click the collectable but if you box several characters, this can be very tedious. I don't know if this can be done or not but it would be nice if you can link the collectable in group or box chat and the characters connected to eqbc would in turn echo if they have the collectable or not in bc.

Another idea I was having when working with getting the bard's mq2bot going is altering mq2twist a bit. I could be a total noob here but from what I understand, mq2twist will twist the order of the songs you list. So if you /twist 1 2 3 4 5 6 7, it will twist that order even if song 1 falls and you are on song 5, it will play song 6 next and then 7 before it sings song 1 again. There are several issues with this. 1) The AA "A tune stuck in your head" extends the songs by one tick and isn't something you can keep up at all times. 2) Some songs have a shorter duration than others and 3) Songs like the dicho song has a long refresh and is difficult to put into the melody without causing problems. My solutions is give the option to list songs by importance and have the plugin make sure those songs are up according to that list. If a player is finishing playing song 5 and song 1 is about to drop, it plays song 1 before moving to song 6. If the dicho song is listed as song 3 and it isn't up, it skips it and moves to song 4.
mq2bot doesn't actually use mq2twist, I coded in its own thing. I could probably add in a special twist for when ATSIYH is running, so like: RestTwist=, CombatTwist=, ATSYIHTwist=. My rewrite has been hindered by the fact that dota international has been going on and I almost exclusively play dota over coding =P I should probably do more with the rewrite.


DOTA should always take precedent over anything else!
 
Pete had me loling w/ tears but you HtW, caused me to make a noise that had my wife running to see why. If there was 1k extra (unemployed since stroke in 2009) oh hell at this point, I'd be just tickled to afford some (cheap) plat for spells etc..
 
I will think about this some more as I get my feet under me again in eq/mq2 world.

One thing I have been bothered with since coming back/leaving/back/leaving...

I feel an effort to improve the user experience outside of game is in order.

  1. Plugins
  2. Folder structure
  3. INI standardization

Plugins
I show 162 dll's ala plugins (did not subtract the core mq2 ones)
Coming back to eq/mq2 I notice there are so many plugins that do similar things, this one slightly better than that etc...

Some of these plugins that have 2-8 functions need to be split up and some of the plugins need to be killed off.
For example, mq2melee and down/holyshits. The concept of having triggers done during combat and outside of combat is very powerful and needed but I dont really think it is part of mq2melee which reduces mq2melee down to really movement, which is what mq2moveutils is about.

Basically I think an effort should be made (huge effort) to modularize and do things more 'microservice like' or more unix philosophy like
Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface
Basics of the Unix Philosophy

Folder Structure
Yes I know I can do this myself but I am using prepackaged compile and I dont want to deal with it each time I update.

Example:
Code:
[B]mq2[/B]
	Executable files (only thing in the root)

	[Config]
		ini files for plugins and for macros

		[MQ2PluginName-Data]
			if needed.. mq2nav/mq2navigation type data

		[UI]
			[Default]
			[Sounds] 

	[Info]
		readmefiles, eula, changelog

	[Logs]

	[Plugins] just the DLL's

	[Macros]
		empty folder for non-distro-macros
		
		[Examples]
			all the included macros


INI/Config Standard

I would like both macro and plugin inis in the same place without other clutter.
These are usually the files most people modify the most

Some INI are server_char some are plugin_server_char some are plugin etc... A standard would be great

I dont think a single INI per character or per server is really appropriate

An INI per plugin and/or per macro seems sensible.
Should have a global/defaults, a server specific, and a server.character specific section
global < server < server.character

Example:
MQ2Plugin.ini
[Global]
[Server1]
[Server1.Character]
 
Last edited: