Goto page 1, 2  Next General Melee stand too close....
Reply
Melee stand too close....
So i've got a, well, a couple big problems. My melee's stand too close and often my casters are too far to engage on named mobs. Im raiding NTOV right now and tried to keep casters in casting range, but far enough. They wouldnt engage however except heals.

On the other hand, ive got a pally and a rogue who hump the shit out of the mobs and almost undoubtedly die early. i dont think the rogue has lived once yet despite engaging later. i imagine its at least partly because some dragons are rooted and he humps them always.
_________________
for fun
Thu Jan 30, 2014 10:20 pm
I think you are using macros. On the melee macs, the /stick 50% behindonce put the melee behind the target at normal stick distance moded to 50% (1/2 my normal stick). I use this to adjust my melee stick attacking range. Also in the MQ2MoveUtils.ini there are some adjustments to stick.

I like to adjust it if I am fighting giants with a dwarf. seams he needs to be closer to hit.


Macro
More +

Sub Main

/echo assist me macro has started

/cleanup
/delay 5


||||||||||||||||||||||||||||||||||   AUTO ATTACK SECTION   ||||||||||||||||||||||||||

/declare CharName string outer   CharNameHere
/declare AssistAt    int outer   92
/declare AssistAtDis int outer   100
/if (${Defined[Param0]}) {
/varset AssistAt ${Param0}
}

/echo - Auto-Assisting ${CharName} @ ${AssistAt} % health
|||||||||||||||||||||MAIN LOOP|||||||
:Mainloop

/doevents


/if (!${Target.ID} || ${Target.Type.Equal[PC]} || ${Target.Type.Equal[CORPSE]}) {
   /assist ${CharName}
   /delay 7
}

/if (${Target.ID} && ${Target.Distance} < ${AssistAtDis} && ${Target.PctHPs} < ${AssistAt} && !${Me.Combat} && !${Target.Type.Equal[PC]} && !${Target.Type.Equal[CORPSE]}) {
   /delay 12
   /stick
   /delay 12
   /stick 50% behindonce
   /killthis
}

/goto :Mainloop
/return



|||||||||||||||||||||||||||||||||||||||||||||||||||||
Fri Jan 31, 2014 7:02 am
Listen to This Guy
Your target.type corpse will never fire on emu servers.
_________________
Sorvani
Fri Jan 31, 2014 9:46 am
Senior Project Member
ah. I re-read your other post about that just now.
Fri Jan 31, 2014 12:22 pm
Listen to This Guy
For melee... play around with your stick range. Play around with absolute values and % values. You may need to customize the range based on the height of each melee.

For casters in NToV... are the mobs belly cast targets?
Fri Jan 31, 2014 10:55 pm
Senior Project Member
Your target.type corpse will never fire on emu servers.


Really? Never knew. I have a few checks in a new macro that only care about corpse and it seems to work but I never bothered to add debug echo's to check.
Sat Feb 01, 2014 2:45 am
Listen to This Guy
Depends on what you are doing. If it is something involving a spawn search, it will fail because MQ2 will see the corpse as a keyword and search for that specific type, which does not work.
_________________
Sorvani
Sat Feb 01, 2014 5:48 pm
Senior Project Member
You could try using this... It will return True or False when you have a Target.. but if the Npcs name is like... "Soandso's Corpse" .. I guess that might mess it up

Macro
More +

${Target.CleanName.Right[9].Equal['s Corpse]}
Fri Feb 07, 2014 2:44 am
Oh also, for the stick range, I like to use a dynamic setting based on what MQ2 says Max melee is.
ini
More +
#rogue
stickrange=75
stickmode=1
stickcmd=${If[${Math.Calc[${Target.MaxRangeTo}*0.8]} > 19,15,${Math.Calc[${Target.MaxRangeTo}*0.8]}]} hold moveback behind

#melee DPS not rogue
stickrange=75
stickmode=1
stickcmd=${If[${Math.Calc[${Target.MaxRangeTo}*0.8]} > 19,15,${Math.Calc[${Target.MaxRangeTo}*0.8]}]} hold moveback !front

#tank
stickrange=75
stickmode=1
stickcmd=${If[${Math.Calc[${Target.MaxRangeTo}*0.8]} > 19,10,${Math.Calc[${Target.MaxRangeTo}*0.7]}]} moveback

_________________
Sorvani
Fri Feb 07, 2014 9:48 am
Senior Project Member
↑↑↑↑ looks priceless!
Fri Feb 07, 2014 10:46 am
Listen to This Guy
I'll break it out for anyone who wants to know and doesn't understand.

stickrange=75
stickrange is how close the mob has to be to you before MQ2Melee will take over and /stick. The default is 75 and is in the INI by default.



These two are NOT in the ini file by default. If you want to use them, you have to add them.

stickmode=1
stickmode tells MQ2Melee whether or not to use the stickcmd line. If you have it set to 0 or off it will use the default MaxMelee calculations. If you have it set to 1 or yes then the stickcmd setting will be used.



stickcmd=${If[${Math.Calc[${Target.MaxRangeTo}*0.8]} > 19,15,${Math.Calc[${Target.MaxRangeTo}*0.8]}]} hold moveback behind
stickcmd are the parameter to /stick that MQ2Melee will use when it issues the /stick command in combat.


A simpler example

stickcmd=10
This will cause your toon to /stick 10

stick=10 !front
This will cause your toon to /stick 10 !front

See how it works? Now to break out what that thing up there does..
${Target.MaxRangeTo} is the max melee range calculated by MQ2 based on NPC height. This is normally what is used by MQ2Melee when stickmode=0

Because I noticed some mobs on EQEmu have hitboxes smaller than calculated by MQ2, I created this and generally have no issues.
${Math.Calc[${Target.MaxRangeTo}*0.8]} takes max melee and multiplies it by 80% I settled on 80% because most mobs were always in melee range at 80%

So I take that value and wrap it in an IF statement and compare it against a range of 19 again, this was an arbitrary number i picked after testing. It can very likely be tweaked higher and probably should be tweak to a larger number.

If 80% of max melee is > 19 units, then use 15 again hard coded because i was never outside of melee range at 15 on any mob.

If 80% of max melee is < 19 units, then use 80% of max melee as my range.

Then because it is a rogue, I always want them to hold moveback behind

Let's assume max melee is 10 and 25 in the following examples. This is basically what happens

80% of 10 is 8
80% of 25 is 20

stickcmd=${If[8 > 19,15,8]} hold moveback behind
stickcmd=${If[20 > 19,15,20]} hold moveback behind

since 8 is not greater than 19 this becomes
stickcmd=8 hold moveback behind
stickcmd=15 hold moveback behind

which means mq2melee issues the following command
/stick 8 hold moveback behind
/stick 15 hold moveback behind
_________________
Sorvani
Fri Feb 07, 2014 9:53 pm
Senior Project Member
also, I like math...
_________________
Sorvani
Fri Feb 07, 2014 9:57 pm
Senior Project Member
Nice
Fri Feb 07, 2014 10:29 pm
Project Lead
Had the Dynamic Stick mess with Autofire. He kept wanting to run up close lol
Sat Feb 08, 2014 5:55 pm
Listen to This Guy
I refuse to play a ranger on principle, so no idea on that off the top of my head.
_________________
Sorvani
Sat Feb 08, 2014 7:58 pm
Senior Project Member
Goto page 1, 2  Next General Melee stand too close....
Reply