MMOBugs.com Changes:
04-03-2016 Htw, Fry, Brainiac, PeteSampras
- MQ2ChatWnd: Fixed incorrect order of ini loading for defaults
- Fixed guild tag display issue
- MeshGenerator.exe now included in updates archive
- Various MQ2Bot fixes
- Updated to core 20160402
03-28-2016 Htw, Fry, Brainiac, PeteSampras
- Fixed MQ2LinkDb
- Updated for guild tag issue
- Updated to MQ2 core 20150325
03-23-2016 Htw, Fry, Brainiac and PeteSampras
- Updated for patch
- Multiple docrack fixes
03-16-2016 Htw, Fry, Brainiac and PeteSampras
- Updated for patch
- Actived active hack plugins on Ragefire/Lockjaw
- MQ2Bot Changed AAs info display when /bot on
- MQ2Bot Added if statement checks to every check routine that has spells
- MQ2Bot Added Brightedge as valid pet weapon
- MQ2Bot Fixed heals not working on pets
- MQ2Bot added ignoremob check on/findmob
- MQ2Bot Fix spell out of range errors
- MQ2Nav Improved path finding and resolved crash
- MQ2Camera added
- MQ2Debuffs added changes
- MQ2NetHeal Couple of code fixes, added corrupted/corruptions for nethealtype
- MQ2Melee Fixed spell range typo
02-17-2016 Htw, Fry, Brainiac and PeteSampras
- Updated for patch
- MQ2Bot daily changes
- Everything else I've forgotten due to rushing update
01-22-2016 Htw, Fry, Brainiac and PeteSampras
- Updated for patch
MacroQuest2.com Changes:
02 Apr 2016
- Updated for TEST
- Added the missing members to the Spell struct. - demonstar55
01 Apr 2016
- Updated for TEST
31 Mar 2016
- Moved the charinfo pIllusionsArray cause it was in the wrong place.
This prevented FindItem from finding items in the illusion keyring.
30 Mar 2016
- I think I got Advloot under control now, go for it, test it as hard as u can.
- Added a new Member .LootInProgress to the AdvLoot TLO
use it or face imminent doom!
Usage Example:
Code:
/if (!${AdvLoot.LootInProgress}) {
/echo its safe to loot
if (${AdvLoot.PCount}>=1) {
/echo im going to give 1 ${AdvLoot.Plist[1].Name} to myself
/advloot shared 1 giveto ${Me.Name} 1
}
} else {
/echo do something else, loot is in progress...
}
29 Mar 2016
- Made some adjustments to make advloot more stable
- Made some adjustments to doors , thanks htw
25 Mar 2016
- Fixed GetFriendlyNameForGroundItem to support instanced zones
- Misc fixes
24 Mar 2016
- Fix for ISXEQ build, it will compile again, report any weirdness on the forum.
- Fix to make /itemtarget select the closest item first
- Update to /items and /doors so they sort by Distance3D
- Updated /doortarget let me know if it fails to target
- Updated /click left door let me know if u find a door it cant open.
- Added a .DoTarget Method to the Ground TLO
Usage: /if (${Ground[egg].DoTarget.ID}) {
/echo we just targeted a ${Ground[egg]}
}
- Added a .DoFace Method to the Ground TLO
Usage: /echo (${Ground[egg].Doface.Distance3D}) {
Will face the closest item on the ground which has the word "egg" in it.
and then echo the distance to it in the mq2 window.
well if it finds an item with the word "egg" in it on the ground that is, otherwise it will just echo NULL
.DoFace does NOT target the ground item, it just faces it.
- Changed how /items <filter> work, its now case insensitive and takes any part of a word into account
Usage: /items egg will display all items on the ground that has the word "egg" in them.
- Changed how /doors <filter> work, its now case insensitive and takes any part of a word into account
Usage: /doors pok will display all doors in the zone which has the word "pok" in them.
23 Mar 2016
- Updated for LIVE
- WARNING! Task TLO has changed, update your macros.
- Well, I was gonna release the new Task TLO in the next zip
but then dbg decided to patch so you guys get whatever I could finish
before I had to release the zip.
It needs more documantation and definately more testing as well,
but I can say this much for now:
/echo Task 1 is ${Task[1]}
Output: Task 1 is Hatching a Plan
/echo The task with "hatch" in is name is called: ${Task[hatch]}
Output: The task with "hatch" in is name is called: Hatching a Plan
/echo ${Task[hatch]} is listed as number ${Task[hatch].Index} in the tasklist.
Output: Hatching a Plan is listed as number 1 in the tasklist.
/echo The ${Task[hatch]} first objective is to ${Task[hatch].Objective[1].Instruction}
Output: The Hatching a Plan first objective is to find where the eggs are being incubated
/echo The ${Task[hatch]} first objective status is ${Task[hatch].Objective[1].Status}
Output: The Hatching a Plan first objective status is 0/1
/echo The ${Task[hatch]} first objective should be completed in ${Task[hatch].Objective[1].Zone}
Output: The Hatching a Plan first objective should be completed in Hatchery Wing
/echo I should be working on ${Task[hatch].Step} in ${Task[hatch].Step.Zone}
Output: I should be working on find where the eggs are being incubated in Hatchery Wing
- Added .Type to the Task TLO: it outputs a string Quest or Shared depending on the task:
Usage: /echo ${Task[hatch].Type}
Output: Shared
- The Task TLO also has a .Select "Method" (see below for an explaination of TLO methods.)
.Select can select list items and combobox items.
.Select returns TRUE if a selection was made and FALSE if not.
Usage: /if (${Task[hatch].Select}) {
/echo I just Selected a task that has the name "hatch" in it...
} else {
/echo I did not find a task that has the word "hatch" in it, so nothing was selected.
}
-
- Fixed a racecondition crash in mq2bzsrch.
- Fixed a plugin unload/load crash
- Made some changes to mutex locks.
- Fixed the loot and the trade struct for the test build.
- Added a new command /invoke to invoke TLO Methods...
Basically we have had TypeMethods in the source for years, but it was never finished.
Consider these methods beta for now.
So from the command line or hotbuttons you can do stuff like: /invoke ${Spawn[eqmule].DoTarget}
and it will execute the DoTarget method of the Spawn TLO... (and /target eqmule IF it finds that spawn)
In macros it should make things more simple but at the same time add more power
because now you can do stuff that saves a few lines, like:
/if (${Spawn[eqmule].DoTarget.ID}) {
/echo i just targeted ${Target}
}
or
/if (${Spawn[eqmule].DoFace.ID}) {
/echo i just faced eqmule
}
the following Methods are available for use and testing as of this patch:
For the Task TLO:
.Select
For the Spawn[]. TLO:
.DoTarget
.DoFace
.DoAssist
.LeftClick
.RightClick
For the Me. TLO:
.Stand
.Sit
.Dismount
.StopCast
For the Me.Buff TLO Member:
.Remove
For the Switch TLO:
.Toggle
For the Ground TLO:
.Grab
For the Window TLO:
.LeftMouseDown
.LeftMouseUp
.LeftMouseHeld
.LeftMouseHeldUp
.RightMouseDown
.RightMouseUp
.RightMouseHeld
.RightMouseHeldUp
.Select
- And finally, there seem to be some problem with /click left door
I will have a look at that tomorrow.
17 Mar 2016
- Fixed a crash in the ${Merchant} TLO
- Fixed a crash in the ${Task} TLO
16 Mar 2016
- Updated for LIVE
- Added a new TLO: GroundItemCount
usage: /echo There are ${GroundItemCount[apple]} Apples on the ground
Output: There are 5 Apples on the ground
- usage: /echo There are ${GroundItemCount} items on the ground in this zone.
Output: There are 12 items on the ground in this zone.
- Extended the Ground TLO to accept searches
usage: /echo The closest ${Ground[brew].DisplayName} is ${Ground[brew].Distance3D} away from you.
output: The closest Brew Barrel is 26.4 away from you.
Note that both of the searchfunctions are case insensitive and are sorted by distance colosest to you.
The only acceptale parameter in the search filter is by name or partial name.
-
- Added .Distance3D and .DisplayName to the Ground tlo
DisplayName will display the actual name of the ground item, .Name will still display the actorname...
${Ground} now defaults to ${Ground.DisplayName} instead of ${Ground.ID}
- Doortargets as well as GroundTargets are now cleared when you do a /target clear
15 Mar 2016
- Maintenance Release, bunch of cleanups and stuff that should improve overall stability.
-
-Updated all vcxproj files and solutions to use build.props for easier administration - Cred: brainiac
-
- Fixed Me.Dar, Me.Counters, Buff Dar and Buff Counters - Cred: Demonstar55
- Community can provide input if we should separate them into their elements.
- For now they return combined, which might be useless.
-
- FRIENDLY DEV TIP OF THE DAY:
- Some people has been asking me how to run VS as admin by default in windows 8-10:
- There is a simple trick to it, and I recommend that everyone do this, but
- especially if you are going to debug MQ2 OR build ISXEQ because it needs
- to copy files to your InnerSpace directory and that is usually located
- under Program Files (which requires admin privs).
- Anyway... to do this, paste the following link in your browser:
-
Let me google that for you
- When you have followed those steps, navigate to this directory:
- C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv
- Now locate the VSLauncher.exe in that dir, rightclick it, select properties
- Go to the compatability tab, and check the "Run this proram as an administrator" box.
- Click ok. That's it. From that point on, your VS will always start itself as admin.
12 Mar 2016
- Updated for TEST
09 Mar 2016
- Updated for TEST
- New SPA's added
- IsBodyType has been renamed to HasProperty (cause thats what it is)
- Bunch of changes to mq2windows, lets see if it works as intended.
-
- Added a new TLO Member to ${Me} .AssistComplete
. You can check it after you do a /assist. It will be true when the assist request has been completed.
. Usage Example: /assist Eqmule
. /delay 5s ${Me.AssistComplete}==TRUE
. /if (${Target.ID}) {
. /echo EqMule wants me to help fighting ${Target}
. }
- Turned on Exception Handling (/EHsc) for all projects except mq2main
- when we move to the v140xp toolset we can use the noexcept keyword to turn it on for mq2main as well...
-
- --------------------> VERY IMPORTANT STUFF BEGIN <-------------------
- It's time to upgrade to Visual Studio 2013 Community or newer.
- From this version and onward we will not support older compilers.
- There just isn't any good reason now that Microsoft has free Community Editions
- which can build mq2 just fine.
- Therefor:
- All vcxproj files has been updated to use the vs2013 toolset (v120xp) (thanks Brainiac)
- We want to move to 2015, but we will have to wait until ISXDK supports that version.
- If you use 2015, just install the vs 2013 community edition if you want to build ISXEQ
- For mq2 it doesn't really matter, you can build it with 2015 toolset (v140 or v140xp)
- just let it upgrade if it asks for it.
-
- Older solution files has been removed:
- For building MQ2 use MacroQuest2.sln
- --------------------> VERY IMPORTANT STUFF END <---------------------
-
- If you have no interest in building ISXEQ you can stop reading now.
-
- For building ISXEQ use ISXEQ.sln PLEASE NOTE: --------------->
- The red headed stepchild ISXEQ has gotten some love this week.
- You might have noticed that the zip grew a bit in size this release
- the reason is that it now includes all files needed to build ISXEQ.
- So...
- This means that from now on, you can just open ISXEQ.sln and build it.
- DO NOT LET IT UPGRADE THE TOOLSET! it only works with the v120xp toolset.
- Having said that, No more additional downloads, googling for libs, headers, updating paths
- patching files, reading pages and pages of forum threads, and all that extra
- shiz that we all love to spend time on...
- In other words we made it easier to build ISXEQ "out of the box" (aka the zip)
24 Feb 2016
- Updated for TEST
- Changed how GroupAssistTarget and RaidAssistTarget works
before this change you could get a return that was invalid when no mainassist was assigned.
since I make sure there actually is a mainassist in the group or raid
this is no longer possible.
- Fixed /pickzone so picks above 9 can be picked - cred: derple
19 feb 2016
- Added .BuffsPoplulated to ${Target}
- Usage example:
- /target pet
- /delay 5s ${Target.ID}==${Pet.ID} && ${Target.BuffsPopulated}==TRUE
- /echo ${Target} has ${Target.BuffCount} buffs on him.
-
- Trampoline following - cred: brainiac
18 Feb 2016 by rswiders
- Updated to make GetNumSpellEffects inline.
- Updated MQ2Map to use layer 2 again.
- Updated more groundspawn names.
17 feb 2016
- Updated for LIVE
- I refer you all to the change message from 12 feb 2016
the changes described in it, now applies for LIVE build as well.
- Fixed SpellReady so it's 111% reliable now.
14 feb 2016 HAPPY VALENTINES DAY!
- Removed most of the holes I punched in the source with #if defined(TEST) in the last version cred: brainiac
- Updated some stacking code cred: demonstar55
- Fixed SpellReady so it's 110% reliable now.
- minor fixes
12 feb 2016
- Fixed SpellReady so it's 100% reliable now.
- Other stuff
- Updated for TEST
- BELOW THIS LINE ARE TEST RELATED CHANGES, BUT LIVE BUILDERS SHOULD READ IT AS WELL (cause it is comming your way)
-
- Added CalcIndex to ${Spell} (on TEST)
- Added NumEffects to ${Spell} (on TEST)
- Both of them SHOULD be used in macros that enumurate Base, Base2, Calc,Attrib and Max
- Example: lets say your macro does this:
- /for i 1 to 12
- /echo Base ${i} is : ${Spell[Augmentation].Base[${i}]}
- /next i
- FROM NOW ON: IT SHOULD LOOK LIKE THIS: (or you will get errors running it)
- /varcalc count ${Spell[Augmentation].NumEffects} + 1
- /for i 1 to ${count}
- /echo Base ${i} is : ${Spell[Augmentation].Base[${i}]}
- /next i
-
-
- Ok, listen PEOPLE WHO BUILD MQ2 FOR -> TEST <- : this is IMPORTANT!:
- This patch punched a bunch of holes in mq2, and Im telling you folks right now:
- IF YOU DONT UPDATE YOUR PLUGINS THEY WILL Fail to build.
- ok and here is how to update them:
- Search EVERY single plugin you have for references to ->Base[, ->Base2[, ->Calc[, ->Attrib[ and ->Max[
- Replace EVERY result with a proper call to the corrosponding new APIs:
- LONG GetSpellAttrib(PSPELL pSpell, int index);
- LONG GetSpellBase(PSPELL pSpell, int index);
- LONG GetSpellBase2(PSPELL pSpell, int index);
- LONG GetSpellMax(PSPELL pSpell, int index);
- LONG GetSpellCalc(PSPELL pSpell, int index);
- Let me give and example: You do the search and you find this code:
- for (int a = 0; a < 12; a++) {
- switch (spell->Attrib[a])
- YOU MUST replace that code... with this:
- if (PSPELL spell = GetSpellByID(SpellID)) {
- for (int a = 0; a < GetSpellNumEffects(spell); a++) {
- switch (GetSpellAttrib(spell, a))
-
- Notice what I did there? you CANNOT and SHOULD NOT use hardcoded "12" anymore
- It just isn't how spell effects are stored anymore, they only store
- the ACTUAL number of effects in memory, not all 12 slots...
- So... the new Spell member function GetSpellNumEffects(x) SHOULD ALWAYS be used from now on.
-
- Mkay? questions?, come talk to us on irc/skype/email whatever...
- And finally, for the LIVE people... this is comming your way within a week or so when
- they patch for LIVE, so get ready, cause I'm not going to repeat this info again.
- This message will self destruct in 3...2...1...
28 Jan 2016
- The changes to the Task TLO from the Jan 14 patch has been reverted, they where not ready for production yet.
- Me.Pet has been fixed for TEST along with a bunch of other spawninfo offsets that where all off.
- Me.Trader has been fixed for LIVE
- Me.Buyer has been fixed for LIVE
- Added Poisoned and Diseased to ${Target}
- Added Poisoned and Diseased to ${Me}
- RewriteMQ2Plugins has been removed, it was a dangerous function that could set all plugins to 0 if you crashed while doing /plugin someunstableplugin unload
- RewriteMQ2Plugins has been replaced with SaveMQ2PluginLoadStatus
- Added Krono to ${Me}
- Added XTargetSlots to ${Me}
- Misc other fixes.
- Stuff
22 Jan 2016
- Updated for TEST
- Updated for LIVE