Post your Holyshits and Downshits!

I am a complete fucking noob. Took me almost a week to realize I had my downshits in the wrong section of the ini. Tanks for the help guys!
 
Last edited:
Hi,

Just returned to the game and my downshits do not work anymore.

Example:
downshit5=/if (${Me.PctMana}>20 && !${Me.Buff[Hastening of Prokev Rk. II].ID} && !${Me.Invis} && !${Me.Moving} && !${Me.CombatState.Equal[COMBAT]}) /casting "Hastening of Prokev Rk. II" Gem11

In game I get:
DoCommand - Couldn't parse '/casting "Hastening of Prokev Rk. II" Gem11'

Any idea what is going on and how I can fix this?

Looks from recent posts that it should still be working.

Thanks
 
Hi,

Just returned to the game and my downshits do not work anymore.

Example:
downshit5=/if (${Me.PctMana}>20 && !${Me.Buff[Hastening of Prokev Rk. II].ID} && !${Me.Invis} && !${Me.Moving} && !${Me.CombatState.Equal[COMBAT]}) /casting "Hastening of Prokev Rk. II" Gem11

In game I get:
DoCommand - Couldn't parse '/casting "Hastening of Prokev Rk. II" Gem11'

Any idea what is going on and how I can fix this?

Looks from recent posts that it should still be working.

Thanks
/plugin mq2cast
 
Here we go..Enchnter Lvl88 - currently having alot of success using Bot.mac (Thanks Pete!). However, I'm trying to use Gather Mana and AoE Mez (can't get this to work with Bot.mac).

This is my shit:

Code:
downshit0=/if (${Me.PctMana}<50 && ${Me.AltAbilityReady[57]}) /casting "Gather Mana" alt
downshit1=/if (${Me.CombatState.Equal[COMBAT]} && ${SpawnCount[npc radius 100 zradius 100]}>2 && ${Zone.ID}!=444 && ${If[!${Target.Buff[18598].ID},TRUE,FALSE]} /casting "Ensorcelling Wave Rk. II" gem5

The way I think downshit1 will work is that I will cast Ensorc. Wave if I'm in combat, the mob count is greater than 2, I'm in the correct zone, and the buff is not present on the mob (I borrowed the last part from one of htw's previous posts).

Any feedback is appreciate and TIA.

downshit1 won't fire because downshits are only checked during downtime, IE: Not in combat. Change to a holyshit and assign it a holyflag#=1
Also you can remove the check for combat as holyshits only fire during combat.

downshits/flags = not combat.
holyshits/flags = combat.

Something you might want to check for during downshits ares worn off buffs
Something you might want to check for during holyshits is that bad ass AA being ready and if your current target is named. Or as a chanty, if you have aggro so you can memblur or whatever it is you guys do to drop aggro these days :)


Grant you I haven't played the game in like a year and I could have fallen out of the loop on things.....

The AoE mez fires as a downshit, that's not the problem. I've worked through it and tweaked some things with a friend, but it's still not working. This logic is all wrong as I spam the AoE mez on the target because I'm assisting the MA and mez if broken with each attack. I appreciate the feedback!
 
Another issue:

On one of my characters only if a spell is not already memed I get the error message :
You do not seem to have that spell memorized.

Fixed!
 
Last edited:
Can't seem to get a bard downshit to work well. Have 3 others that work well but trying to cast an Aura- it casts it 10-15 times before it finally lands. Here is code:
Code:
downshit0=/if (!${Me.Aura[1].Equal[Circle of Power IV]} && !${Me.Aura[1].Equal[Aura of Sionachie Rk. II]} && (!${Me.Aura[1].Length})) /casting "Aura of Sionachie Rk. II" gem10

Any ideas? Tried using /melee beta=1 and it then casts reliably but twist is all fubared and he won't twist songs correctly.
 
Here we go..Enchnter Lvl88 - currently having alot of success using Bot.mac (Thanks Pete!). However, I'm trying to use Gather Mana and AoE Mez (can't get this to work with Bot.mac).

This is my shit:

Code:
downshit0=/if (${Me.PctMana}<50 && ${Me.AltAbilityReady[57]}) /casting "Gather Mana" alt
downshit1=/if (${Me.CombatState.Equal[COMBAT]} && ${SpawnCount[npc radius 100 zradius 100]}>2 && ${Zone.ID}!=444 && ${If[!${Target.Buff[18598].ID},TRUE,FALSE]} /casting "Ensorcelling Wave Rk. II" gem5

The way I think downshit1 will work is that I will cast Ensorc. Wave if I'm in combat, the mob count is greater than 2, I'm in the correct zone, and the buff is not present on the mob (I borrowed the last part from one of htw's previous posts).

Any feedback is appreciate and TIA.

downshit1 won't fire because downshits are only checked during downtime, IE: Not in combat. Change to a holyshit and assign it a holyflag#=1
Also you can remove the check for combat as holyshits only fire during combat.

downshits/flags = not combat.
holyshits/flags = combat.

Something you might want to check for during downshits ares worn off buffs
Something you might want to check for during holyshits is that bad ass AA being ready and if your current target is named. Or as a chanty, if you have aggro so you can memblur or whatever it is you guys do to drop aggro these days :)


Grant you I haven't played the game in like a year and I could have fallen out of the loop on things.....

The AoE mez fires as a downshit, that's not the problem. I've worked through it and tweaked some things with a friend, but it's still not working. This logic is all wrong as I spam the AoE mez on the target because I'm assisting the MA and mez if broken with each attack. I appreciate the feedback!


Using a downshit to fire something in combat makes no sense to me personally. You've created a downshit that fires as a holyshit. But, whatever makes you happy I suppose.

The best way to test the individual code is by manually typing the individual code pieces to check for true/false Boolean values imho.

Your NPC Count might need to be higher to account for mercenaries or pets. Find out the classification of each entity by targeting them and using the superwho to get their type. MQ2Maps should provide an option to create a circle around you so you can visually see the range you are asking for (100x100 on the X/Z axis respectively) The Z Axis accounts for above and below you, which might cause issues in places with multiple floors. I assume Line of Sight is required in order to work. I looked the spell up and while the range of the spell is 100, the AE from the targeted area is only 25, which means it might require an additional check for radius from target? Not sure.

I don't believe your Target.Buff check is working based on the information you are providing, if it is, then if you don't have a target then it is passing as true regardless. Might need to add a check for if you have a target or not. The Z Axis accounts for above and below you, which might cause issues in places with multiple floors. I assume Line of Sight is required in order to work.

I'm not sure of the restrictions on this spell entirely. It shows (2/88) which implies it works on creatures up to level 88, so I would consider adding a check for that as well.
 
Can't seem to get a bard downshit to work well. Have 3 others that work well but trying to cast an Aura- it casts it 10-15 times before it finally lands. Here is code:
Code:
downshit0=/if (!${Me.Aura[1].Equal[Circle of Power IV]} && !${Me.Aura[1].Equal[Aura of Sionachie Rk. II]} && (!${Me.Aura[1].Length})) /casting "Aura of Sionachie Rk. II" gem10

Any ideas? Tried using /melee beta=1 and it then casts reliably but twist is all fubared and he won't twist songs correctly.

Using MQ2Twist and MQ2Melee can be a beautiful thing. However you're going to need to use /multiline ; /twist off; /casting "Aura of Sionachie Rk. II" gem10; /twist

a delay may be required depending on how this plays out in game. I haven't used my bard in a while. Suppose I might update the game just to get into helping with code now that I'm in classes for them. But that is the way I did it on mine.

Edit: /timed 32; worked for me. I wish I still had my old INI's for my bard. I could give you a decent amount of downshits/holyshits to use. I searched the forum for my holyshits and I didn't have much luck after a quick look. The idea behind /timed ## is 10 = 1 second. So 32 is 3.2 seconds. The reason for the .2 is to account for latency and avoid it not completing the cast due to interruption by the /twist.
 
Last edited:
For some reason my downflags have stopped working completely. mq2cast and mq2melee plugins are on and i am positive i have the cookie and milk dispenser are in my inventory. Any idea's whats wrong with my mq2melee section as to why they aren't working?

Code:
[MQ2Melee]
ancestral=20
downflag1=1
downflag2=1
downflag3=1
downflag4=1
downflag5=1
enrage=1
enragingkick=25
facing=1
groupcheck=1
infuriate=1
override=1
plugin=1
resume=20
stickbreak=1
stickrange=70
downshit1=/if (${SpawnCount[pc Asshole1 radius 1200]}) /casting "noneya" GEM11
downshit2=/if (${SpawnCount[pc Asshole2 radius 1200]}) /casting "stillnonya" GEM11
downshit3=/if (${FindItemCount[Warm Milk]} < 6) /multiline ; /casting "Warm Milk Dispenser" ; /delay 100 ; /autoinv
downshit4=/if (${FindItemCount[Fresh Cookie]} < 6) /multiline ; /casting "Fresh Cookie Dispenser" ; /delay 100 ; /autoinv
downshit5=/if (${SpawnCount[pc Asshole3 radius 1200]}) /casting "itoldyanonya" GEM11
downshitif=${If[${Select[${Zone.ID},202,344,345]},0,1]}
holyshitif=${If[${Select[${Zone.ID},202,344,345]},0,1]}
version=2015.110
ShowAbility=0
ShowAltAbility=0
ShowAttacking=1
ShowBash=0
ShowCasting=0
ShowCombatAbility=0
ShowControl=0
ShowDebug=0
ShowEnrageDebug=1
ShowEnraging=1
ShowFeign=1
ShowMoveUtilsDebug=0
ShowOverride=1
ShowProvoking=0
ShowRange=0
ShowSkills=0
ShowSpecial=0
ShowSticking=1
ShowStunning=0
ShowSwitching=1
CADelay=500
AADelay=250
SpellDelay=350
SkillDelay=250
PotionDelay=500
DownDelay=0
HolyDelay=0
DownCycleDelay=0
HolyCycleDelay=0
 
The gems shouldn't have been affected, but until I get mq2cast updated for items, then try:

/plugin mq2bagwindow
/reloadui

htw
 
Anyone know what is wrong with these? I'm probably like 99% the way there and missing something silly.

Code:
downshit0=/if (${FindItemCount[Burned Black Bread]} < 100 && ${Cast.Ready[Wee'er Harvester]}) /multiline ; /casting "Wee'er Harvester" item; /delay 100 ; /autoinv
downshit1=/if (${FindItemCount[Murky Globe of Water]} < 100 && ${Cast.Ready[Big Belt Of the River]}) /multiline ; /casting "Big Belt Of the River" item ; /delay 100 ; /autoinv
 
Delay wont work that way. try /timed

HTW - Thank you for the response, its much appreciated.

I changed it to the following and still doesn't fire (downflag0=1, downflag1=1 additionally). Nodown=0 also.

Code:
downshit0=/if (${FindItemCount[Burned Black Bread]}<100 && ${Cast.Ready[Wee'er Harvester]}  && !${Me.Invis}) /multiline ; /casting "Wee'er Harvester" item; /timed 100 ; /autoinv
downshit1=/if (${FindItemCount[Murky Globe of Water]}<100 && ${Cast.Ready[Big Belt Of the River]}  && !${Me.Invis}) /multiline ; /casting "Big Belt Of the River" item; /timed 100 ; /autoinv

Whole INI Section:

Code:
[MQ2Melee]
ancestral=20
asp=1
begging=1
bvivi=10
compsac=30
cstrike=1
downflag0=1
downflag1=1
enrage=1
enragingkick=25
facing=0
fclaws=10
feigndeath=10
feralswipe=1
frenzyspirit=1
gift=40
groupcheck=1
harmtouch=1
holyflag11=1
holyflag6=1
infuriate=1
jolt=1
kick=1
melee=1
override=1
petassist=1
petenrage=1
pethot=60
petinfuriate=1
petmend=20
petrange=75
plugin=1
pothealover=60
protect=20
rake=10
range=100
ravens=1
respite=20
resume=20
slam=1
standup=1
stickbreak=1
stickrange=0
downshit0=/if (${FindItemCount[Burned Black Bread]}<100 && ${Cast.Ready[Wee'er Harvester]}  && !${Me.Invis}) /multiline ; /casting "Wee'er Harvester" item; /timed 100 ; /autoinv
downshit1=/if (${FindItemCount[Murky Globe of Water]}<100 && ${Cast.Ready[Big Belt Of the River]}  && !${Me.Invis}) /multiline ; /casting "Big Belt Of the River" item; /timed 100 ; /autoinv
version=2015.122
ShowAbility=0
ShowAltAbility=0
ShowAttacking=1
ShowBash=0
ShowCasting=0
ShowCombatAbility=0
ShowControl=0
ShowDebug=0
ShowEnrageDebug=1
ShowEnraging=1
ShowFeign=1
ShowMoveUtilsDebug=0
ShowOverride=1
ShowProvoking=0
ShowRange=0
ShowSkills=0
ShowSpecial=0
ShowSticking=1
ShowStunning=0
ShowSwitching=1
CADelay=500
AADelay=250
SpellDelay=350
SkillDelay=250
PotionDelay=500
DownDelay=0
HolyDelay=0
DownCycleDelay=0
HolyCycleDelay=0
 
Last edited:
See where it fails.

Echo the FindItemCount
Echo the Cast.Ready

If those show true or false as expected

Execute the casting command manually

We can fix whichever part fails.
 
See where it fails.

Echo the FindItemCount
Echo the Cast.Ready

If those show true or false as expected

Execute the casting command manually

We can fix whichever part fails.

Code:
/echo ${FindItemCount[Murky Globe of Water]} = 5 --> Correct (Other Item Also)
/echo ${Cast.Ready[Big Belt Of the River]} = FALSE --> Incorrect (other Item Also)


Should be True on both items. (Casted them to see if inverse, still returned FALSE).

Sorry for not debugging myself, I actually code in other languages, just don't fully understand MQ2 commands (VBA/FOCUS/SQL I know they are shit languages (other than SQL), but necessary!)
 
See where it fails.

Echo the FindItemCount
Echo the Cast.Ready

If those show true or false as expected

Execute the casting command manually

We can fix whichever part fails.


Code:
/echo ${FindItemCount[Murky Globe of Water]} = 5 --> Correct (Other Item Also)
/echo ${Cast.Ready[Big Belt Of the River]} = FALSE --> Incorrect (other Item Also)


Should be True on both items. (Casted them to see if inverse, still returned FALSE).

Sorry for not debugging myself, I actually code in other languages, just don't fully understand MQ2 commands (VBA/FOCUS/SQL I know they are shit languages (other than SQL), but necessary!)


Using ${Cast.Ready[itemname]} doesn't appear to work for me if the item is not equipped/in a pack# slot. Same issue will also arise when trying to cast the item from within the bags using /casting (if not using MQ2Exchange from within a macro )

To find out the cast of the item is ready

Code:
${If[${FindItem[Wee'er Harvester].TimerReady}<0,TRUE,FALSE]}

To cast the item without exchanging it to a top level slot (i don't think MQ2Cast does this?)

Code:
/itemnotify ${FindItem[Wee'er Harvester].InvSlot} rightmouseup

This works for me, and i use
Code:
/if (${If[${FindItemCount[Well Balanced Throwing Knife]}<600,1,0]}  && ${If[${FindItemCount[Mysterious Belt of Daggers]},1,0]}  && ${Cast.Status.Equal[I]} && !${Me.Invis}) /itemnotify ${FindItem[Mysterious Belt of Daggers].InvSlot} rightmouseup

Just make sure you have something setup to autoinventory stuff you summon
 
Rooster -- Thank You!

I loaded MQ2bagwindow (forgot about this plugin) and /reload ini, this allowed the cast.ready to return true. This allowed my downflags to fire and auto inventory.

Below is what I used to share the working copies with the community.

(Make sure Bagwindow is loaded and UI reloaded with it on)

Code:
downshit0=/if (${FindItemCount[Burned Black Bread]}<100 && ${Cast.Ready[Wee'er Harvester]}  && !${Me.Invis}) /multiline ; /casting "Wee'er Harvester" item; /timed 100 ; /autoinv
downshit1=/if (${FindItemCount[Murky Globe of Water]}<100 && ${Cast.Ready[Bigger Belt Of the River]}  && !${Me.Invis}) /multiline ; /casting "Bigger Belt Of the River" item; /timed 100 ; /autoinv
downshit2=/if (${FindItemCount[Well Balanced Throwing Knife]}<600 && ${Cast.Ready[Mysterious Belt of Daggers]}  && !${Me.Invis}) /multiline ; /casting "Mysterious Belt of Daggers" item; /timed 100 ; /autoinv
 
Rooster -- Thank You!

I loaded MQ2bagwindow (forgot about this plugin) and /reload ini, this allowed the cast.ready to return true. This allowed my downflags to fire and auto inventory.

Below is what I used to share the working copies with the community.

(Make sure Bagwindow is loaded and UI reloaded with it on)

Code:
downshit0=/if (${FindItemCount[Burned Black Bread]}<100 && ${Cast.Ready[Wee'er Harvester]}  && !${Me.Invis}) /multiline ; /casting "Wee'er Harvester" item; /timed 100 ; /autoinv
downshit1=/if (${FindItemCount[Murky Globe of Water]}<100 && ${Cast.Ready[Bigger Belt Of the River]}  && !${Me.Invis}) /multiline ; /casting "Bigger Belt Of the River" item; /timed 100 ; /autoinv
downshit2=/if (${FindItemCount[Well Balanced Throwing Knife]}<600 && ${Cast.Ready[Mysterious Belt of Daggers]}  && !${Me.Invis}) /multiline ; /casting "Mysterious Belt of Daggers" item; /timed 100 ; /autoinv

Ok still having some issues, The belt part casts 7 times instead of 6 and leaves 1 on the cursor. Still working on besting the two food/drink ones as they have a long recast.
 
That is the delay from the time the check is done and casting/another check.


If you make a separate downshit to auto inventory, you can just adjust according to the amount that gets made

You can just add more item ID's seperated via commas , i have no idea how efficient this is. I think i have that correct there anyway

Code:
/if (${Select[${Cursor.ID},85830,85829,128538,]}) /autoinventory

Also i think you /timed stuff is wrong, you should have ; /command1 ; /time ## /command2 ; /command3

The order of the commands would go 1, 3, -delay- 2,

at least that is how this downshit worked for my mage to cast the clicky nuke item and pause the current macro

Code:
downshit13=/if (${If[${FindItem[99782].ID},FALSE,TRUE]} && !${Me.Invis}) /multiline ; /mqpause ; /timed 50 /mqpause ; /stopcast ; /casting "Wand of Dark Modulation" gem8