MMOBugs MQ2 Live Servers Installation - Latest Release

Status
Not open for further replies.
MMOBugs Changes

07-22-2015 by Htw & Fry
- Updated release for patch
- Updated core to MQ2-20150722

07-15-2015 by Htw & Fry
- Updated core to MQ2-20150715

Official MacroQuest2.com Source changes.

22 Jul 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for todays LIVE client

21 Jul 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for the TEST client
- Fixed a bug with finding items in bags for the test build.

16 Jul 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for TEST build.
- Removed SetForegroundWindow from the FlashOnTells feature.
(it was not working as intended when using ISBoxer)
It will still flash the window.

15 Jul 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- New Command: /flashontells
You can use it to turn flashing of the eq window on or off when you recieve a tell.
Usage:
You either do /flashontells [on|off] or just /flashontells for a toggle.
Or just set it in MacroQuest.ini to FlashOnTells=1 in the [MacroQuest] section.
NOTE: You have to have tell windows enabled in options for this to work.
- TimeStampChat, BeepOnTells and FlashOnTells are now default ON if no setting is found in MacroQuest.ini.

14 Jul 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Fixed a problem with combat abilities (thanks to William12 for the report)
Before this change you could buy a rank 1 combatability, lets say Rest
Then you bought Rest Rk. II
At that point BOTH are saved in your combatabilities array...
(I think thats a eq bug cause it sure isn't needed)
Anyway... doing something like ${Spell[Rest].RankName}
would then fail cause it would find "Rest" first...
The fix is basically calling pCombatSkillsSelectWnd->ShouldDisplayThisSkill
in every place NUM_COMBAT_ABILITIES is used...

06 Jul 2015 by rswiders
- Updated to include new currencies (Fists of Bayle, Arx Energy Crystals, Pieces of Eight)
- Fixed ${Me.AltCurrency} to be able to use Medals of Heroism not Marks of Heroism
 
MMOBugs.com Changes:

7-25-2015 by Htw & Fry

  • Updated core to MQ2-20150724
  • MQ2Bot: Updated to fix various spell/disc/add/etc. detections, additional checks (CTD prevention), disc searching updated.
  • MQ2VladUtil: Updated for disc code changes.
  • MQ2Melee: Updated for disc code changes.
  • MQ2Main/MQ2Melee: Fix for discs Ready check for TID=-1
  • MQ2Main: Removed automatic rank checking in spell related TLOs. Affects Buff, Song, Spell, PetBuff, CombatAbility, etc.



MacroQuest2.com Changes:

24 Jul 2015 by EqMule

  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for todays TEST ninja patch
  • Fixed a struct that would crash eq if mq2hud was used.
  • same struct messed up keypresses as well...
  • /mouseto is back... and thats all I have to say about that at this point, more on this some other time.

23 Jul 2015 by EqMule

  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for todays LIVE ninja patch
 
MMOBugs.com Changes:

8-07-2015 by Htw & Fry & PeteSampras

  • A few minor fixes to MQ2Melee, such as TLO data corrections, phantom line addition
  • Lot of fixes and changes to MQ2Bot, continue to post feedback in the forum thread (http://www.mmobugs.com/forums/everquest-macroquest2-compiles-plugins-and-offsets/28947-mq2bot.html)
  • GetDuration changes for spells (fixed in core by eqmule), for MQ2CastTimer, MQ2SpellTimer, and MQ2Twist
  • Re-enabled ability to find TLO members without using a Rk. II or Rk. III entry
  • Some timing adjustments for MQ2AutoLogin
  • MMOLoader updated to 4.0.2.5
  • Updated to core 20150803



MacroQuest2.com Changes:

3 Aug 2015 by EqMule

  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Fixed a 10 year old bug where GetSpellDuration would use pCharSpawn (which can be a level 30 mount)
    instad of the correct pLocalPlayer (which is actually your characters spawn with correct level)
    the impact of this would be that spells that scale their duration by the level of the caster
    would return a shorter duartion when on a mount...
    example: doing /echo ${Spell[Enticer's Command].Duration.Minutes} on a level 105 enc would return 4 when on a mount and 7 when not
 
MMOBugs.com Changes:

8-19-2015 by Htw & Fry & PeteSampras

  • Updated for patch
  • Enabled /tar (and map tar) limit of 300 on limited servers (TLP lockjaw and ragefire at this time).
  • MQ2Melee: Fixed note display issue when using /melee
  • MQ2Bot: Fixed incorrect evaluations of summoned items, levitate, invis, and invisundead.
  • MQ2MoveUtils: Fixed scatter camp return display message.



MacroQuest2.com Changes:

19 Aug 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for LIVE
- This is a heads up:
The next release will restrict /target to a radius of 300
I do this because its unreasonable to target stuff across zones.
There is absolutely no scenario where you have a reason to target a mob
until its within that range. So change your macros now if they do this.

14 Aug 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for TEST

08 Aug 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for ninjapatch.
- Updated mkplugin.exe mkplugin.cpp and ISXEQ\PostBuild.bat with changes by D2U
See MacroQuest - Login
- Updated TelnetServer.cpp with changes by rmaxm
See MacroQuest - View topic - Minor pointer bug in mq2telnet
- Updated the _LOOTITEM struct with addition by dewey2461
- Bugfix: ${Me.Inventory[someslot].Augs} now returns correct number of augslots the item has.
example: /echo My gloves has ${Me.Inventory[Hands].Augs} augslots.
NOTE: I dont know how this worked in the past, but this only counts how
many augslots an item has, it doesnt check if there is actually an augment
in the slot...
Cred: Nytemyst for the report.
- Updated MQ2ItemDisplay.cpp with changes by dewey2461
Added ${GearScore.UpgradeName}
Added ${GearScore.UpgradeSlot}
See MacroQuest - Login
 
MMOBugs.com Changes:

8-23-2015 by Htw & Fry & PeteSampras

  • Fixed movement related plugins
  • Fixed zoned.cfg message on zone

8-22-2015 by Htw & Fry & PeteSampras

  • Updated for patch

8-21-2015 by Htw & Fry & PeteSampras

  • Fixes for CTD issues
  • MQ2Bot: Added full range of disc detection
  • Several docrack corrections



MacroQuest2.com Changes:

21 Aug 2015 by EqMule

  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for TEST
  • Updated for LIVE
  • Made a few changes to how the zoned.cfg is processed
    hopefully that should fix a crash I have gotten reports about.
    *crossing fingers*
 
MMOBugs.com Changes:

9-02-2015 by Htw & Fry & PeteSampras

  • Fixed several crash issues with MQ2Bot
  • MQ2Bot should no longer unload when quitting EQ
  • Updated MQ2PCCheck command to use a single command with options instead of different commands for each option (wiki updated)
  • Updated MQ2PCCheck TLO results to consider the nogroup and noguild options (see wiki)
  • Changed SearchSpawn options for guild data. guild name=named guild (defaults to your own), noguild=not in guild, myguild=your guild, nomyguild=not in your guild
  • MQ2Navigation and EQNavigation updated (WIP - brainiac)
  • Added MQ2MMOMakeGroups
  • Fixed EnviroFall crack (NOTE: EnviroFall is now the only one, there is no 2 version)
  • Changed MQ2SpawnMaster to consider your AllowUntargetable option for any spawn alerts


MacroQuest2.com Changes:

26 Aug 2015 by EqMule

  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for TEST
  • New feature: you can now search spawns by if they are aggresive or not for more info see this post by demonstar55 MacroQuest - Login
  • Added new command: /removepetbuff
    it will remove a pet buff by name or partial name.
    Usage: /removepetbuff Spirit of Wolf
    Feature requested by: standred
  • New Commands: /popcustom and /popupecho
    for more info on these 2 commands see this post: MacroQuest - Login
    Cred: PMS
  • Added new TLO member for the Character TLO: SpellInCooldown
    it returns TRUE if you have a spell in cooldown and FALSE when not.
    Cred:demonstar55 see this topic for more info: MacroQuest - Login
 
MMOBugs.com Changes:

9-23-2015 by Htw & Fry & PeteSampras
  • Updated for patch
  • MQ2AdvPath: Updated to latest code base with support for window and new door code
  • MQ2AutoBuff: Fixed issues with random char recognition (fixed and verified)
  • MQ2VoiceCommand: Fixed CTD issue
  • MQ2EQBC: Fixed CTD issue
  • MQ2Bot: Multiple updates, load/unload issue, modrods, mana spells
  • MQ2AutoAFK: Added MQ2Melee options and wiki command
  • MQ2AutoDestroy: Added missing clear option for all commands
  • MQ2Melee: Added Conditioned Retaliation BER disc
  • MQ2EQBC: Added /bcg and /bcga commands


MacroQuest2.com Changes:

23 Sep 2015 by EqMule
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for LIVE

19 Sep 2015 by EqMule
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for TEST
  • fixed a compile error in CustomPopup when building isxeq.

19 Sep 2015 by rswiders
  • Updated autorun to allow for all toons instead of having to specify them individually.
    I did not change the /autorun command which is used to set the autorun value for the current
    toon.
    Eg., add ALL=<command> under [Autorun]</command>
  • Modified ground spawn detection to allow the value based on the actual zone.
  • Updated pluginhandler to fix a timing issue with running zoned.cfg.

17 Sep 2015 by EqMule
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for TEST
  • DmgBonusType in the itemstruct has been renamed to ElementalFlag (because thats what it is)
  • DmgBonusVal in the itemstruct has been renamed to ElementalDamage (because thats what it is)
    if you have plugins that refer to these make sure u rename as well.
  • the size of the _AGGROINFO struct changed. Cred: demonstar55
  • Added .Icon to the MQ2ItemType TLO
  • Added Scroll to the mouseinfo struct. Thanks Brainiac,
  • Fixed a crash in /windowstate that could happen when using a (bad) Custom UI. Thanks demonstar55
  • since GetCombatAbilityTimer now accepts -1 as a timer, I have removed that check
    this means you should remove it from mq2melee as well for example:
    this line: if (EFFECT->CARecastTimerID && TYPE != AA && EFFECT->CARecastTimerID != -1)
    becomes this: if (EFFECT->CARecastTimerID!=0 && TYPE != AA)
 
MMOBugs.com Changes:

10-21-2015 Hts & Fry & PeteSampras
  • Updated for Patch
  • EQLaunch 1.3.24
  • MQ2Bot: Fixed Eradicated magic AA Debuff
  • MQ2EQBC: Bug fixes, Data validation checks.
  • MQ2NEtBots: Added /bcz and /bcza (sends to bots in zone, excluding self and including self).
  • MQ2ChatWnd: Allow saving server settings for last per char, used at char selec.
  • MQ2ChatWnd: Coded in a /loadchatdefault command to set the window parameters back to [Default], save that to [server.char], and reload/redisplay window.
  • MQ2AutoForage: Changed coding so it no longer requires an ability button assigned.
  • MQ2AutoLogin: Made code sensitive to session count only for current MQ2 type.

09-26-2015 by Hts & Fry & PeteSampras
  • Disabled clickies in MQ2Bot
  • MQ2AutoForage: No longer requires an ability key to be assigned
  • MQ2AutoLogin: Only counts sessions for current MQ2 instance
  • Fixed movepacket related issues

09-24-2015 by Htw & Fry & PeteSampras
  • Updated for patch

MacroQuest2.com Changes:

21 Oct 2015 by EqMule
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for LIVE
  • Fixed and cleaned a bunch of small stuff but it is possible I broke some stuff as well,
    report if u find something that worked in last zip and not in this one.
  • ${DisplayItem} now takes an index as an option parameter index can be 0-5
    you can still just do ${DsiplayItem} and it will just pick whatever you inspected last.
    Example: /echo ${DisplayItem[5]}
  • Added a few new members to the DisplayItem TLO:
    Info = 1,
    WindowTitle = 2,
    AdvancedLore = 3,
    MadeBy = 4,
    Information = 5,
    DisplayIndex = 6
    There is a difference between .Info and .Information .Info contains for example:
    .Info can return text like; this item is placable in yards, guild yards blah blah , This item can be used in tradeskills
    .Information can return text like Item Information: Placing this augment into blah blah, this armor can only be used in blah blah

17 Oct 2015 by EqMule
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for TEST
  • Fixed a few VS 2015 compile warnings.

07 Oct 2015 by EqMule
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Added some stuff to the ALTABILITY struct, cred demonstar55
  • Renamed AARankRequired to CurrentRank in the ALTABILITY struct
  • Added .PointsSpent to the altbility TLO it returns points you spent on an AA
  • Added .Rank to the altbility TLO it returns current rank of an AA
  • Reminder: .MaxRank in the altbility TLO it returns max rank of an AA
  • I'm sorry (not really) but in my ongoing efforts to clean up the API
    I had to rename a couple functions, so take notice and go over your plugins:
    mq2cast and mq2melee calls these for example. See below:
  • Renamed GetAltAbility to GetAAById (cause thats what it is)
  • Renamed GetAltAbilityIndex to GetAlternateAbilityId (cause thats what it is)

01 Oct 2015 by EqMule
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Fixed a bunch of POSIX stuff
  • Made sure Target.Buff and Target.BuffDuration now works on spells without having to specify Rank
    example: /echo ${Target.BuffDuration[Pyromancy]} would FAIL prior to todays patch
    now it wont.
    example 2: /echo ${Target.Buff[Pyromancy]} would return NULL prior to todays patch
    now it returns the correct name including its rank: so Pyromancy XV for example...

30 Sep 2015 by EqMule (ALERTS AND MORE ALERTS AND STUFF)
  • THIS IS A MACROBREAKING PATCH! (so read these notes)
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Fixed .Mercenary in the spawnstruct for TEST -cred demonstar55
  • GetGuildIDByName now returns 0xFFFFFFFF and not 0x0000FFFF if a guild is NOT found, so if you use this function in a plugin adjust acordingly.
  • Fixed a problem with searching through spawns for guild members
    This might break you macros so pay attention!:
    Prior to THIS patch there was a difference in CASE with guild/GUILD in spawn searches:
    IF you wanted to search for a spawn like this:
    /echo ${Spawn[radius 75 pc guild noalert 6]}
    THAT WOULD MAKE MQ2 THINK the guild you where looking for was called "noalert"
    now if that was not your intention, you should have used UPPERCASE GUILD instead
    and it would just search for people in YOUR guild.
    In order to not use this confusing method of searching through spawns
    I have decided to rename lowercase guild to guildname
    so from this point and onward, you CAN specify guild OR GUILD and it will just pick your own guild
    in order to search for players of a specific guild use "guildname" and note that if there are spaces in the guildname you need encase with "".
    Example: ${Spawn[radius 75 pc guildname "Some Cool Guild" noalert 6]}
  • Added a new TLO: ${Alert}
    it has 2 members: List which returns a AlertListType and Size which returns a IntType
    Usage Example 1: /alert add 1 ${Me.Name}
    /echo ${Alert[1].List[0].Name}
    Outputs: eqmule
    /echo ${Alert[1].List[0].Spawn.Race}
    Outputs: Dark Elf (or whatever my Class is)
    Usage Example 2: /alert add 1 id ${Me.ID}
    /echo ${Alert[1].List[0].SpawnID}
    Output: 12345 (or whatever my spawnid is)
    /echo ${Alert[1].Size}
    Output: 2 (or whatever size your alert list for 1 is)
    Usage Example 3: /alert remove 1 id ${Me.ID}
    removes the list entry from alert 1 that matches: id ${Me.ID}
  • Added a new TLO Type: MQ2AlertListType which has the following members:
    well it has a crapload of members look at the source to list them but basically
    it has all the members SEARCHSPAWN has plus one extra that I call Spawn
    Spawn inherits the spawntype see the example above...
    Note that: .Spawn will only work if your alert has either .Name or .SpawnID set.
  • Bunch of other stuff fixed/added/fightclub/updated/rewritten etc.
  • ${Spell[some spell]} now looks through your aa list as well if it cant find a spell
    I did that to take the new ranks into account for example prior to this patch
    /echo ${Spell[Boastful Bellow].Range} would fail because the Boastful Bellow spell
    has been renamed to Boastful Bellow I
    anyway the fix is now in and it also means .RankName will return ranks for these kinds
    of alt abilities.

25 Sep 2015 by EqMule
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for TEST again... (cmon man are u trying to kill me?!!, scowls at hludwolf ready to attack ;)
  • So... when they patch at 8.30pm I have 2 choices:
    1. wait until the morning and go over it manually.
    2. run a quickpatch, cross fingers and release without proper testing.
    Well, I did 2. and went to bed, I guess it didnt work as intended
    uhm, so the structs has been corrected, castready and so on
    should be working again...

24 Sep 2015 #2 by EqMule
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for LIVE

24 Sep 2015 by EqMule
  • Please don't use MQ2 for unattended gameplay (afk botting)
  • Updated for TEST
  • Corrected the wwsCrashReportCheckForUploader_x offset and detour. :cred rswiders
 
MMOBugs Changes:

12-09-2015 Htw, Fry and PeteSampras
- Updated for Phinny launch patch
- MQ2EQDraw fixed
- MQ2AutoLogin fixed
- MQ2Bot updates

12-04-2015 Htw, Fry and PeteSampras
- Added MQ2IC
- Fixes for MQ2Bot
- Fixes for MQ2EQDraw
- Added max buffs MQ2DeBuffs

11-30-2015 Htw, Fry and PeteSampras
- Updated core to MQ2-20151127
- Fixes for MQ2Bot
- Altered Default loaded plugins

11-20-2015 Htw, Fry and PeteSampras
- Updated patch.
- Fixed a few broken plugins from expansion launch.

11-18-2015 Htw, Fry and PeteSampras
- Updated for expansion

10-26-2015 Htw, Fry and PeteSampras
- Updated for patch
- Merged core MQ2-20151026

10-25-2015 Htw, Fry, PeteSampras and Xeniaz
- MQ2Bot: Added Bot.AvgMana[] and Bot.AvgHP[] for group averages of alive individuals within range. default range 250.
- MQ2Bot: Added MedDuringCombat as a variable, an ini entry, and a check in CheckMed so people can med during combat if they really want to.
- Fixed MovePacket for active hacks.
- Merged Offical Zip Changes
- MQ2EQBCS: Fixed a bug that caused it to disconnect a client that just connected.

MacroQuest2.com Changes:

09 Dec 2015 by Eqmule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for LIVE
- Dont try to use mq2 or any other third party tool on the Phinigel server.
Consider this a friendly warning.

08 Dec 2015 by Eqmule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for TEST
- Misc Buffer Overflow fixes.

07 Dec 2015 by Eqmule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for TEST

05 Dec 2015 by Eqmule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for TEST

03 Dec 2015 by Devs
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for TEST
- Updated mq2ic for isxeq, copy it to your extensions folder and isxeq will load it for you.

02 Dec 2015 by Devs
- Well... This is probably the most important update to MQ2 in years.
Recent changes to the client released with the new Broken Mirror expansion
added a new type of MQ2 detection which is meant to prevent mq2 usage on the new Phinigel server.
We fully support the NO MQ2 policy on Phinigel, and we want to continue
supporting that policy and backup DBG any way we can that’s within reason.
We have therefor decided to add a new type of integrity checker to MQ2.
We have placed the code in a MQ2 plugin that has been named MQ2Ic.dll. (MQ2 Integrity checker)
We feel strongly that MQ2 is in a symbiosis with Everquest, and it’s important to us
that all MQ2 users feel safe while they use MQ2.
MQ2 users are an important part of the Everquest community and we wish to keep it that way.
In short, we recommend you keep MQ2Ic.dll loaded while you are playing Everquest.
It will protect your integrity on all servers EXCEPT Phinigel.
It will be included in every zip from now on, and will be maintained by active mq2 devs.
Its usage is optional though, and you can unload and load it like any other plugin, but it comes loaded by default.
This plugin will also fix some recent plugin issues and crashes as well as improve the fps performance.
All questions about this plugin should be directed to eqmule@hotmail.com

26 Nov 2015 by EqMule and Braniac
- HAPPY THANKSGIVING EDITION!
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for TEST
- Fixed a few annoying issues with mq2 message wrapping multiple lines in tools like DebugView. -Brainiac
- Updated ITEMINFO. AugRestrictions was in the wrong place.
- Added code to ${Target.AggroHolder} so it returns yourself as well as other now.

23 Nov 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Fixed some ISXEQ stuff
- The following commands now work in ISXEQ:
- /beepontells
- /flashontells
- /timestamp
- /click left door (remember to do /doortarget before u do that though)
- /click left item (remember to do /itemtarget before u do that though)
- /click left target
- /click right target
- /useitem "some item" (or partial name) or without the quotes... this one works for items in keyrings as well (illusions, mounts)

22 Nov 2015 by EqMule and Demonstar55
- Please don't use MQ2 for unattended gameplay (afk botting)
- Added .Index to the AltAbility TLO.
- Added .NextIndex to the AltAbility TLO.
- Added .CanTrain to the AltAbility TLO.
Usage: /if (${AltAbility[Companion's Aegis].CanTrain}) /alt buy ${AltAbility[Companion's Aegis].NextIndex}
- Added a few new APIs:
- AltAdvManager::CanSeeAbility
- AltAdvManager::CanTrainAbility
- PcZoneClient::HasAlternateAbility
- Added the /pick # command to the ISXEQ build.

20 Nov 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for TEST
- Updated for LIVE

19 Nov 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Fixed the /ranged crash

18 Nov 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for LIVE
- Updated for TEST
- Change the MQ2MountType TLO has been renamed to MQ2KeyRingType
it works exactly like the mount tlo would, but it also take illusions now
so u can do:
Usage: /echo ${Mount[1].Name}
Outputs: [MQ2] Whirligig Flyer Control Device
Usage: /echo ${Illusion[2].Name}
Outputs: [MQ2] Polymorph Wand: Steam Suit
Usage: /echo ${Illusion[Polymorph Wand: Steam Suit].Index}
Outputs: [MQ2] 2
- New Feature: you can now use /useitem on illusion items even if they are in the keyring
usage: /useitem Polymorph Wand: Steam Suit
- Change: there used to be a value in the itemstruct called CastTime
I noticed it was actully FoodDuration, so it has been renamed.
If you have any plugins that used "someitem->CastTime" from that struct,
you need to change that to whatever you intend it to do, cause for whatever
reason you have been using it up til this point, you have gotten FoodDuration back...
Im guessing that was a bug, and you really wanted someitem->Clicky.CastTime instead...
so adjust accordingly.

11 Nov 2015 by EqMule and Demonstar55
- Please don't use MQ2 for unattended gameplay (afk botting)
- BIG NEWS!
- After a really long time, messing with this on and off
I'm proud to present support for splash spells in the cast command.
You can now cast any splash spell as long as you have a target.
If you dont have a target it will just cast it at your own location.
There is no need for window in focus, or full screen or any of that stuff
you dont even have to be facing the target.
Basically the only requirement is that its in lineofsight and in range.
The splash feature was brought to you as a joined effort
with Demonstar55 as the main contributor, his tireless dissasembling
and reverse engineering as well as updates on the progress on skype, irc etc
was a major help in bringing this to you all, so give him a shoutout!
I need to mention ctaylor22 as well for pushing me to work on it at all.
Anyway... enjoy.
- Added a new member to the Spawn TLO: CanSplashLand, it returns true or false
usage: /echo ${Target.CanSplashLand}
I suggest you use this tlo member in your macros BEFORE you try to cast a splashspell
there is no point in casting it if it wont land due to a line of sight problem.
NOTE! This check is ONLY for line of sight to the targetindicator (red/green circle)
its NOT a range check, you need to check range yourself like for every other spell
before you cast it...

01 Nov 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for BETA

31 Oct 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for BETA

30 Oct 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for BETA
- Misc other stuff

29 Oct 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for BETA
- Fixed some ISXEQ code

28 Oct 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for TEST
- Updated for BETA

26 Oct 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for LIVE
- Updated for BETA
- Misc other stuff

25 Oct 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for BETA
- Misc other stuff

24 Oct 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- Updated for TEST
- Updated for BETA
- Corrected address of AugRestrictions in the iteminfo struct

23 Oct 2015 by EqMule
- Please don't use MQ2 for unattended gameplay (afk botting)
- note that /useitem <some mount> doesnt work in the beta client yet, ill see what i can do...
- Added .SkillModMax to the ItemType TLO
- Fixed a crash in mq2map when doing /loadskin
 
MMOBugs.com Changes:

12-30-2015 Htw, Fry and PeteSampras
  • Performance adjustments
  • Updated MQ2FeedMe to comply with current live server click in bags
  • Updated MQ2Bot to latest from Pete
  • Updated MQ2Melee: Added Pain Doesn't Hurt to timebleed line
  • Updated MQ2MercManager: Moved config options from global ini file to server_char.ini
  • Added Objective member to the Task TLO (thanks Dewey2461)
 
Haven't posted these changes in a few months, and this latest update I decided to go through commit log of changes for last month (I still missed quite a bit). A lot of stuff gets fixed and never mentioned in notes. I'm going to try and do a better job of maintaining this in the future.

MMOBugs Changes

03-16-2016 Htw, Fry, Brainiac and PeteSampras
- Update for patch
- Actived active hack plugins on Ragefire/Lockjaw
- MQ2Bot Changed AAs info display when /boy 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
- MQ2CharDump resolved value issues.
- MQ2Nav Improved path finding, path debug refending and resolved crash.
- MQ2Camera added
- MQ2Debuffs added changes
- MQ2NetHeal Coupole of code fixes, added corrupted/corruptions for nethealtype
- MQ2Melee Fixed spell range typo

02-17-2016 Htw, Fry, Brainiac and PeteSampras
- Update for patch
- MQ2Bot daily changes
- Everything else I'm forgotten due to rushing update

01-22-2016 Htw, Fry, Brainiac and PeteSampras
- Update for patch.

01-20-2016 Htw, Fry, Brainiac and PeteSampras
- Update for patch
- Updated MQ2Bot
- Added new plugins MQ2Camera and MQ2Nav
- Removed unnecassary DebugSpew
- Updated Zones.ini
- Updated MQ2Cursor to address bagwindow issues
 
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
 
Will try to keep changes listed here again, we got to where we didn't update it (although the changes listed in installer/server select were updated).

MMOBugs.com Changes:

11-29-2016 by Htw, Brainiac, Fry

  • MQ2BardSwap: Fixed singing skill issue
  • Fixed UI file loading from MQ2Dir/UIFiles/XXX
  • Updated Zones.ini
  • MQ2Melee: Added a few discs to existing lines
  • MQ2Bot: Fixed crash issue with berzerkers (and some others)
  • Fixed safe location movement packet issue
  • /unload fix
  • /pet fix
  • Fix for TLP AA spending issue
  • Fixed MQ2DoCrack crash
  • Added new zone to MQ2PortalSetter
  • Movement packet fix
  • Fixed MQ2FamKiller
  • Fixed /saytarget
  • Fixed MQ2EQDraw
  • MQ2Navigation crash fix
  • /dumpconnections fixed
  • Core updated to 20161128
  • Various other fixes/tweaks


MacroQuest2.com Changes:

28 Nov 2016 by eqmule

  • Fixed ${Me.ManaRegen}
  • CButtonWnd now inherits CXWnd (cause it does).
  • GetItemTimerValue has been renamed to GetItemRecastTimer
  • Removed ManaGained, HealthGained, EnduranceGained from Pulse() and the exports.
    Use GetEnduranceRegen(), GetHPRegen() and GetManaRegen() instead.
    This change should make Pulse() a bit faster since we dont check that stuff constantly.
 
Status
Not open for further replies.