MQ2Bot (Old Version - Archived)

Status
Not open for further replies.
Is there a good place to see a write up on if commands for bot? I hate to be pestering, but about everytime I learn it then get everything the way I like I forget it all the next time I have to do it.

Basically the exceptions for spells is what I want and commands to use specific aa's.
The wiki in my signature?
 
Updated the pull routine to work with AAs. It still currently only works with spells and AAs. You must use MQ2Nav and have meshes for the zone for pulling to work.

Added in DoPulls=0 in the ini. /bot dopulls 1 to toggle on, /bot dopulls 0 to toggle off.

Added in option to auto pull. You must be set as group puller and DoPulls=1 in order for you to auto pull.

I just added in some more checks as well for returning so mobs dont crush your face. JDEKnox has been testing and I will push those additional checks live once I get confirmation that they work. Thanks to him for testing.
 
Added those additional checks. JDEKnox confirmed they are working so updated it. Hopefully this should solve any pulling issues users were experiencing.
 
Is there a good place to see a write up on if commands for bot? I hate to be pestering, but about everytime I learn it then get everything the way I like I forget it all the next time I have to do it.

Basically the exceptions for spells is what I want and commands to use specific aa's.
The wiki in my signature?

I was looking for something more specific. I have tried to search around and stuff. I haven't found exactly what I am looking for yet.

nukeif3=!${Me.Buff[Twincast Rk. II].ID} || !${Me.Buff[Improved Twincast VII].ID}

means to exclude that nuke if I am running ether twincast rank 2 or twincast iv

nukeif2=!${Me.Song[Thricewoven Power VI].ID}
Don't nuke 2 if I have that buff in my song window window. I think.

nukeif3=${Me.Song[Gift of mana (110)].ID} || ${Me.Song[Gift of mana (105)].ID}

Means only cast if I have those buffs in the song window. I think

So would:
nukeif3=!${Me.Buff[Twincast Rk. II].ID} || !${Me.Buff[Improved Twincast IV].ID} || ${Me.Song[Gift of mana (110)].ID} || ${Me.Song[Gift of mana (105)].ID}

Does above mean that it will only cast nuke 3 IF it is NOT twincasting and IS getting gift of mana?

Just fiddling with if commands and stuff, trying to get my wiz and bard to stop sucking so much since the sham dot nerf I wouldn't mind a little more dps :)
 
nukeif2=!${Me.Buff[Twincast Rk. II].ID} || !${Me.Buff[Improved Twincast VII].ID} || ${Me.Song[Gift of mana (110)].ID} || ${Me.Song[Gift of mana (105)].ID}

That does not work at all. It just casts that nuke each time it is up. I gave up on thrice, even if it could make a difference it would be so rare as not to matter.

Edit: It wouldn't fix the above line but I guess I would have to make it gift of mana 110 OR gift of mana 105, or just drop the 105
 
Last edited:
You have a logic error there I believe. When doing a NOT condition it should probably be an AND (&&) between them, so it will evaluate to a false if one of them is active

(!Buff1 && !Buff2) || Buff3 || Buff4

if you want it not to fire if buff1 or buff2 are active, I believe this should do it.

Basically you have to follow the logic tree through.
 
Cases are Sensitive. nukeif3 is not the same as NukeIf3, as reading the wiki would have told you. Parentheses help. AND (&&) vs OR (||) matters a lot. Me.GoM returns an integer if you have GoM on. So if you want it to cast when you have level 105 or level 110 on you can ${Me.GoM}>104 as your condition.
 
I was just typing it out from pseudo memory.

Nukeif1=!${Me.Buff[Twincast Rk. II].ID} || !${Me.Buff[Improved Twincast VII].ID}
Nukeif2=!${Me.Buff[Twincast Rk. II].ID} || !${Me.Buff[Improved Twincast VII].ID} && ${Me.GoM}

Is what I have in the ini file. I did however change the case on M of Gift of mana and took out the 105 or 110 stuff as it doesn't seem that it would matter at all since I was just looking for a GoM. Thank you for the corrections, suggestions, and clarifications. If this works I am going to start playing with bard or sham next to see if I can get them more streamlined.
 
I was just typing it out from pseudo memory.

Nukeif1=!${Me.Buff[Twincast Rk. II].ID} || !${Me.Buff[Improved Twincast VII].ID}
Nukeif2=!${Me.Buff[Twincast Rk. II].ID} || !${Me.Buff[Improved Twincast VII].ID} && ${Me.GoM}

Is what I have in the ini file. I did however change the case on M of Gift of mana and took out the 105 or 110 stuff as it doesn't seem that it would matter at all since I was just looking for a GoM. Thank you for the corrections, suggestions, and clarifications. If this works I am going to start playing with bard or sham next to see if I can get them more streamlined.
you still have i in NukeIf1, NukeIf2 as lowercase i, FYI. otherwise i think what you meant was:

Code:
NukeIf1=(!${Me.Buff[Twincast Rk. II].ID} || !${Me.Buff[Improved Twincast VII].ID})
NukeIf2=(!${Me.Buff[Twincast Rk. II].ID} || !${Me.Buff[Improved Twincast VII].ID}) && ${Me.GoM}
 
Thanks, I missed the if yeah. I also didn't see anything about case in the wiki other than on names of group members and /bot commands, but I know I had read about it before. Also saw no mention of ( ) useage but perhaps I missed it. So if its the same condition and/not it must be in ( )?

But the examples are in correct case, no idea how I flubbed that up.

I am guessing Case matters for commands like:

SelfBuffIf
BuffIf
AAIf
FightBuffIf

If so I have been doing it wrong for a long time. However it has seemed to work without proper case which is why I was most likely lazy in the past with it.
 
Last edited:
Added in ____ Alliance series of spells to auto detect. This should be a significant DPS boost for groups set up to use the spells. (slot 1 of http://lucy.allakhazam.com/stacking.html?id=50344&source=Live). Please let me know if that causes any unforeseen stacking issues. Also if any other spells are not detecting, let me know that as well. (i am tracking the unity line of buffs but since buffs arent in mq2bot i dont have that as a priority).

I also am considering either making slow its own debuff or at least recognizing that it is a slow/ae slow. Right now i dont have slow immune set up to check but I can add all that in pretty easily. If someone has a persuasive argument as to why it should be one way or another please let me know otherwise I will just go with whatever i come up with on my own.

Ultimately, i will just incorporate the new mq2bot into mq2skynet (both are in rough drafts) whenever i find time and each line of spells will detect on its own.
 
Last edited:
For Shaman, I don’t see Movement attack buff in the spells.

Alliance would be nice. Shaman get 2. One is a self buff and the other is for cast on other people.

Would be nice to have those buffs automem in the spell spot and cast like the other buffs.

There is also some fight buffs procs, that slows a mob, it casts it on the shaman instead of the tank/MA. Hell, I would love to be able to just cast it on all tanks and melee in the group.

The healing twin cast song buff from the gift nuke requires that we target a PC or pet to nuke through them to hit the NPC. Would it be possible to have this done automatically, instead of having a downshit or holyshit. Not sure if we can have a priority list of MT/MA/Pet.

Is it also possible to have some kind of options for the Rez functions? I’d love to be able to use the Rez stick and auto buff some times.

Pete you are awesome thanks for working on this. MQ2Bot has kept me playing for the past few years. Carpal tunnel is a bitch.
 
For Shaman, I don’t see Movement attack buff in the spells.

Alliance would be nice. Shaman get 2. One is a self buff and the other is for cast on other people.

Would be nice to have those buffs automem in the spell spot and cast like the other buffs.

There is also some fight buffs procs, that slows a mob, it casts it on the shaman instead of the tank/MA. Hell, I would love to be able to just cast it on all tanks and melee in the group.

The healing twin cast song buff from the gift nuke requires that we target a PC or pet to nuke through them to hit the NPC. Would it be possible to have this done automatically, instead of having a downshit or holyshit. Not sure if we can have a priority list of MT/MA/Pet.

Is it also possible to have some kind of options for the Rez functions? I’d love to be able to use the Rez stick and auto buff some times.

Pete you are awesome thanks for working on this. MQ2Bot has kept me playing for the past few years. Carpal tunnel is a bitch.
Thanks for the feedback. If you can give me names of some of these spells i can look into options. I may not be sure how the alliance buff spells work vs the nuke versions. The proc slow buffs should already be showing up as MainTankBuff instead of SelfBuff/FightBuff. Theres a chance something in the code changed that would cause the bot to detect them differently. NukeToT is how those targeted nukes should work. might need more fleshing out. Rez stick not currently coded in, i can maybe try to add it in. Buffs arent coded in yet because of how spawn tracking was done. i have to finish something else before those can be added.
 
Reminder that spells.mac creates an mq2log of your spells into your logs folder and lets me see what is detected in mq2bot vs what you have memmed to let me easily see missing spells since ive seen this question asked a lot recently.
 

Attachments

  • spells.mac
    1 KB · Views: 2
Thanks, I’ll run it when I get home.

Is it possible to get some of the spells to auto Mem and then cast. I know with MMOfastmem and some of my spells are zero recast, it might be handy.

Especially with some of the shaman dots, and Responsive Spirit.
 
Thanks, I’ll run it when I get home.

Is it possible to get some of the spells to auto Mem and then cast. I know with MMOfastmem and some of my spells are zero recast, it might be handy.

Especially with some of the shaman dots, and Responsive Spirit.
That is not currently possible in the available version due to it only looking at AAs and what you already have memmed. I think it is coded into the new version but that is still sitting on the back burner.
 
No problem. It’s nice when it auto buffs my pets with haste and does focus.
 
I am trying to test the pulling. I am assuming you have to have the settings in the character.ini file. I have used the /bot dopulls=1, the character reflects that is set, but the puller never starts pulling mobs. The puller is set that way in the group. The wiki didn’t have any references to other settings needed. Any thoughts?


Sent from my iPhone using Tapatalk
 
I am trying to test the pulling. I am assuming you have to have the settings in the character.ini file. I have used the /bot dopulls=1, the character reflects that is set, but the puller never starts pulling mobs. The puller is set that way in the group. The wiki didn’t have any references to other settings needed. Any thoughts?


Sent from my iPhone using Tapatalk
There should only be 3 settings.
1. Set yourself as group puller in game.
2. /bot dopulls 1
3. and having your pull distance be farther than the mobs you want to pull. i think it is default 0 and is likely why its not working, maybe try 1000 or so. it is in your ini:
PullingDistance=1000 or you can /bot pullingdistance 1000
 
I am trying to test the pulling. I am assuming you have to have the settings in the character.ini file. I have used the /bot dopulls=1, the character reflects that is set, but the puller never starts pulling mobs. The puller is set that way in the group. The wiki didn’t have any references to other settings needed. Any thoughts?


Sent from my iPhone using Tapatalk
There should only be 3 settings.
1. Set yourself as group puller in game.
2. /bot dopulls 1
3. and having your pull distance be farther than the mobs you want to pull. i think it is default 0 and is likely why its not working, maybe try 1000 or so. it is in your ini:
PullingDistance=1000 or you can /bot pullingdistance 1000

Jut as an FYI, I have not been successful using the command
/bot dopulls 1

The only way the command seems to work id by doing a
/bot dopulls=1
or
/bot dopulls=0

Other than not being able to find a point on the navmesh, it seems to be working well in my quick testing this morning. Having to rebuild the navmesh now to get that working.
 
Status
Not open for further replies.