Errors = function doesn't work in SoD version of MQ
Reply
= function doesn't work in SoD version of MQ
The = function which forces a exact match isn't working in MQ for SoD.

Examples:

/target =${PName}
or
/varset PID ${Spawn[PC =${PName}].ID}

should do a exact name match, but instead can't target or returns a NULL/0.

May seem minor, but when you have people naming all their toons off the root of their mains name such as, Ken, Kensk, Kenclr, Kenenc, etc, it makes it damn hard to target Ken himself, /target ken would always target the nearest Ken*.

This of course also applies to NPCs that may share root names such as Buster's Pet.
Thu Nov 18, 2010 4:57 am
Hmm, honestly never seen that before, it would be in mq2main.dll which is basically untouched. I'll have to go poke around and find it. Have you successfully usEd it in titanium or sof?
Thu Nov 18, 2010 7:22 am
Project Lead
I'm not seeing anything about this.... can you direct me to some documentation

those are both spawn search strengs, here is the appendix for those

Appendix F: Spawn Search filters

The following filters are allowed in using spawn searches with any command using a spawn search:

pc
npc
merchant
pet
nopet
corpse
trigger
untargetable
trap
check
timer
any
next
prev
lfg
gm
group
trader
range lowerlevel upperlevel
loc floatX floatY
id intid
radius floatR
body bodytypename
class classname
race racename
light lightname
GUILD
guild guildname
alert n
noalert n
notnearalert n
nearalert n
zradius floatR
notid n
nopcnear floatR
named level
Thu Nov 18, 2010 8:02 am
Project Lead
It exists in the ${FindItem[=Flask of Water].ID} and in the ${Spell[=Complete Heal].ID}

I use it in a few macros on occasion, but I've never tried it with the ${Spawn} TLO. I would assume it works (or should) on any "search" inside a [ ].

I'll try and test it in game today sometime as I use SoD.
_________________
Sorvani
Thu Nov 18, 2010 8:14 am
Senior Project Member
This funciton seems to be working perfectly fine to me. I tested it by having my wizard "Sorvani" summon his familiar. Then I positioned the familiar between the two toons.

/target Sorvani would always hit the familiar.
/target =Sorvani would always hit my wizard.

Testing the below macro, it will always hit my wizard with or without the = because of the PC filter. Remove the PC filter and the = works as expected. FYI the NearestSpawn is typically better to use for speed. If you are in a zone with 500+ spawns it can take a while for a Spawn search to return.

More +
sub main
   /declare PName string local Sorvani
   /declare sPID int local ${Spawn[PC =${PName}].ID}
   /declare nsPID int local ${NearestSpawn[PC =${PName}].ID}

   |make sure my target gets cleared
   /squelch /cleanup
   /delay 1s

   /echo Now attempting to target ${PName} sPID:${sPID}  nsPID:${nsPID}
   /target =${PName}
   
/return

_________________
Sorvani
Thu Nov 18, 2010 9:06 am
Senior Project Member
Update I redownloaded the mqemu package because I've been playing with tweaking some plugins and had to rebuild some things.

This does not work with the SoD builds available from here. So there is some problem.
_________________
Sorvani
Thu Nov 18, 2010 3:04 pm
Senior Project Member
Interesting, was the other build you were using from here? I'm baffled as to how this got jacked up
Thu Nov 18, 2010 3:30 pm
Project Lead
did a little poking around in mq2main.dll and think i found something. sent it to maudigan to work on.
_________________
Sorvani
Thu Nov 18, 2010 4:29 pm
Senior Project Member
Weeeeee....Stirred a hornets nest I see!

It works in my Titanium version.
Fri Nov 19, 2010 12:13 am
Think all the recent builds need to be looked at because i downloaded one of the titanium classic and sod classic and now all my macros are getting weird flowstack issues that ran just fine before i downloaded the newer copys. i still have my older copy of titanium but yeah wont work on sod =)
Fri Nov 19, 2010 4:27 pm
MQ2Main.dll rarely gets changed. It was recompiled for titanium when the new download system went in cause I accidentally did a clean, but other than that SoD hasn't been rebuilt since Sep 23, Underfoot since Aug 25. The date on the files is like Nov 1 I think... that wasn't a rebuild date I was fooling around with the archives and all file dates were updated. When the new download system went in I literally downloaded the old builds off the site, unzipped and then drag and dropped them into the new download tool.

Not that any of that proves you aren't getting an error i'm sure you are =P

Do you have any more details as to when/why the errors are happening, or maybe what dll is causing it.

Sorry if I'm on the offense at all... i've been arguing on reddit for the last 4 hours.
Fri Nov 19, 2010 4:36 pm
Project Lead
Ok, i'm looking through the code right now. Through the stock MQ code it isn't in there for titanium, or SoD, but it is there for Underfoot. It touches mq2main.cpp, mq2utils.cpp, mq2clobals.cpp, mq2globals.h, and mq2internal.h. So far as I can tell at the moment. I'm working to backport it from underfoot to titanium and Sod, sorry SoFer(go upgrade already!).

It will take a bit but hopefully I can push in a little while. I've felt your pain on this in the past every time my crude macros would tell a toon to attack "protector of zek" and they would run across the arena the "a protector of zek" and cause a train.

EDIT: it compiled mq2main no problem, building the rest now and giving it a test run. hopefully i can find someone with a pet

EDIT: ok, i logged in titanium, /target duste, got "Dueste`s Warder", did /target =duste, got "Duste"

checking into a crash I got before I push anything, I think it's related to a plugin that is in development, not something that goes out.
Fri Nov 19, 2010 5:01 pm
Project Lead
done
Fri Nov 19, 2010 5:35 pm
Project Lead
Errors = function doesn't work in SoD version of MQ
Reply