Once again, I'd like to be clear about the work the devs at macroquest2.com do for MQ2, and your enjoyment of it. Go join up & get VIP if you haven't.
Also, I am going to edit our compile thread and put their changes info in there, and from now on, for each patch, so you guys can see the kind of work they do. They deserve the credit for the work they do, even if you cannot afford to give them a donation.
VISIT MACROQUEST2.COM
For those who have not read through the changes.txt in the compile (or at login), here it is, consider the amount of work involved:
Also, I am going to edit our compile thread and put their changes info in there, and from now on, for each patch, so you guys can see the kind of work they do. They deserve the credit for the work they do, even if you cannot afford to give them a donation.
VISIT MACROQUEST2.COM
For those who have not read through the changes.txt in the compile (or at login), here it is, consider the amount of work involved:
Code:
07 April 2009 by rswiders, dkaa, ieatacid
- Updated for today's patch
29 March 2009 by ieatacid
- Added Me.Mercenary which returns one of the following: SUSPEND, ACTIVE, NULL, UNKNOWN
21 March 2009 by ieatacid
- Me.CombatAbilityTimer and Me.CombatAbilityReady should now function correctly
19 March 2009 by rswiders
- Updated for today's patch
15 March 2009 by ieatacid
- Fix for active leadership abilities
- Fix for GetCombatAbilityTimer crash (dkaa)
12 March 2009 by ieatacid, rswiders
- Updated for today's patch
09 March 2009 by rswiders
- Fixed aura (by name). You can determine if an aura is active with Me.Aura[#aura name effect].ID
- Fix for buff stacking issue
- Cleaned up merc names for Group.Member[#]
12 February 2009 by dkaa, ieatacid, rswiders
- Fixed pet buff window information/stackspet
- Fixed NPCCorpse mapfilter toggle
12 February 2009 by ieatacid, rswiders
- Updated for the patch on the 11th
9 February 2009 by rswiders
- Added exact match option to spawn searchs (use a "=" immediately preceeding the name being searched for)
- Updated named mob identification. Named mobs will not exist in non-combat zones and warders, familiars, etc. have been demoted from their named status.
- Added /mapfilter option for named spawns (will toggle between named/normal npcs when npc filtering is active)
- Updated /mapfilter corpse as a master toggle for PC/NPC corpses. When active, you can toggle PC/NPC filtering using PCCorpse/NPCCorpse respectively.
- Added Faycites, Chronobines as additional alternate currencies
31 January 2009 by dkaa
- added "targetable" as a spawn search modifier
20 January 2009 by ieatacid, dkaa
- Updated for today's patch
18 January 2009 by ieatacid
- Adjusted spawn types for banners. The client lists the following races as banners: 500, 553-557, 586
17 January 2009 by ieatacid
- Added "/mqclear" command to MQ2ChatWnd which, you guessed it, clears the MQ2 chat window. This does it the right way and removes all text from the window, unlike some plugins I've seen that just add 11ty new lines (\n) to the chat window
- Fixed "/setautorun". It was saving incorrectly so AutoRun ini entries would never be processed (thanks pms)
- The "/dosocial" command should now work properly
11 January 2009 by ieatacid, rswiders
- Events will once again trigger on "You have entered <zone name>."
- Completed formatting corrections for using spaces vs. tabs
- Corrected bug with spawnsearch. Spawn[id 0] WILL NO LONGER return the same values as ${Me}. You have been warned.
- Corrected spell stacking bug with some new spells (.Stacks/.WillStack)
29 December 2008 by dkaa
- added params to the /exec command (thanks three-p-o)
11 December 2008 by dkaa
- fixed a bug in the pet window with BuffFadeETA
- turned of macro error logging by default because it causes crashes if the log file is unwriteable
11 December 2008 by rswiders
- updated for today's patch
10 December 2008 by rswiders, ieatacid, dkaa
- updated for today's patch
10 December 2008 by dkaa
- Macro errors are now logged to a file
29 November 2008 by ieatacid
- Removed window manager drawing of the cursor on each pulse while in screen mode 3 (UI hidden) -- not needed since EQ switched to using Windows' cursor
05 November 2008 by ieatacid
- Fixed caption crash that happened on some untargetables
- Added "Flyer" spawn type for spawns that appear in some zones with NaN location data, which will filter them from NPC spawns
- Fixed Me.Aura bug when passing a number to it
03 November 2008 by dkaa
- added Triple Attack to skills.h
29 October 2008 by rswiders
- Updated for today's patch
27 October 2008 by ieatacid
- Removed BuffUpdate from the target type. It's no longer cleared when you switch/release targets and, as such, serves no real purpose
22 October 2008 by ieatacid
- Added mercenary as a spawn type and map filter option
- Added bool mercenary to groupmember type
- Me.Aura now can now receive an index to access more than one aura (no index defaults to the first aura)
21 October 2008 by rswiders
- Updated for October 21st patch
19 October 2008 by dkaa
- fixed the problem with the first line of macro not being run if /macro
was invoke within a macro.
17 October 2008 by rswiders
- Added Spawn.Loc and .LocYX. Loc is a float formatted string, LocYX is an int formatted string.
- Display permanent buff timers as "Perm" not "-0:18"
- Misc source cleanup
12 October 2008 by ieatacid
- Added BuffDuration to target type. It takes the buff name or number as a parameter and returns a ticks type.
- Added to Group TLO: string MainTank, string MainAssist, string Puller
- Added to groupmember type: bool MainTank, bool MainAssist, bool Puller
11 October 2008 by rswiders
- Update mappable commands with all correct values, looks like it was not done in initial patch
- Update for Me.State. If you are on a mount it will return "MOUNT" instead of continuing on and returning "STAND"
11 October 2008 by dkaa
- Fix for mappable commands -- thanks, brainiac
- Fix for class type 71, merc liaison.
10 October 2008 by dkaa
- Fix for VC6 compile problems.
09 October 2008 by ieatacid
- Changed target TLO. It now uses the new TargetType which inherits the spawn type. The TargetType contains the following members:
Buff (access to spell type): returns the target's spell by index (${Target.Buff[n]}) or name (${Target.Buff[name]}). If no index is given (${Target.Buff}) it returns the first spell name or "NULL" if the target has no buffs
BuffCount: returns the number of buffs on the target
BuffUpdate: since there's a delay between when you target a spawn and when you get their buff data, this lets you know if the buff data is available
09 October 2008 by ieatacid, dkaa, rswiders
- Updated for October 7th patch
- Added spawn type members: CurrentMana, MaxMana, Current Endurance, MaxEndurance -- these behave like CurrentHPs (only updated when you target a spawn)
08 September 2008 by ieatacid
- Added Level to groupmember type
07 September 2008 by rswiders, ieatacid
- Fixed Group.Member[x].Name and .Leader
06 September 2008 by rswiders
- Fixed Group.Member[x].Name
05 September 2008 by rswiders
- Fixes for group CTD issues
- Added Group.GroupSize back in... it's in the html manual but wasn't in the source
05 September 2008 by rswiders, dkaa
- Fix for v6 compiles
05 September 2008 by ieatacid, rswiders, dkaa
- Updated for today's patch
21 August 2008 by dkaa
- Add Tradeskills to TLO Item courtesy of brainiac
20 August 2008 by ieatacid
- Added Counters to the character type (total number of detrimental counters you have) and Counter to the buff type (counters per buff)
11 August 2008 by ieatacid
- Updated for today's patch
17 July 2008 by ieatacid, rswiders
- Updated for today's patch
- Added a bunch of stat bonus stuff to the character type (differentiation). See this thread for more info: http://macroquest2.com/phpBB2/viewtopic.php?t=15646
14 July 2008 by ieatacid
- Added "PCCorpse" map filter to MQ2Map, "Corpse" filter now just works on NPC corpses. Default color is the same as default NPC corpse color.
14 July 2008 by dkaa
- Fixed the pet info wnd struct
9 July 2008 by ieatacid, rswiders
- Updated for today's patch
19 June 2008 by dkaa
- added augs to item TLO -- thanks dewey2461
19 June 2008 by dkaa
- HeroicWIZ is now HeroicWIS -- thanks dewey2461
09 June 2008 by ieatacid
- Added raidmember Raid.MainAssist
- Added function EQPlayer *GetSpawnByName(char *spawnName)
- Changed some stuff that used map::SpawnByName to use GetSpawnByName (should fix other stuff)
29 May 2008 by ieatacid, dkaa, rswiders
- Updated for today's patch
23 May 2008 by rswiders
- Updated class descriptions (DoN Merchants / Fellowship Registrar)
22 May 2008 by rswiders, ieatacid
- Updated for today's patch
22 May 2008 by rswiders
- Added dead, stunned, hovering to Spawn TLO
- Fixes to getspellduration
12 May 2008 by dkaa
- Added Friends TLO
7 May 2008 by rswiders, ieatacid
- Updated for today's patch
24 April 2008 by rswiders, ieatacid
- Updated for today's patch
17 April 2008 by rswiders, ieatacid, dkaa
- Updated for today's patch
1 April 2008 by ieatacid, dkaa
- Updated for today's patch
17 March 2008 by ieatacid
- Redid item tooltip timers to just use one hook. This also allows timers to be displayed when all bag tooltips are displayed (i.e., <alt>+<mouse over> a bag)
10 March 2008 by dkaa
- Fix for #XXXXXX color processing. Thanks QuestionTheAnswers.
7 March 2008 by ieatacid
- "some dev please do a new zip and be sure it contains the new ISXEQ.NET folder, thx (Lax)"
28 February 2008 by rswiders, ieatacid
- Updated for today's patch
7 February 2008 by ieatacid
- Fixed /buyitem and /sellitem to work with stacks of up to 100 -- includes a sanity check so you don't request a stack size from the server that's greater than what's allowed for that item (so, theoretically, you can do "/buyitem 100" on everything to always buy the max stack size of the selected item)
6 February 2008 by ieatacid, rswiders
- Updated for today's patch
26 January 2008 by ieatacid
- Added ticks type Me.Downtime (the time left on your combat timer)
- Added to the item TLO: EnduranceRegen, HealAmount, Clairvoyance,
DamageShieldMitigation, SpellDamage, and all the Heroic stats
21 January 2008 by dkaa
- Added a list of actor defs for ground items.
19 January 2008 by rswiders
- Fixed /lootall command
18 January 2008 by rswiders
- Added Macro.Paused, Spawn.StandState
17 January 2008 by ieatacid, rswiders, dkaa
- Updated for latest patch
2 January 2008 by ieatacid
- Changed "/cast item" so that it should now work on all items
24 December 2007 by ieatacid
- Added adjustable HUD font size (off by default)
To enable it set "UseFontSize=on" in the [MQ2HUD] section
in MQ2HUD.ini and edit each HUD line to match this format:
TYPE,SIZE,X,Y,RED,GREEN,BLUE,TEXT
Example:
LastTell=3,2,401,0,255,0,LastTell: ${MacroQuest.LastTell}
becomes this with a font size of 4:
LastTell=3,4,2,401,0,255,0,LastTell: ${MacroQuest.LastTell}
* Valid sizes are 0-11.
17 December 2007 by dkaa
- Added brainiac's /mqfont fix
12 December 2007 by ieatacid, dkaa
- Updated for today's patch
7 December 2007 by rswiders
- added new /lootall command
- removed rk. II/III spell handling... use exact spell names
- fixed /zonehud command and hud zone processing
- added MQ2 crash detection processing back in
5 December 2007 by ieatacid
- Updated for today's patch
25 November 2007 by ieatacid
- "/shift /click right target" will now loot all items on a corpse
20 November 2007 by rswiders, ieatacid
- Updated for today's patch
17 November 2007 by dkaa
- fixed SPELLFAVORITE
- fixed the crappy Rk. II/III handling
- fixed a crash on zoning
14 November 2007 by ieatacid, rswiders, dkaa
- Updated for November 13th patch
8 November 2007 by rswiders, ieatacid
- Updated for today's patch
30 October 2007 by ieatacid, rswiders
- Updated for today's patch
08 October 2007 by dkaa
- fixed calc where '...) - <expr>' was treated as negate instead of subtract
27 September 2007 by dkaa
- fixed /next
17 September 2007 by ieatacid
- Added Me.Fellowship
* fellowship type members:
int ID: fellowship ID
string Leader: leader's name
string MotD: message of the day
int Members: number of members in fellowship
fellowshipmember Member: member info by index (1-9) or name
ticks CampfireDuration: how much time is left on campfire
float CampfireY: self explanatory
float CampfireX: "
float CampfireZ: "
zone CampfireZone: zoneinfo for the campfire
bool Campfire: TRUE if campfire is up, FALSE if not
to string: TRUE or FALSE
* fellowshipmember type members:
zone Zone: zoneinfo for this player
int Level: this player's level
class Class: class info for this player
ticks LastOn: when this player was last online
to string: player name
7 September 2007 by ieatacid
- Updated for patch
6 September 2007 by ieatacid
- Updated for patch
15 August 2007 by ieatacid, rswiders, dkaa
- Updated for patch(es)
25 July 2007 by ieatacid, dkaa
- Updated for today's patch
23 July 2007 by rswiders
- Added Campfires to spawn searchs and mapfilters
16 July 2007 by dkaa
- fixed NearestSpawn to work correctly with loc
12 July 2007 by ieatacid
- Updated for Today's patch
- Wrote our own version of EQ's get_melee_range function (thanks Purple for the help with fcomp flags!).
- Added more stuff to item TLO
6 July 2007 by ieatacid, rswiders
- Updated for July 5th patch
- Some of the text coloring was removed from MQ2ItemDisplay since EQ now colors the item name green or red if you can or can't use the item (EQ also handles this text differently now).
17 June 2007 by ieatacid
- '/click left <x> <y>' works again. It's now possible to
click tradeskill containers and ground spawns. This only
works on the actual game play environment. It does not
work on UI windows (there are existing commands for that)
or anything out of the viewport area.
- Added '/click left center' to click the center of the viewport area
- Added the following to the macroquest TLO:
* ViewportX - left edge of the viewport area
* ViewportY - top edge of the viewport area
* ViewportXMax - right edge of the viewport area
* ViewportYMax - bottom edge of the viewport are
* ViewportXCenter - center of the viewport area going from left to right
* ViewportYCenter - center of the viewport area going from top to bottom
* LClickedObject - successfully clicking a ground spawn, TS container,
NPC, or PC (using '/click left center|<x> <y>') will set this to TRUE
- Removed the /mouseto command since it no longer did anything
10 June 2007 by rswiders, dkaa
- Added clicking links with /notify. Use /notify ChatWindow CW_ChatOutput link <link structure>
The link structure consists of 44 characters of the link starting with the 2nd character of the item id (ie, drop the leading 0).
9 June 2007 by ieatacid
- Tell windows will now trigger events and '#chat tell'
6 June 2007 by ieatacid
- Updated for today's patch
28 May 2007 by ieatacid
- Added character TLO members Doubloons, Orux, Phosphenes and Phosphites (alternate currencies)
20 May 2007 by ieatacid
- Added item TLO members Power and MaxPower (both for power sources) and Purity
19 May 2007 by dkaa
- added a bunch more stuff to the item TLO
18 May 2007 by dkaa
- added AC, HP, STR, STA, AGI, DEX, CHA, INT, WIS, Mana for items. thanks equser2002.
17 May 2007 by dkaa
- Fixed the chat wnd
16 May 2007 by ieatacid
- Updated for today's patch
20 April 2007 by ieatacid
- Updated for today's patch
19 April 2007 by dkaa, ieatacid, eqmule
- fix for opcode detection to restore plugin zoning functions
- outgoing messages via SendEQMessage are disabled. this means
/click left item, /bzsrch, and /pricecheck are not functional
18 April 2007 by ieatacid, dkaa
- Updated for today's patch
- Updated MQ2EQBugFix to stop a crash that occurs when going from character select to server select (thanks cronic). This may only be WinEQ2-related, but it's there should you want to use it.
6 April 2007 by rswiders
- Added Banners to spawn searchs and mapfilters
- Spell stacking changes are back...
.. Stacking of spells with themselves will occur again. For .Stacks and .StacksPet they take
.. a new parameter [###]. This will check the duration left on the spell, if the duration left is
.. less then the parameter value the spell will show it stacks with itself. To retain old behavior
.. use [0] for the parameter (.Stacks[0] and .StacksPet[0] retain old behavior)
.. example - .Stacks[4] will return TRUE when less then 4 ticks remain on the spell buff in question
5 April 2007 by ieatacid
- Updated for today's patch
15 March 2007 by ieatacid, dkaa
- Updated for March 14th patch
21 February 2007 by ieatacid
- Updated for today's patch
19 February 2007 by rswiders
- Fix for campfire objects
- Fix for short buffs
- Fix for label of last target on map
17 February 2007 by ieatacid
- Fixed _SPAWNINFO.Mount
17 February 2007 by ieatacid
- Fixed item Clicky/Proc/Worn/Focus stuff not working
- Added dkaa's _EQLOOTWINDOW fix (${Corpse.Item} stuff should now work correctly)
17 February 2007 by dkaa
- changed the EQ_END_ZONE to the correct value
- changed the bag slot numbers to start at 262 from 251. See: http://www.eqinterface.com/forums/showthread.php?p=94698&highlight=262#post94698
16 February 2007 by ieatacid, dkaa
- Updated for The Buried Sea expansion. New "Power Source" item slot means slot changes:
* Slots charm through waist are the same (0-20), "Power Source" is 21, 22 is ammo, 23 - 30 are inventory (bag) slots
17 January 2007 by ieatacid
- Updated for today's patch
14 January 2007 by rswiders
- Fix for zone translocate spell information crash displaying items
- Changes to spell stacking (spells will say they stack with themselves)
12 January 2007 by ieatacid
- Fix for Me.Aura for Monk auras (spelling error on SoE's part :o)
- dkaa told me about an AuraMgr struct and how it relates to AuraInfo -.-
- Added charinfo svChromatic, svPrismatic (Charisa)
2 January 2007 by rswiders
- Fix for npcs and objects
30 December 2006 by ieatacid
- Added DynamicZone TLO which has the following members
.. string Name
.. int Members
.. int MaxMembers
.. dzmember Member (number or string as a parameter)
.. dzmember Leader
.. to string - same as Name
- Added dzmember type, with members:
.. string Name
.. string Status - returns: Unknown, Online, Offline, In Dynamic Zone (no idea what this
is, it's in the exe), Link Dead
.. to string - same as Name
23 December 2006 by rswiders
- Updates for GetSpellEffectName, ShowSpellSlotInfo (differentiation, pinkfloydx33)
- Updates for Counters in datatypes (pinkfloydx33)
14 December 2006 by ieatacid
- Updated for today's patch
7 December 2006 by dkaa
- Fix for NoDrop & NoRent
6 December 2006 by ieatacid, dkaa
- Fixed for Dec 5th patch
7 November 2006 by ieatacid
- MQ2ChatWnd should now remain visible while in hover state
31 October 2006 by ieatacid
- Fix for Halloween crash
25 October 2006 by ieatacid, rswiders
- Updated for today's patch
23 October 2006 by ieatacid
- Added Spell.MyRange. This is YOUR actual cast range, including extended range from focus effects.
10 October 2006 by ieatacid
- Added "HOVER" for use with Me.State
- Added bool InHoverState() to MQ2Utilities.cpp
4 October 2006 by rswiders
- Updated for today's patch
2 October 2006 by ieatacid
- Added "object" to /mapfilter. Objects are things like catapults, tents, practice dummies, etc.
27 September 2006 by ieatacid
- Updated for today's patch
23 September 2006 by dkaa, ieatacid
- fix for gbInZone, Me.FreeBuffSlots, AA-related stuff, MQ2EQIM compile errors
19 September 2006 by ieatacid
- Updated for Serpent's Spine expansion release. Many new changes - the important stuff is listed below
- Skill members SkillCapPre50, SkillCapPre65 and SkillCapPre70 were removed and replaced with int SkillCap. This returns the skill cap based on your class and current level
- New character members:
1) string CombatState - returns one of the following: COMBAT, DEBUFFED, COOLDOWN, ACTIVE, RESTING. The same as the new icon in the player info window
2) int svCorruption - character's Corruption resist
- Added Prismatic and Corruption to spell ResistType
- MQ2ItemDisplay now shows corruption resist
- "GREY" added to spawn.ConColor
- Plugin authors:
* Skill stuff has been changed
Lines like this:
if(SkillDict[EQADDR_DOABILITYLIST[nSkill]]->AltTimer==2)
Need to be changed to this:
if(pSkillMgr->pSkill[EQADDR_DOABILITYLIST[nSkill]]->AltTimer==2)
3 September 2006 by ieatacid
- Changed the way we handle con-colors. We now use EQ's function rather than calculate it ourselves.
30 Aug 2006 by dkaa
- incorporate change from Ceghkmv and teabag to fix the xml file stuff
28 August 2006 by ieatacid
- Changed spawninfo's pCharInfo member to 'void *pCharInfo_vtable2' since it points to vtable2 in charinfo and made changes where necessary to reflect this.
Now things like "/itemnotify in bank1 1 leftmouseup" should work properly.
- Added spawn.Buyer
25 Aug 2006 by dkaa
- duel->dual
- aura fix for when you don't have an aura
15 August 2006 by ieatacid
- Added Me.ActiveFavorCost
5 August 2006 by Amadeus
* Added a new member to the 'string' datatype.
1. Replace[ToReplace,ReplaceWith]
a. This member will return a string replacing every instance of
'ToReplace' with 'ReplaceWith'. It will work for both strings
and individual characters. IT IS CASE SENSITIVE.
~ Example: echo ${Me.Name.Replace["Amadeus","Maestro"]}
echo ${Me.Name.Replace[",","."]}
* Added a custom 'label' that you can put in your macros -- ":OnExit".
Anything included after that label will be called whenever an /endmacro
command is issued. To use this feature, the label must be at the end
of your 'Sub Main' function and end with a /return. Please note that
this is NOT required of macros, so no macros will have to be altered
unless you wish to take advantage of this feature. (See my posting
on the messageboards for an example of how to use this.)
25 July 2006 by ieatacid
- Added leadership ability members to character type that return
the ability level of *active* leader abilities.
** LAMarkNPC, LANPCHealth, LADelegateMA, LADelegateMarkNPC,
LAInspectBuffs, LASpellAwareness, LAOffenseEnhancement,
LAManaEnhancement, LAHealthEnhancement, LAHealthRegen,
LAFindPathPC, LAHoTT.
20 July 2006 by dkaa
- Fix for the 7/18 patch
- Fix to the ITEMINFO size
17 July 2006 by ieatacid
- Added spell Me.Aura (this applies to your self-aura that is shown in the aura window)
13 July 2006 by ieatacid
- Added to item type: Evolving which has the following members
ExpPct
ExpOn
Level
MaxLevel
Example: ${FindItem[some evolving item].Evolving.ExpPct}
- Some UI struct fixes
- /windowstate now works without screwing up the UI state
8 July 2006 by Amadeus
- Updated ISXEQ to compile a bit better with Visual Studio 2005
- Added ISXEQ project/solution file(s) for Visual Studio 2005.
1. Double-click on "MQ2Auth.exe" (duh)
2. Open Visual Studio 2005
3. Click on File->Open->Project/Solution ..and select "ISXEQ-VS2005"
4. Build All.
5. The DLL files will be built in a directory in your primary MQ folder
called "ISXEQ Release Files". Simply move all of the DLL files from
that directory to your /InnerSpace/Extensions directory.
** You will get a few warnings; however, if your library/headers are set
up correctly and the ISXDK is installed properly, you should be able
to compile out-of-the-box.
- Updated the VS2003 solution file ("ISXEQ") to include only ISXEQ projects
and disable compilation of ISXEQLegacy (since it is currently broken).
- Please note that these VS2005 project files are only for ISXEQ. If you
still use MQ2, you can ignore this.
5 July 2006 by ieatacid
- added Me.Language (ex. ${Me.Language[1]} returns "Common Tongue"; ${Me.Language[Common Tongue]} returns 1)
- fixed zoned.cfg to load properly after zoning, also .cfg files that use zone short names
29 June 2006 by ieatacid
- added int MacroQuest.ChatChannels (returns number of channels currently joined)
- added MacroQuest.ChatChannel (ex. ${MacroQuest.ChatChannel[MQChat]} returns true if the channel "MQChat" is joined (bool); ${MacroQuest.ChatChannel[1]} returns the name of chat channel 1 (string))
28 June 2006 by rswiders, ieatacid
- fix for 6/28 patch
- fix for gbInZone on initial load
27 June 2006 by ieatacid
- added bool Me.AutoFire
16 June 2006 by rswiders, dkaa, ieatacid, and others...
- fix for 6/16 patch
10 June 2006 by rswiders
- added Aura to spawn searches and mapfilter
- added spellradius to map for a second radius circle on the map
1 May 2006 by dkaa
- fix the previous fix
30 Apr 2006 by rswiders
- added Me.TributeTimer, Me.RadiantCrystals, Me.EbonCrystals
- added Me.Shrouded, UseSkill, LoH/HT Ready (ieatacid)
20 Apr 2006 by rswiders
- fix for isxeq compile issue
19 Apr 2006 by dkaa, rswiders
- updated for 4/19 patch
- added spawn.IsNamed
- added personal tribute and radiant/ebon crystals to CHARINFO
31a Mar 2006 by dkaa
- fixed the VS6 build
31 Mar 2006 by dkaa
- Added stuff to item type
Classes
Class
Races
Race
Deities
Deity
RequiredLevel
- Added DisplayItem TLO as item type to mq2itemdisplay
- Added /ireset to reset DisplayItem ID
29 Mar 2006 by dkaa
- Fixed /sellitem
27 Mar 2006 by dkaa
- Fixed the CSidlScreenWnd struct
24 Mar 2006 by dkaa
- Fix the container manager struct
23 Mar 2006 by rswiders
- Various cleanup from PoR patch
- Access to the 8 new bank slots
22 Mar 2006 by dkaa
- Added a message box for plugin load failure
16 Mar 2006 by Lax
- Various ISXEQ-related updates
- Blech updated to fix Feed reentrancy issue (not a problem in MQ2 macros, but with
plugins it would have introduced crashes)
14 Mar 2006 by dkaa
- Added MacroQuest.Ping from ieatacid
04 Mar 2006 by Lax
- Various ISXEQ-related fixes. Removed the &s from EzDetour to be consistent, and
added the &s manually where required
03 Mar 2006 by dkaa
- fixed the loading screen captions
- fixed crash on right click on map on ground item
late Feb 2006 by lots of people
- stuff to get up and running after expansion
29 Jan 2006 by rswiders
- Fix to spawninfo struct from merge
29 Jan 2006 by rswiders
- Fix to re-add class based cfg file loading upon entering game
- Added global bool for telling if you are zoning or not (gbInZone)
- Added .GroupSize
- Fix to allow non-stackable items to return counts in .Stacks, .StackCount, .FreeStack
- Added LoS parameter to spawn searches
18 Jan 2006 by rswiders
- Updated for 01/18 patch
05 Jan 2006 by dkaa
- Fixed the crash on re-entering the game
20 December 2005 by rswiders
- Fixed to compile in VC++ 6.0
19 December 2005 by rswiders
- Corrected offset comments in several structures
- Fixed Item.Timer issue for insta-click/instant refresh items
- Added item timers to potion belt window tooltips
- Added Item.StackSize, .Stacks, .StackCount, .FreeStack, .TimerReady
- Added class based cfg file loading upon entering game
16 December 2005 by dkaa
- Fix for Merchant.BuyPrice
15 December 2005 by rswiders
- Fix for MaxMana, MaxEndurance
15 December 2005 by rswiders, dkaa
- Fix for MaxHPs
- Fix for Item.timer
15 December 2005 by rswiders
- Updated for 12/15 patch
- Fixes Item.Timer returning 0 too early
- Added Merchant.Full (thanks cronic)
13 December 2005 by rswiders
- Fixed SWho display of primary/offhand for spawns
- Fixed blocking issue in .Stacks for heal conversion type spells
- Located more missing fields from 12/07 patch
- Added MQ2LoadingMsg to macroquest2.ini to allow you to configure
the MQ2 evolution in action message to be displayed or not.
12 December 2005 by rswiders
- Fixed Me.Levitating
11 December 2005 by rswiders
- Corrected offset comments in several structures
- Added /classhud and /zonehud commands. Automatically load [class] or [zonename] huds.
- Added SpeedMultiplier into spawninfo
- Fixed Item.Stack
- Fixed /doors command (_DOORS and _EQSWITCH structures changed). Other switches may have
been effected and fixed with this also.
10 December 2005 by rswiders, dkaa
- Updated for 12/07 patch
- PACTORINFO was removed, _ACTORINFO fields were merged into _SPAWNINFO
- Changed item.timer to a ticks type
5 December 2005 by rswiders
- More cleanup of several class function declarations
- Another fix to .Stacks/.WillStack to not fail if the same slot is a blocking slot
- Added endurancecost to SPELL (thanks s0rCieR)
- Added item timer to tooltips (thanks ieatacid)
30 November 2005 by rswiders
- Clean up of several class function declarations
- Cleanup of CombatAbilility, CombatAbilityReady and CombatAbilityTimer. They are now using
the EQ functions. Cleanup of several functions to use EQ function GetAltAbilityIndex
instead of accessing the charinfo structs directly.
- Fixed Me.State so it recognizes "STUN" correctly
- Fixed GetAAIndexByName, GetAAIndexByID
- Fixed Me.FreeBuffSlots to include the additional slot you get when you get either the
"Embrace of the Keepers" or "Embrace of the Dark Reign" aa's.
- Fixed bounds issues on RequiresAbility, GetAANameByIndex, GetAAIndexByName, and GetAAIndexByID
- Fixed .Stacks/.WillStack to allow self buffs (with a healing component) to stack correctly
- Added: Spawn.Fleeing
Currently this works with your target that is engaged in combat. If it turns to flee
this flag is set for use in macros. It checks to see if the heading of the spawn is
facing in a direction that is not in an arc of 120 degrees facing you.
- If you are crashing on switching toons at character select,
you can comment out the autorun (per character) section in
MQ2Pulse.cpp. This is only needed if you want to automatically
process commands upon initial entering of world for a
character. If you don't use the feature commenting it out will
not cause any lose of functionality for you. Please post any CTD
crash dumps to assist with locating this bug.
22 November 2005 by rswiders
- Added Item.ItemDelay
- Config files can contain comment lines. Use ";" as the first character on the line to make it a comment.
- Updated resistadj location in _SPELL struct
18 November 2005 by rswiders
- Fixed resists bug
18 November 2005 by dkaa
- Added TLOs DoorTarget and ItemTarget
17 November 2005 by Lax
- Separated functionality from do_ranged command for use from plugins. Do this for any case where
DoCommand has been used, and submit code changes. This example has been done for you.
17 November 2005 by dkaa
- Added Cr4zyb4rd's hud extensions
16 November 2005 by rswiders
- updated offset for 11/16 patch
- updated changes to charinfo struct for 11/16 patch
15 November 2005 by Lax
- Turned MacroQuest into swiss cheese with some more #ifdef blocks to support new ISXEQ functionality
that allows it to run legacy MQ2 "macros"
11 November 2005 by dkaa
- remove the ability to use "fake" targets (door & items)
- added item timers to itemdisplay
01 November 2005 by dkaa
- updated offset for 11/01 patch
- /caption <list|type <value>|update #|MQCaptions <on|off>>
19 October 2005 by dkaa
- added item timers from ieatacid
- added stacks from pinkfloydx33
4 August 2005 by Lax
- Optimized stristr routine in Blech.h, resulting in a little bit of improved performance from Blech
31 Jul 2005 by Lax
- Nobody reported that Select didnt work until now, but the AddMQ2Data line is now added so it
will work ;)
16 Jul 2005 by dkaa
- further fixes for else
12 Jul 2005 by Lax
- Added Top-Level Object:
* int Select[value,...]
This replaces ${String[ x y z ].Find[ ${Stuff} ]}, like so: ${Select[${Stuff},x,y,z]}
The result will be 0 for none, 1 for the first, 2 for the second, ad infinitum (no limit)
11 Jul 2005 by dkaa
- fixed the AltAbilityTimer members
- fixed else processing if there is not a "{" on the else line
05 Jul 2005 by dkaa
- fixed the AltAbilityReady and AltAbility members
04 Jul 2005 by dkaa
- prototypes for CListWnd::AddString changed (fixes mq2tracking)
- rswiders change to XMLRead
03 Jul 2005 by dkaa
- prototypes for CSidlManager::FindScreenPieceTemplate and CComboWnd::InsertChoice changed
02 Jul 2005 by dkaa
- /aa list all should work now -- fixing AAs in progress
- CCustomWnd actually works with char * param in constructor
02 Jul 2005 by dkaa
- opcodes updated for zoning
02 Jul 2005 by dkaa
- String is still out
- fixed the AA stuff in CHARINFO
- CCustomWnd constructor now takes char * or CXStr *
26 May 2005 by Lax
- Fixed negation math operator, which was rounding the value negated
26 May 2005 by DKAA
- Plugins must have compile time later than mq2main.dll or they won't load
25 May 2005 by Amadeus
- Added Me.CombatAbilityReady and Me.CombatAbilityTimer
- Added: /doability <combat ability>
- Added Me.Running
- Added the command "/inote" for those running the ItemDisplay plugin,
which is most everyone :)
- Currently AltAbilityReady returns TRUE when you inquire about
aa's you have not yet purchased. MQ2 now changes that behavior
to verify that you own the aa prior to saying its READY.
- Fixed Me.SpellReady
21 May 2005 by Amadeus
- The MQ command known as '/charinfo' is now known as '/char'. This allows
for players to use both the EQ and MQ commands seperately.
- Fixed various structs
- Returned Me.Underwater and Me.FeetWet
13 May 2005 by DKAA
- Added optional param to Windows.List[...] to indicate column
11 May 2005 by Amadeus/DKAA
- Updated MQ2 to work with the 5/11/2005 patch
- Fixed Mapwindow structure
- Fixed Spellbuff structure
- Fixed Actorinfo structure
- Lots of other little fixes
20 April 2005 by Amadeus
- Added some new offsets to eqgame.h including
* pinstCGuildTributeMasterWnd
* pinstCVoiceMacroWnd
* pinstCLFGuildWnd
* pinstCGuildBankWnd
* pinstCBarterWnd
* pinstCBarterMerchantWnd
* pinstCBarterSearchWnd
* pinstCTicketWnd
* pinstCTicketCommentWnd]
* pinstLargeDialogWnd
* pinstCTaskWnd
* pinstCTaskSelectWnd
* pinstCPointMerchantWnd
* pinstCPvpLeaderboardWnd
* pinstCTitleWnd
* pinstCPvpStatsWnd
* pinstCMailWnd
* pinstCMailCompositionWnd
4 May 2005 by Lax
- Fixed calculation bugs
17 April 2005 by Amadeus
- Added "Suffix" information to structs
- Added ${Me.Suffix} and ${Target.Suffix}
8 March 2005 by Lax
- Blech 1.6.8 - fixes a crash
23 March 2005 by Lax
- Fixed this group member bug nonsense. Now uses correct group structure.
- Fixed redundancy in GetSpawnType
11 March 2005 by Lax
- item.Spell fixed for scroll, proc, focus, and worn (previously did only clicky)
10 March 2005 by Lax
- CHARINFO update from htw, fixes the new Group stuff
9 March 2005 by dkaa
- refix the include file issue
8 March 2005 by Lax
- Fixed /itemslots
- Fixed problem with group.Leader when you are the leader and the group has members
- Added ISXEQ client templates to mkplugin
7 March 2005 by Lax
- Fixed the new group data types. Also added To String values:
groupmember: Same as Name
group: Same as Members
7 March 2005 by dkaa
- Fixed the Buff and Song ID members
6 March 2005 by Lax
- Added group datatype. members are as follows:
* groupmember Member[n]: n is 1 to 5 (0 gives self)
* int Member[name]: Gives the number, as used above
* int Members: Total group members, excluding self
* groupmember Leader: The leader of the group
- Added groupmember datatype. inherits spawn. members are as follows:
* string Name: Name of the group member. Should work regardless of whether they are in zone
* spawn Spawn: Direct access to the group member's spawn type
* bool Leader: Is this the group leader?
- Dropped GroupLeader TLO, now you should use Group.Leader
- Dropped GroupLeaderName TLO, now you should use Group.Leader.Name
- Group TLO now gives group datatype
3 March 2005 by Lax
- Fixed character.CurrentHPS, character.MaxHPS, character.PctHPS to use the "stable" versions..
- Added character members STR, STA, AGI, DEX, WIS, INT, CHA, svMagic, svFire, svCold, svPoison,
svDisease, CurrentWeight .. all of them ints
- Fixed buff slot counts
27 February 2005 by Lax
- Fixed INI bug in /mapnames
- Fixed bug in /mapfilter with "help"
26 February 2005 by Lax
- Optimized some stuff with the buff data type
25 February 2005 by Lax
- Removed bmpwad8.s3d file which was no longer being used, but was 33% of the size of the zip
- ISXEQ-related changes not affecting MQ2
23 February 2005 by Lax
- Cleaned up a bunch utility functions from MQ2Commands.cpp, they are now in MQ2Utilities.cpp
22 February 2005 by Lax
- Fix a Blech bug.
18 February 2005 by dkaa
- Update the ground interaction opcode
15 February 2005 by Amadeus
- Adjusted MQ2 to work properly with the new expansion
- Fixed some very small things
12 February 2005 by dkaa
- Fix an issue with /emote
11 February 2005 by Amadeus
- Added/Fixed some more spell slot information (item/spell display)
- Fixed the OnZoning callbacks in the Detour API
- Updated MAX_GUILDS (should fix guild name display problems)
- Updated MAX_ZONES in preparation for next expansion
8 February 2005 by Amadeus
- Fixed MQ2 to work with the latest patch
- Added spell information to the item display plugin
- There is now a file in the /release folder called "Changes-ISXEQ.txt", which will
contain patch notes for the InnerSpace extension that is now included with MQ2.
31 January 2005 by Amadeus
- Fixed MQ2 to work with the latest patch
- The format of eqgame.h has CHANGED. Be sure to get this zip. [SwiftyMuse]
- Browsing the wares of an adventure merchant still crashes EQ. MQ2 is not to blame.
29 January 2005 by dkaa
- Fixed the map crash on /loadskin
29 January 2005 by Lax
- Split MQ2Main.h into a couple extra header files
- Added second project (ISXEQ.vcproj, no .dsp file at this time) to MQ2Main folder for
adaptation to Inner Space. This project builds ISXEQ.dll and does NOT currently link (it
compiles, then gives linker errors. some things need to be done before it will link)
ISXEQ project needs separate implementations of each command, datatype, and top-level object.
- Added a lot of "#ifndef ISXEQ" to various files
26-28 January 2005 by Amadeus
- Once over, formatting/syntax check, re-package
- Fixed structs and offsets to be compatable with the new patch
- Fixed a variety of other small things to be compatable with the new patch
- Added a few little things from the boards as well as original work
4 January 2005 by Lax
- Updated copyright notices for 2005
- Updated Blech to 1.6.4, which fixed a tree traversal bug. The bug prevented some
events from firing
31 December 2004 by Amadeus/DKAA
- Fixed a line that was causing compile problems with VC++ 6.0
30 December 2004 by Amadeus
- Lots of little fixes
- Fixed DOOR struct (which was causing some bugs with door related macro commands)
~ User Submitted Fixes (from message boards)
* Added 'Me.FreeBuffSlots' to MQ2. [cr4zyb4rd]
* Fixed Item "Stackable" flag [Valerian]
* (Changed 'SpellReady' so SpellReady[] returns true when Gems are fading back
in from the disabled state. [Brettido]
* Fixed 'MyCastTime' [cr4zyb4rd]
* Added 'BuildDate' to the MacroQuest data members. [cr4zyb4rd]
19 December 2004 by Amadeus
- Cr4azyb4rd's code for the new item stuff, outlined in this thread:
http://www.macroquest2.com/phpBB2/viewtopic.php?t=10270
- The Item Datatype 'Stackable' seems to be broken at the moment. We will be looking
into it over the next few days.
- Added "GuildFavor" to the ItemDisplay plugin (Ziggy)
- Added Ziggy's /mapshow patch
- Added Cronic's new Plugin API additions: OnBeginZone() and OnEndZone(). Folks may want
to bookmark http://www.macroquest2.com/phpBB2/viewtopic.php?t=9959 as an example of how
to add features to the plugin API. (Hopefully this thread/example will make it in the
manual.)
- Added ${Me.EnduranceRegen} (submitted by Pooz). It returns returns the amount of
endurance gained in the last tick.
18 December 2004 by Amadeus
- Various structs/offsets taken from the boards to make MQ2 compatable
with the latest patch
- Fixed keybinds
- Various small things from the boards over the past couple months
- Fixed spawninfo and actorinfo
** Note: This is an initial zip release to get MQ up and running. Expect another
release in the next couple of days to resolve all remaining issues and
to add code submitted on the boards. **
13 December 2004 by Lax
- Blech updated to version 1.6.3 which solves a new issue
8 December 2004 by Lax
- Blech updated to version 1.6.1 which solves remaining known Blech issues
22 November 2004 by Lax
- Blech updated to version 1.6 which solves parsing problems such as the one
described here: http://www.macroquest2.com/phpBB2/viewtopic.php?p=75390#75390
- MQ2CustomBinds updated to solve a race condition issue, which also appears in
older MQ2MoveUtils versions. The race condition causes a crash when starting
EQ via WinEQ 2.0
- The MQ2 initialization process now has a short delay to help alleviate the
race condition issue for people who have not updated MQ2MoveUtils
25 October 2004 by Amadeus
- ${Me.AltAbility[]} is now back! However, with one change. Instead of
returning the 'rank', it now returns the total number of points you have
spent in that ability. Therefore, to determine if a player has bought an
ability, all you have to do is check if the value is greater than zero.
- Added AALIST struct to eqdata.h and AA information to CHARINFO
- Fixed "/aa list xx" to stop showing multiple versions of the same AAs
- Fixed "/aa list timers" to only show AAs you have bought
- Added some new utility functions to the source (C++, NOT MACRO CODE)
* bool PlayerHasAAAbility (PCHARINFO pChar, DWORD AAIndex);
* PCHAR GetAANameByIndex(DWORD AAIndex)
* DWORD GetAAIndexByName(PCHAR AAName)
* DWORD GetAAIndexByID(DWORD ID)
~ User Submitted Fixes (from message boards)
* Add a "noauto" flag to your '/plugin' command to prevent
updating the macroquest.ini when a plugin is loaded/unloaded.
* Added some more USERCOLOR_* definitions to eqdata.h
* Small fix to '/loadspells list'
* Added more spell information to the spell information display
* Added CastOnYou, CastOnAnother, and WearOff to the MQ2SpellType class
* Major upgrades to MQ2Irc plugin, see this thread for more information
http://www.macroquest2.com/phpBB2/viewtopic.php?p=73390#73390
14 October 2004 by Amadeus
- Removed the BuildData datatype for the moment. The code, as it was originally
conceived was causing compile problems on Visual Studio 6.0. Moreover, it was
determined that it was not reliable on all partition types. It may be added
again at some point in the future after rigorous testing across different
partition types and both vs 6.0 and vs.net compilers.
13 October 2004 by Amadeus
- [*LAX*] New Memcheck0 routine
- [*DKAA*] New Memcheck4 routine (the routine previously known as memcheck4
is now memchecks)
- New offsets/structs for latest patch
- Con Colors should be working properly to lvl 70
- spawn.CleanName should now return the name without the '#' symbol
- More work on mq2map ...it's still in heavy testing and needs more work though
- Added 'BuildDate' to the MacroQuest data members. Returns an int representing
the date in which the current MQ2Main.dll was built.
- Added a short message to warn you of a running macro when /camping.
23 September 2004 by Amadeus
- Fixed the MacroQuest2.exe to have correct links and added a few new links!
- Offsets fixed for recent patch
- Couple more spell gem 9 fixes
19 September 2004 by Amadeus
- Fixes related to the extra buff slots and extra spell gem for Omens of War.
17 September 2004 by Amadeus
- MQ2Map has issues and is being debugged in house. I suggest turning it
off until it officially fixed if you are having problems.
- Added ${xxx.Attuneable} for items ..returns TRUE if item is Attuneable,
FALSE if it is not.
- Added some code to MQ2MapApi.cpp in the debugging stage. Most of it is
redundant code hoping to cut down on problems.
- Miscellanous fixes throughout the source
14 September 2004 by Amadeus
- All the fixes needed to make MQ2 work with Omens of War
- The way that EQ handles the initial splash screen has changed dramatically.
MQ's custom SplashScreen is disabled.
- Almost all structs were modified/fixed.
- Removed the offset CEverQuest__GetTitleDesc
- Added Title to spawninfo structure
- Added ${xxx.Title} ..it returns a string that is your title. Please note that
${xxx.AATitle} will return the same thing. I'm leaving both in for backwards
compatability of macros although "Title" should be used in the future since
Titles are no longer exclusively AA based.
- updated TOTAL_SPELL_COUNT
- Added TOTAL_SPELLS_ALLOCATED
- EQ_Character__Max_Mana removed ...it's a virtual function now (This means that
the MaxMana and PctMana datatypes are disabled for now)
26 August 2004 by Amadeus
- Fixed /filter name on/off to work correctly [Efudd]
20 August 2004 by Amadeus
- Removed ${Me.GroupMember[]} and ${Me.GroupLeader} since it is already in as
${Group[n].Name} and ${GroupLeaderName}. Even though the information is stored in
two locations, it was causing confusion.
- Tweaked ${Me.Grouped} some more ...I think I have it fixed now.
19 August 2004 by Amadeus
- Fixed ${Me.AltAbilityReady[]}
- Fixed ${Me.AltAbilityTimer[]}
- Added ${AltAbility[].MyReuseTime} (proper reuse time if you hastened AA abilties)
- Added NEW COMMAND: /aa
*** Syntax ***
/aa list all -- lists all of your AA abilities in format [ID : name]
/aa list timers -- lists just the AA you have that have timers
/aa info [ability name] -- gives information about a particular AA ability
/aa act [ability name] -- works like "/alt act ##", but takes the name instead of ##
(note: You will notice a fraction of a second delay using this method vs.
the /alt act ## method.)
***
(Note: Yes, they do not list in any particular order (No, I don't know why). No,
I do not know why some abilities are duplicated. Yes, it may have bugs
that need testing.)
- Slight tweak to code to make it compile on Vc++ 6.0 cleanly
- Fixed GetSpellDuration (per corrections posted on the messageboard)
- Added an offset to eqgame.h and removed one from eqgame.h (Those that help find
offsets..please note this change!)
18 August 2004 by Amadeus
- Fixed EQRAIDWINDOW and EQRAID structs
- Some tweaking to attempt to make ${xxx.Grouped} more consistant
- Added: ${Me.GroupMember[n]} (1-5) ...returns string
- Added: ${Me.AmIGroupLeader} ...return TRUE or FALSE
- Added: ${Me.GroupList} ..simply returns a string of your group members (excluding you)
- Fixed ${xxx.Lore} for items
- Fixed {AltAbility[ability].xxx} ...all of these are now working
- Fixed All the AltAbility structs
(Note: ${Me.AltAbilityReady.xxX}, ${Me.AltAbilityTimer.xxx} and ${Me.AltAbility[]} are
still BROKEN)
-----------
** SOE Coding Change (technical folks only)**
EQ no longer stores information for ALL AA abilities in your memory space as it once did.
It allocates the space for all of the abilities;however, if your character is incapable of
using the ability, the pointer location for that ability is now 00000000.
-----------
14 August 2004 by Amadeus
- Fixed offsets to work with 8/13 "emergency" patch
- Updated TOTAL_SPELL_COUNT and MAX_ZONES
- Added dman's ${Target.HeadingToLoc[Y,X]} and ${Me.HeadingToLoc[Y,X].Degrees} routines
12 August 2004 by Amadeus
- Various fixes (including ${Me.Casting}, etc.)
11 Auguest 2004 by Amadeus
- Fixed to work with the 8/11 patch
27 July 2004 by DKAA
- Fixed ${Plugin}
23 July 2004 by Amadeus
- Lots of struct updates from the boards
- Added the following variables: ${Me.EnduranceBonus}, ${Me.CombatEffectsBonus},
${Me.ShieldingBonus}, ${Me.SpellShieldBonus}, ${Me.AvoidanceBonus}, ${Me.AccuracyBonus},
${Me.StunResistBonus}, ${Me.StrikeThroughBonus}, ${Me.AttackBonus},
${Me.HPRegenBonus}, ${Me.ManaRegenBonus}, ${Me.DamageShieldBonus},
${Me.AttackSpeed}, ${Me.DoTShieldBonus}
- Added showbonuses.mac to the release/macros directory. It will display your current
stat bonuses as added by your gear.
- Added ${Me.LanguageSkill[languagename]} (ie, ${Me.LanguageSkill[Dark Speech]}. You can
also use a number (as given with /lang help) in place of the languagename parameter.
21 July 2004 by DKAA
- Fixed the macro not found error message.
18 July 2004 by Lax
- EQPlayNice 1.11+ compatibility
17 July 2004 by Amadeus
- Updated source to be compatable with the July 16 patch
- ${Me.AltAbilityTimer...} and ${Me.AltAbilityReady...} datatypes are broken atm and
have been disabled.
12 July 2004 by DKAA
- slot hand is now hands to be consistent
- updated some of the distributed macros
9 July 2004 by Lax:
- Newest version of the readme.chm from Wassup
- Added/changed MQ2Data type members
int item.Tribute: Tribute value
3 July 2004 by DKAA
- added /who noguild
3 July 2004 by Amadeus:
- Added new command: /substitute
** Syntax:
** - /substitute list
** - /substitute <orig> delete
** - /substitute <orig> <substitution> (see examples below)
** This new command allows you to create custom midline substitutions that will work
** anywhere in a command. It works VERY similarly to aliases in some respects, esp.
** in how it is saved in the .ini file and how the commandline syntax is structured.
** Substitutes are called from any alias or commandline by using the percent sign (%)
** followed by your orig. text.
**
** Examples: "/substitute mom Mother"
** "/substitute omg Oh my god!"
** "/substitute k %omg, kill %t before I tell your %mom"
**
** The final example if you typed "/say %k" would produce: "/say Oh my god!, kill
** TARGET before I tell your Mother"
**
** Please note the following rules/reminders:
**
** 1. You don't use the percent signs when creating the substitutions or editing your
** config file.
** 2. You can use MQ's subsitutions without spaces around them (unlike EQs!) (ie:
** "/echo %omg%mom" would return "/echo Oh my god!Mother"
** 3. Substitutions do not currently work in macros.
** 4. "/sub" is currently a valid shorthand for "/subsitute"
** 5. You can use EQ's wildcards (ie: %t) within your substitutions; however, you
** have to leave spaces around them (yes, they suck)
** 6. You cannot CURRENTLY replace EQ wildcards with MQ substitutions (ie, you can't
** make a replacement for %m (This may be supported in the future.)
**
- Fixed CONTENTS struct (thanks ieatacid)
- Fixed routines.mac, arrows.mac, and arraytest.mac (Dont_know_at_all)
2 July 2004 by Amadeus:
- Fixed "/who guild <guildname>" on some servers (It seems that on some servers, SOE
removed guilds but left the entry giving bogus guild entries in the list where the
'name' was blank, thus ending the search loop prematurely.)
- Added "/who knight" (returns Paladins and Shadowknights in the zone)
- Added "/who tank" (returns paladins, shadowknights, and warriors in the zone)
- Added "/who healer" (returns druids and clerics in the zone)
- Added "/who dps" (returns wizards, rangers, and rogues in the zone)
- Added "/who slower" (returns shamans, enchanters, and beastlords in the zone)
30 June 2004 by Amadeus:
- Refined "/who npc named" to work a bit better
- Added "/who npc merchant"
- Added "/who npc tribute" (returns tribute masters)
- Added "/who npc gm" (returns GUILDmasters)
- Removed the Old SPAWNINFO struct
28 June 2004 by Lax:
- Added MQ2Data Top Level Object:
bool LineOfSight[y,x,z:y,x,z]: Determines Line of Sight in 1, 2 or 3 dimensions. Any not given will default to your character's current x y or z.
- Added MQ2Data type members:
bool spawn.LineOfSight: Determines if your character has Line of Sight to this spawn
bool switch.LineOfSight: Determines if your character has Line of Sight to this switch
bool ground.LineOfSight: Determines if your character has Line of Sight to this ground item
- API now has static inline BOOL LineOfSight(PSPAWNINFO Origin, PSPAWNINFO CanISeeThis)
27 June 2004 by Amadeus:
- Added 'named' flag to the superwho filters. It simply checks to
see if the spawn's name begins with a capital letter or with a
pound (#) sign. (examples: '/who npc named', '/who npc named 65')
** This works best in places like the Plane of Hate.
23 June 2004 by Amadeus:
- ieatacid's CHARINFO update (primarily just offset locations updated)
- ieatacid's update to EQRAIDWINDOW struct
- Removed OLDCHARINFO struct
23 June 2004 by Lax:
- Fixed Bank stuff in CHARINFO
- "listselect" notify now works in combo boxes
- Fixed minor problem with operator precedence in Calculate (1-1-1 previously evaluated to
positive 1, now it correctly evaluates to negative 1)
- Changed/Added MQ2Data members:
int window.Items: Number of items in a list or combo box
int window.List[text]: Find an item in a list or combo box by partial match (use window.List[=text] for exact) Example: ${Window[TradeskillWnd].Child[RecipeList].List[=Inky Shadow Silk]}
21 june 2004 by DKAA:
- Fixed a crash in echo when the lines are longer than 2043
21 june 2004 by DKAA:
- Fixed the EQMERCHWND alignment and renumbered the CSIDLWND struct.
19 June 2004 by Lax:
- Fixed FastCalculate and EvaluateRPN functions. Calculate works fine now, stfu rtfm etc ;)
- DKAA fixed some struct stuff
- Amadeus fixed some struct stuff
14 June 2004 by Lax:
- Replaced Calculate function with a much faster version. Also added an operator or two.
I'll make sure they get added to the manual. How much faster? The existing calculate
ran on my system 4,200 times in a short amount of time and took one full second of CPU
time to do so. The same calculations ran with the new calculate 77,000 times and took
only 620ms. Extrapolating the data it would have taken about 124,000 times calling
calculate to match the old 4,200... or about 29.5 times faster (that's a lot).
- Added sub lookup map from Gus to speed up macros a little bit
- Undid MQ2EQBugFix, which was currently creating a bug (note to self: in future bug fixes,
make sure it's only going to try to fix it for the correct version)
- Fixed an offset
- Standard search spawn now allows multi-word names.
- /mqlog no longer adds an extra line
3 June 2004 by Lax:
- Fixed string.Arg, string.Token, NearestSpawn, spawn.NearestSpawn, LastSpawn
2 June 2004 by Lax:
- Fixed some stuff, yadda yadda. I forget now.
- Bodytype 10 has been identified as Dain, thank you for the reports
29 May 2004 by EqMule:
- Fixed EQ_INTERACTGROUNDITEM so click left item works again...
- Updated zipit.lst (personal reminder: dir * /s /N /A-D /B > zipit.lst)
28 May 2004 by DKAA:
- Fixed the message ID for mq2bzsrch.
27 May 2004 by Lax (more):
- Fixed stack overflow bug in one of the functions that handles window names. I fixed it in one
before putting up the update but didn't in an exact copy of it above it. Lax truly lacks. ;)
- Added pet weapon procced pet body type to the list of known body types.
- Fixed captioncolors not working correctly
- /who <level> will work properly, as you would have expected previously. e.g. /who 65.
Coincidentally this now works with the other spawn searches, /who /target /highlight /mapshow
/maphide, ${Spawn[search]} etc.
27 May 2004 by Lax:
- Added "chest" to the standard spawn searches used by /who, /target, /highlight, /mapshow,
/maphide, etc
- Fixed some problems with the window suff introduced in the May 16 zip
- Added/changed MQ2Data members:
string spawn.Type: PC NPC Untargetable Mount Pet Corpse Chest Trigger Trap Timer Item
- New MQ2Data Top-Level Object:
int SpawnCount: Total number of spawns in current zone
int SpawnCount[search]: Total number of spawns in current zone matching the search
24 May 2004 by DKAA:
-Fixed a couple problems with the makefiles (mq2chat wasn't building)
-A special update for mq2safe users
16 May 2004 by Lax:
- UI subsystem of MQ2 is now smarter. All window and control names are now case insensitive,
and controls can be used by ScreenID *or* Piece name. /windows <windowname> now shows, for
each child of the given window, ScreenID, Piece name, and the TYPE of control (e.g. label,
button, invslot, spellgem, etc).
- window.List now only works on list boxes (will not crash on other types, just give NULL)
- Added/changed MQ2Data members:
string window.Name: Name of window piece (e.g. "ChatWindow" for top level windows, or the Piece name (NOTE: CUSTOM UI DEPENDANT) for child windows)
string window.ScreenID: ScreenID of window piece (ScreenID is NOT custom ui dependant, this *must be* the same on ALL UIs)
string window.Type: Type of window piece (Screen for top level windows, or Listbox, Button, Gauge, Label, Editbox, Slider, etc)
- Fixed /target next, as well as targeting the origin of the search (e.g. you, or the spawn
already targeted)
- Fixed turbo problem with using /macro from within a macro
16 May 2004 by DKAA:
- Fixed a where using loc and radius in spawn searches would return spawns further than the radius
15 May 2004 by Lax:
- Fixed bug in /who that made it show no spawns for some people, even though there were spawns...
- Standard search spawns will accept class names or short names without using the "class" keyword.
Shadowknight is used without a space, and short names are all 3 letters ("shd", not "sk").
Note that cleric's short name is "clr" not "cle".
- Bug with MQ2Chat plugin that caused events to be processed twice has been fixed
- MQ2IRC will now process all lines as custom events. Note that it does not process them as
#chat events.
- Turned off the PCClass captioncolor option, PC caption colors will default to EQ's settings.
It was left on by mistake after testing a bug fix. You can turn them back on if you wish by
using the /captioncolor command like so: /captioncolor pcclass on
14 May 2004 by Lax:
- MQ2ChatWnd (the MQ2 Chat Window support) got some upgrades. First of all the window was not
limiting the size of its scrollback, so after so much went on in the MQ2 window, your framerate
would drop like a rock. To achieve proper scrollback limiting without lagging you too much,
I put in a system to make it buffer the chat that goes to it, and only display so many lines
per frame. The MQ2ChatWnd font size option now works somewhat... The font sizes are not the
same as EQ's chat window sizes yet, so be aware of that. I'll work on it ;) You will probably
want somewhere from -3 to 2. /mqfont <#>
- MQ2Map filters added: untargetable, trap, timer
- /who has been changed a little bit. When a TRIGGER, TRAP, TIMER, or UNTARGETABLE is listed,
that will be noted at the end of the line in red (very helpful). The routine has also been
updated for efficiency, so there is less lag with large /who result sets.
- Standard spawn searches (This includes /who, /target, ${Spawn[search]}, etc) have been
slightly modified. "invis" is NO LONGER A VALID KEYWORD. If you have this in macros, etc
you will need to change it. The updated spawn types ARE valid keywords (trigger, trap,
timer, untargetable). If your search is for type "npc" you WILL get untargetable types in
your search results (particularly helpful for /who).
- Added/changed MQ2Data members:
string spawn.Type: PC NPC Untargetable Mount Pet Corpse Trigger Trap Timer Item
string string.Token[n,separator]: Retrieve a token from the string using a custom separator. Unlike Arg, this will not skip empty values
spell item.Spell: Spell effect
float item.CastTime: Spell effect's cast time
string item.EffectType: Spell effect type
ticks character.AltAbilityTimer[n]: Alt ability reuse time left, by number
ticks character.AltAbilityTimer[name]: Alt ability reuse time left, by name
- spawn.Hunger and spawn.Thirst have returned to active duty
- You can now list child windows from in-game with the /windows command, like so:
/windows <name>
e.g.: /windows InventoryWindow
- /itemnotify in <pack> <#> <notification> now works with sharedbank slots.
13 May 2004 by Lax:
- Fixed "by class" caption colors
- Fixed some bodytypes being identified as triggers (note that untargetable NPCs *are*
triggers)
- Fixed target caption leakage (would stay drawn after switching targets)
- /who will show "invis" spawns if any parameters are given. Spawn search functions,
including /who and /target, will probably get updated soon.
- Fixed problem with leading spaces in sub parameter declarations
- MQ2HUD now allows for different HUDs. Each different HUD is stored in MQ2HUD.ini, but
in different sections. The default HUD is "Elements" because that's what it originally
used. To load a different HUD, the command is "/loadhud <name>" like "/loadhud bard".
In this case, the [bard] section (not case sensitive, so it could also be [BARD]) of
MQ2HUD.ini will be used. To load the default HUD specifically, the command is
"/defaulthud". MQ2HUD also now adds the following MQ2Data Top-Level Object:
string HUD: Name of currently loaded HUD.
- MQ2FPS now fixes the bug where CTRL ALT and SHIFT keys stick when you switch windows.
This is a bug in EQ that happens because the release of the key is not captured by EQ after
it has been swapped to the background. MQ2FPS now releases the keys as soon as EQ goes
to the background, so this will no longer be an issue.
- New command to complement the /ctrlkey /altkey /shiftkey commands:
Usage: /nomodkey <command>
This command will release all ctrl/alt/shift keys for the duration of executing the
given command.
- Added/changed MQ2Data members:
bool spawn.Anonymous: Anonymous?
bool spawn.Roleplaying: Roleplaying?
string string.Token[n,separators]: Retrieve a token from the string
12 May 2004 by Lax:
- Fixed the mysteriously disappearing #event handling in macros ;)
11 May 2004 by Lax:
- Added nifty changes.txt reader to character select screen. Now you have no excuse!
- Fixed problem with events mysteriously having parameters disappear
- Updated Blech to fix a bug with some #events disappearing (and not firing)
- Your target's caption will now always be drawn
- Added LDoN Recruiters and Merchants to the list of full class names.
- Added /captioncolor command, which allows a lot of custom spawn caption coloring. For example,
the caption of marked NPCs or assist NPCs can be a specific color.. the caption of bankers and
merchants can be a set color. NPCs can be done by con color. All spawns can be done by
CLASS color (using the raid settings). Note that you can only set the raid class colors right
now through the raid options window. You can open this window by typing
/windowstate raidoptionswindow show
Usage: /captioncolor <list|<name off|on|#>>
Examples:
/captioncolor list
/captioncolor pcclass on
/captioncolor pctrader on
/captioncolor pctrader 255 128 0
- Changed /windowstate command to use the window mapping used by ${Window[name]}, /windows, etc.
- Fixed issues with "charm" and the invslot type
- raidmember MQ2Data type now inherits "spawn" (when they are in zone)
- Added/changed MQ2Data members:
class raidmember.Class: Raid member's class (works without being in zone)
int raidmember.Level: Raid member's level (works without being in zone)
int item.WornSlots: The number of invslots this item can be worn in (fingers/ears count as 2 slots)
invslot item.WornSlot[n]: The nth invslot this item can be worn in (fingers/ears count as 2 slots)
bool item.WornSlot[name]: Can item be worn in invslot with this name? (worn slots only..)
10 May 2004 by Lax (more):
- Fixed once and for all the crash bugs relating to spawn captions (WHICH ARE *NOT* THE HUD)
10 May 2004 by Lax:
- Fixed problem relating to false negatives determining if a spawn is a TRIGGER (e.g. flavor
text, trap, etc). This solves crash issues in the latest zip with the custom caption
system. This also solves non-crash issues identifying "invisible spawns" in spawn searches,
as well as spawns that were previously identified as NPCs in MQ2Map.
09 May 2004 by Lax (more):
- Fixed VS6 compile errors in Blech
- Fixed reported crash bug
- Fixed possible crash with HUDs
- Added MQ2HUD "type" 8, for character select screen. This should fix some potential
crashes when using custom HUDs and entering char select.
09 May 2004 by Lax:
- Removed remnants of MQ2Parms system. Rest in peace. Phase 4.
- Cleaned up a lot of old code that was being kept in comments
- Removed mount captions, they just crash the client
- Added optional parameter to /delay.
Usage: /delay <time> [condition to end early]
This lets you use a delay that has a possibility to end early. For example...
/keypress forward hold
/delay 1s ${Spawn[1234].Distance}<${Spawn[1234].MaxMeleeTo}
/keypress forward
- New command /noparse
Usage: /noparse <command>
Prevents a command from being parsed for MQ2Data. For example..
/noparse /ini blah blah blah ${stuff}
Will actually write the ${stuff} literally instead of changing it to the current value
of stuff.
- Added/changed MQ2Data members:
int macroquest.MouseX: Mouse's x location
int macroquest.MouseY: Mouse's y location
string ticks.Time: Time in the form mm:ss
string ticks.TimeHMS: Time in the form hh:mm:ss (if there are no hours, the form will be mm:ss)
int character.CountBuffs: Total number of buffs (not including short duration buffs)
07 May 2004 by Lax:
- Added "Lax/Blech" support to custom events. The Blech system allows much easier parsing of
incoming chat. Custom events will now support more parameters that are automatically
parsed based on the match text.
- Fixed up EQ's handling of spawn captions (name above their head). Only the nearest 35 spawn
captions will be updated by default (and even then, only those close enough that you'd see
their name). EQ itself constantly updates the name of every spawn in the zone, even though
only a small portion of those are displayed.
- Added an option to /caption command
Usage: /caption <list|type <value>|update #>
"/caption update #" will set the number of nearest spawns for MQ2 to update the name of
each pass. By default, this is 35. If you have performance issues after this update,
please post about it on the forums. Find a happy update number and let us know.
- Added marked NPC and assist target leadership stuff to default captions, also put guilds on
the line below the name. The defaults should mostly look like EQ's now.
- Fixed macro.Params
- Fixed invslot names
- Added/Changed MQ2Data Members:
spawn character.TargetOfTarget: Target of target (moved to character type)
bool spawn.Assist: Current Raid or Group assist target?
int spawn.Mark: Current Raid or Group marked npc mark number (raid first)
spawn character.RaidAssistTarget[n]: Current raid assist target (1-3)
spawn character.GroupAssistTarget: Current group assist target
spawn character.RaidMarkNPC[n]: Current raid marked NPC (1-3)
spawn character.GroupMarkNPC[n]: Current group marked NPC (1-3)
05 May 2004 by Lax (even more):
- Plenty of positive feedback on the custom spawn captioning. Plenty also asking why shownames
was not working properly. There are now 4 levels of captions for Players, according to the
shownames level, to solve this issue. Therefore the ini options are now Player1, Player2,
Player3, Player4 rather than just Player. Also, the guild status indicator now
capitalizes Leader and Officer, and added a "LDR" tag to your group leader.
- Added /caption command to set the custom captions from in-game.
Usage: /caption <list|type <value>>
To clear the specific setting, just do /caption <type> like so:
/caption player1
- DKAA fixed the bzsrch problems
- Added MQ2Data member:
bool spawn.GroupLeader: Is this your group's leader?
- Fixed CHARINFO struct. Some Stuff appeared slightly wrong, like leadership exp and bank
stuff.
05 May 2004 by Lax (more):
- Fixed crash on zoning relating to the new HUD functionality. Dont ask.
05 Max 2004 by Lax:
- Updated for patch and added README.CHM. Keep an eye out, we should have the manual
available in more formats (including printable) soon
04 May 2004 by Lax:
- New command
Usage: /hud <normal|underui|always>
* "Normal" will make the HUD display as it would normally on top of UI, not at char select
or in "f10 mode"
* "UnderUI" will make the HUD display as it would normally except UNDER the UI, and not at
char select or in "f10 mode"
* "Always" will make the HUD display under the UI, at char select, and in "f10 mode"
- New Plugin MQ2HUD. Edit MQ2HUD.INI to add custom elements to your HUD. You pick the spot
on the screen, the color, and what gets displayed. Every element gets parsed for MQ2Data
each time it is displayed.
Example MQ2HUD.INI:
[Elements]
TargetInfo=3,5,35,255,255,255,${Target}
GMIndicator=3,5,45,0,0,255,${Spawn[gm]}
CursorItemName=7,-15,-15,255,255,255,${If[${Cursor.ID},${Cursor},]}
ClickMeForFun=6,-25,-25,255,255,255,${If[!${Cursor.ID},click me,]}
The order is TYPE,X,Y,RED,GREEN,BLUE,TEXT.
Type is currently any combination of the following:
1 - Display in non-full screen mode
2 - Display in full screen mode ("f10 mode")
4 - X,Y is based on cursor location
e.g. 1+2+4=7. 7 means all 3 of the above. 6 means 2 and 4. 3 means 1 and 2. Just add them
together. There is no way to end up with a number that could mean two different
combinations.
Red, Green and Blue are each from 0 to 255. 255,255,255 is white, 0,0,0 is black.
** There is currently not a command to add or remove these from inside the game. One will
probably be added soon. The plugin will automatically re-load the list from the .ini
when you modify and save the .ini.
- Seeing as how the mouse functions perfectly fine in full screen mode, I've forced the cursor
to display the same as it would in UI-visible mode. The only difference is the item is not
displayed on your cursor. With MQ2HUD and the "CursorItemName" example, you could have it
show the name of the item attached to your cursor in full screen mode (use type 6 if you
want it to follow your cursor in full screen mode only).
- Added custom spawn captioning. Set them in MacroQuest.ini [Captions]. Empty the setting
to make it use EQ's default. By default our player caption is slightly different -
it shows their guild status if they are officer or leader of a guild. Pet captions are a
little different also - it will display the name of its master if it is a player's pet.
Use "\n" to mean a new line when setting captions.
- Added MQ2Data Top-Level Object:
spawn NamingSpawn: Spawn currently being captioned. NULL when not captioning.
- Added/changed MQ2Data members:
bool spawn.LFG: LFG?
bool spawn.Linkdead: Linkdead?
bool spawn.Trader: Trader?
bool spawn.AFK: AFK?
string spawn.AATitle: Actual AA title (e.g. Sage, Impresario, etc)
- MQ2Map adds Top-Level Object: spawn MapSpawn: If your cursor is on a spawn on the map, this is it
- Fixed ticks.Time
02 May 2004 by Lax:
- Added a popup box to the crash detected hook, explaining that the user should visit the
MQ2::Bug Reports forum.
- Removed EasyDetour and EasyClassDetour. There is a single replacement for the both of them
called EzDetour. EzDetour(offset,detour,trampoline). Examples (which are all over in MQ2Main
and plugins):
EzDetour(ProcessGameEvents,Detour_ProcessGameEvents,Trampoline_ProcessGameEvents);
EzDetour(CEverQuest__EnterZone,CEverQuestHook::EnterZone_Detour,CEverQuestHook::EnterZone_Trampoline);
- Renamed the REVERSE_DETOUR functions to reduce confusion. These really had nothing to do
with detours. What it really does is lets you call a function at a given offset.
So, they are now:
FUNCTION_AT_ADDRESS(function,offset)
FUNCTION_AT_VARIABLE_ADDRESS(function,variable)
FUNCTION_AT_VIRTUAL_ADDRESS(function,offset)
- Fixed small issue in MQ2Data parser
- Fixed /memspell not finding some spells correctly (Heroic Bond for example)
- MQ2 will now fix the string table by removing extraneous spaces from the end of strings,
since EQ isnt smart enough to do it itself. This fixes issues such as finding the AA
"Bestial Alignment", which has two spaces after it in eqstr_us.txt.
${AltAbility[Bestial Alignment]} previously did not work because of this issue. It works
now because of this fix.
- Added MQ2Data types
raid, raidmember (see reference for members)
- Added MQ2Data Top-Level Objects
raid Raid: Raid you're in...
- Added/changed MQ2Data members
string ticks.Time: Time in the form hh:mm:ss (if there are no hours, the form will be mm:ss)
int skill.MinLevel: Minimum level for your class
int skill.StartingSkill: Base skill level for your class
int skill.SkillCapPre50: Skill cap pre-50 for your class
int skill.SkillCapPost50: Skill cap post-50 for your class
int character.FreeInventory: Count of free inventory spaces
int character.FreeInventory[n]: Count of free inventory spaces of at least this size (giant=4)
int character.LargestFreeInventory: Size of largest free inventory space
- LaxColor is now defaulted to off since most people now realize that it exists. If you wish
to turn it back on, LaxColor=1 in MacroQuest.ini.
- Fixed spawn.NearestSpawn issues
- Fixed ${Ini} absolute path issues
- Fixed some other issues that were brought up on the boards
30 Apr 2004 by Lax:
- Added MQ2Data members
int macro.Params: Number of parameters to current sub
29 Apr 2004 by Lax (even more):
- Added option so that MQ2Data errors and normal errors (but not syntax errors that show
/usage etc) will dump the macro stack. This is ON by default. To turn it off, set
AllErrorsDumpStack=0 in MAcroQuest.ini section [MacroQuest]
- Added option so that the above errors will end the macro, aka makes them "fatal". This is
OFF by default. To set this, set AllErrorsFatal=1 in MacroQuest.ini section [MacroQuest]
- If for some reason you need to clear all GLOBAL SCOPE variables,
/deletevar * global
will do the trick. For example, after you try to run an old macro and then realize the
global scope changed and /zapvars no longer exists, but you can't make the variables outer
scope because theyre already in global scope and you dont want to delete them all one by
one....
- Perfected Multi-dimensional arrays
29 Apr 2004 by Lax (more):
- Fixed Multi-dimensional arrays
29 Apr 2004 by Lax:
- Fixed SPAWNINFO structure.
- NOTICE: Some MQ2Data members are currently MIA. They may come back soon. These include:
character.Hunger
character.Thirst
character.GukEarned
character.MMEarned
character.RujEarned
character.TakEarned
character.MirEarned
character.LDoNPoints
27 Apr 2004 by Lax (more):
- MQ2DataVars is now default. Share and enjoy, share and enjoy!
- Fixed timer type member availability
- Added MQ2Data type: altability
- Added MQ2Data Top-Level Objects:
altability AltAbility[n]: Alt ability by number
altability AltAbility[name]: Alt ability by name
- Changed/Added MQ2Data Members:
float spawn.MaxRange: Max distance from this spawn for it to hit you
float spawn.MaxRangeTo: Max distance from this spawn for you to hit it
int character.AltAbility[n]: Alt ability rank by number
int character.AltAbility[name]: Alt ability rank by name
bool character.AltAbilityReady[n]: Alt ability readiness by number
bool character.AltAbilityReady[name]: Alt ability readiness by name
int character.AltAbilityTimer[n]: Alt ability reuse time (seconds) left by number
int character.AltAbilityTimer[name]: Alt ability reuse time (seconds) left by name
spell character.CombatAbility[n]: Combat ability by number in your list (not same as others lists!)
int character.CombatAbility[name]: Combat ability number in your list by name (not same as others lists!)
- Added an option to MQ2Map: The "TargetMelee" mapfilter when set to 1 will draw a circle
representing how close to this spawn you must be to hit it. Set to anything but 0 or 1
will draw a circle representing how close to this spawn you must be for it to hit you.
- Added some flavor for error messages. Set LaxColor=0 in MacroQuest.ini [MacroQuest] to
disable. It's on by default or it wouldn't be as fun.
27 Apr 2004 by Lax:
- spawn.MaxRange now uses the proper melee range algorithm
- Fixed a crash bug in the Ini TLO
- Added proper relative/absolute path detection to /ini
- Fixed window.Checked
- Added MQ2Data members:
int window.Style: Window style code
bool window.Enabled: Enabled?
bool window.Highlighted: Highlighted/mouse over?
26 Apr 2004 by Lax:
- Various error messages have been updated to be more specific.
- Fixed "outer" scope not being cleared by /endmacro. Removed /zapvars in MQ2DataVars
since all it did was clear the outer scope. It's no longer needed because the old global
scope is separated into two scopes in MQ2DataVars.
- Fixed FindInvSlotForContents function (used in item.InvSlot. item.InvSlot will no longer
give NULL for valid items in your inventory/bank)
- Sub parameters (including those for events) are now allowed to have a type other than
string, when MQ2DataVars is enabled, like so:
Sub MySub(int A, string B, float C)
- Fixed out-of-bounds by 1 crash in MQ2DataVar arrays
- MQ2FPS now allows you to disable the framerate display with /fps off (/fps on to enable again)
- MQ2EQIM feature set adjusted. Now keeps your list of buddies (per character) and the last
time they were seen online or on eqim (by any character). Your friends list is automatically
added as buddies. A member was also added to the "buddy" type EQIM adds, time buddy.LastSeen.
- ${Ini} will allow either relative or absolute paths. Also slightly modified what it gives
you when you try to get a list of keys and supply a default (previously it would ignore
the default and give NULL if there was no list).
- Improved parsing of " and ] within MQ2Data indexing.
${String["hi"]}: hi
${String["hi","hi"]}: hi,hi
${String[""hi""]}: "hi"
${String[hi"hi"hi]}: hi"hi"hi
${String[[MQ2] - Hi]}: [MQ2] - Hi
${String["""]}: "
- MQ2BzSrch plugin is now updated for MQ2Data.
MQ2Data reference for MQ2BzSrch (because it's a plugin, not in main reference)
-------
Types added- bazaar, bazaaritem
TLO's added- bazaar Bazaar: Bazaar search info
---
bazaar
Members:
...bool Done: Search complete?
...int Count: Result count
...bazaaritem Item[n]: Result info by index (1-based)
To String: Same as Done
---
bazaaritem
Members:
...string Name: Item name
...spawn Trader: The guy selling it
...int Price: Price the guy is selling it for
...int Quantity: Number of this item this guy has
...int ItemID: The item's ID number
...int Value: Value of the item?
To String: Same as Name
-------
25 Apr 2004 by Lax (revision C changes):
- Fixed merchant.Item[=name] and corpse.Item[=name]
- Fixed character.PctEndurance
- Fixed problems with tabs in macros, and also with leading and trailing whitespace
- MQ2DataVars is READY. Keep an eye out for important announcements about this!
- Added MQ2Data types for MQ2DataVars: array, timer
25 Apr 2004 by Lax (even more):
- Hopefully fixed crash caused by fixing the "LastCommand" stuff...
- Added MQ2Data Members:
int character.MaxEndurance: Max endurance
int character.PctEndurance: Percent endurance
25 Apr 2004 by Lax (more):
- Fixed spawn.NearestSpawn
- Changed buff.ID so that it gives the song # or buff # instead of the spell's ID
25 Apr 2004 by Lax:
- Fixed once and for all the /itemnotify and /notify crashes
- Fixed the rendering rate defaults (will no longer flicker like a strobe light ;)
23 Apr 2004 by Lax (more):
- Added MQ2Data Type:
skill (see reference for members)
- Added MQ2Data Top-Level Objects:
string GroupLeaderName: group leader's name (works even if they are out of zone)
spawn GroupLeader: group leader (only works if they are in zone)
skill Skill[n]: Skill by number
skill Skill[name]: Skill by name
- Added/Changed MQ2Data Members:
spawn spawn.NearestSpawn[search]: Find the nearest spawn matching this search, to this spawn (most efficient on yourself)
spawn spawn.NearestSpawn[n,search]: Find the nth nearest spawn matching this search, to this spawn (most efficient on yourself)
string window.List[n]: Get the first-column text for the nth item in a list box. Example: ${Window[TradeskillWnd].Child[RecipeList].List[1]}
int window.List[text]: Find an item in a list box by partial match (use window.List[=text] for exact) Example: ${Window[TradeskillWnd].Child[RecipeList].List[=Inky Shadow Silk]}
int string.Count[char]: Count the number of occurrences of a particular character in the string
bool window.Checked: Checked? (useful for buttons)
string string.Left[-length]: The left ("all but" length) of the string.. Left[-1] of "Left" will be "Lef"
string string.Right[-length]: The right ("all but" length) of the string.. Right[-1] of "Left" will be "eft"
bool character.RangedReady: Ranged attack ready?
bool character.AltTimerReady: Alternate timer ready? (Bash/Slam/Frenzy/Backstab. Note that AbilityReady works fine with most of these)
int macroquest.Running: Running time of current MQ2 session, in milliseconds
- Fixed AbilityReady for the alternate timer abilities (Bash, Slam, Frenzy, Backstab, possibly others)
- Fixed /ctrlkey /shiftkey and /altkey. They would sometimes "stick" the key down.
- Added a notification to /notify "listselect", used to select the nth item in a list box.
Example: /notify TradeskillWnd RecipeList listselect 1
Use 0 to clear your selection.
- ${Group[0]} is now the same as ${Me}. Group members are still 1-5.
- Added command to MQ2FPS:
/render <fg|bg> <#|~#>
Sets the foreground or background rendering rate. This is how many out of n frames MQ2FPS
will allow to be drawn. You keep moving full speed, the client responds to mouse or keys,
the UI is still drawn... but, the world itself will not be drawn as often.
Use with ~ to draw n-1 out of n frames, or without to draw 1 out of n frames.
e.g. /render bg ~3 will draw 2 out of 3 frames. /render bg 3 will draw 1 out of 3 frames.
23 Apr 2004 by Lax:
- Changed top #turbo to 40, still defaults to 20
- Fixed Ini Top-Level Object again
- Fixed "enviro" slots so that they work for enviro1-10 not just 1-8
22 Apr 2004 by Lax:
- Readme.html has been removed from the zip by request of its author. It is being worked on
and will return.
- /selectitem GONE
- /finditem GONE
- /click functionality has been SEVERELY reduced. It will now function given an x,y,
and on an item or spawn (target). Upgrade to /notify for UI interaction.
/notify <window> <button screen id> <notification>
example:
/notify LootWnd DoneButton leftmouseup
Window names and control ScreenID's are found in the XML files, and are NOT screwed up
by custom interfaces (unless your UI does not have the button)
- Fixed item slot name discrepancies. What was previously "primary" and "secondary" is
"mainhand" and "offhand". It was one thing in some places, but not in others. Should
be all the same now.
- Underscores(_) are again valid in variable names
- Added "STUN" to spawn.State
- Fixed Ini Top-Level Object
- ** Added/changed MQ2Data type members
string macroquest.Error: Last normal error message (replaces $getlasterror but will NOT have the old values!)
string macroquest.SyntaxError: Last syntax error message (usage: /blahblah)
string macroquest.MQ2DataError: Last MQ2Data parsing error message
spawn spawn.TargetOfTarget: Target of target (May only work in "Me": ${Me.TargetOfTarget.PctHps}, etc)
int item.BuyPrice: Price to buy this item at this merchant
int item.SellPrice: Price to sell this item at this merchant
item merchant.Item[name]: Finds an item by partial name at this merchant (use merchant.Item[=name] for exact)
item corpse.Item[name]: Finds an item by partial name in this corpse (use corpse.Item[=name] for exact)
float character.PctGroupLeaderExp: Group leadership exp as a %
float character.PctRaidLeaderExp: Raid leadership exp as a %- bool character.Stunned: Stunned?
bool spawn.Sitting: Sitting?
bool spawn.Standing: Standing?
bool spawn.Ducking: Ducking?
bool spawn.Binding: Binding wounds?
bool spawn.Feigning: Feigning?
bool spawn.Invited: Invited to group?
bool class.PetClass: Pet class? (shaman, necromancer, mage, beastlord)
bool class.PureCaster: Pure caster? (can gate!)
bool class.CanCast: Can usually cast? (not melee only)
bool class.DruidType: Druid/Ranger?
bool class.ShamanType: Shaman/Beastlord?
bool class.NecromancerType: Necromancer/Shadowknight?
bool class.ClericType: Cleric/Paladin?
float math.Sqrt[formula]: The square root of formula
- New MQ2Data type "plugin"
- New TLOs
plugin Plugin[name]: Finds plugin by name
plugin Plugin[n]: Plugin by number, starting with 1 and stopping whenever the list runs out of plugins.
- Fixed LastSpawn[n] and LastSpawn[-n], also added them to reference.
- New command: /combine <pack> - hits combine on this container
- New command: /drop - drops item on cursor
- New command: /clearerrors - clears each of the "last errors"
21 Apr 2004 by Lax:
- Fixed if/newif
20 Apr 2004 by Lax:
- /if is now GONE. /if is now the same as what /newif was. /newif is aliased to /if.
- /sendkey and /press are now GONE. Please update to /keypress, which as of 15 Apr 2004 allows
pressing key combinations as well as the actual command. Example: /keypress alt+f
- /filter macros will now hide the output of /endmacro (if successful) and /zapvars (always)
- MQ2Labels updated for MQ2Data
- Fixed time.Year and time.Date
- Fixed charm invslot (number 0)
- Fixed ${If[]} handling of conditions
- Fixed FindItemCount to give the number of individual items rather than stacks
- MQ2EQIM plugin (which notifies you when someone on your EQIM buddy list changes) now keeps
track of your buddy list and adds a MQ2Data type and Top-Level Objects:
** buddy type
Members:
...string Name: Buddy's name (may be fennin.Name or just Name, depending on how you added them)
...string Status: "Removed from list", "Offline", "EQIM", "EQIM (AFK)", "Unknown Status(4)", "Playing", "Playing (AFK)"
...int StatusID: Numeric representation of the above (0,1,2,3,4,5,6)
To String: Same as Name
** Top-Level Objects
buddy Buddy[name]: Info on buddy with this name
buddy Buddy[n]: Buddy with this index number in the system
int Buddies: Size of the buddy index (will not necessarily be equal to the number of buddies, but n in Buddy[n] will never exceed this number)
- Added Top-Level Object:
int FindItemBankCount[name]: Count of items in bank by partial name match. FindItemBankCount[=name] will find exact
- Changed "character" member "PlatShared" to "PlatinumShared"
19 Apr 2004 by Lax:
- ** MQ2DATA PHASE TWO ** If something is missing from MQ2Data it's because you never opened
your damn mouth. If you need something in MQ2Data whether it was previously available or
not, speak up. You're on your own if you want to figure out how to enable MQ2Parm at this
point, good luck (I'm making it difficult on you so you will get your ass in gear)! The
readme is not yet updated.
- Fixed alerts being missing from SpawnMatchesSearch. They worked in some spawn searches but
not others.
- character.Inventory now uses the same numbering as InvSlot
- Added/changed MQ2Data members
invslot invslot.Pack: Container that must be opened to access the slot with /itemnotify
int invslot.Slot: Slot # inside that pack
string invslot.Name: For inventory slots not inside packs, the slot name
string spawn.ConColor: GREEN, LIGHT BLUE, BLUE, WHITE, YELLOW, RED
int character.PetBuff[name]: Finds slot with this spell name
spell character.PetBuff[n]: The spell in this slot (1-29)
int character.GroupLeaderExp: Group leadership exp
int character.GroupLeaderPoints: Group leadership points
int character.RaidLeaderExp: Raid leadership exp
int character.RaidLeaderPoints: Raid leadership points
int character.Platinum: Platinum
int character.Gold: Gold
int character.Silver: Silver
int character.Copper: Copper
int character.PlatinumBank: Platinum in bank
int character.GoldBank: Gold in bank
int character.SilverBank: Silver in bank
int character.CopperBank: Copper in bank
- New MQ2Data Top-Level Objects
int FindItemCount[name]: Count of items on character by partial name match. FindItemCount[=name] will find exact
- MQ2FPS plugin now adds these Top-Level Objects (these are NOT in the reference because they
are from a plugin not built in):
float FPS - Current frames per second
int MaxFPS - Current max frames per second
bool Foreground - Is this session in the foreground?
17 Apr 2004 by Lax:
- Fixed "window" data type's "To String"
- Fixed all VC6 project files so PDB/MAP files are produced for debugging
- New MQ2Data type
invslot - Inventory slot (not necessarily "in your inventory", this may be in merchant window, bank, etc)
see reference for current list of members.
- Added/changed MQ2Data members
invslot item.InvSlot: Inventory slot for this item
- New MQ2Data Top-Level Objects
invslot InvSlot[name]: Inventory slot by name
invslot InvSlot[#]: Inventory slot by number
item FindItem[name]: Find item on character by partial name match. FindItem[=name] will find exact
item FindItemBank[name]: Find item in bank by partial name match. FindItemBank[=name] will find exact
item SelectedItem: When using a merchant, etc. this is the selected item
15 Apr 2004 by Lax:
- Fixed /destroy crash
- Fixed "random" crash on zoning with MQ2Map loaded, due to a bug in the recently revised ConColor
- Fixed /cast issue casting "Bane" instead of "Bane of Nife" etc
- Fixed spell manager structure
- Fixed /doortarget id #, which would invariably crash
- Fixed and changed /keypress so that it also accepts key combinations, and will not crash no matter how hard you try.
/keypress with key combinations will have the same effect as /keypress using the command name, it will not
type the key into the chat window. If you need to type into a window specifically (chat windows, social edit, etc)
/keypress <key> chat
example: /keypress e chat
Note that you cannot use both hold and chat, and chat is only valid for the key not a command name.
** /sendkey and /press will give a warning the first time per session they are used that they are
now completely obsolete and you should switch to /keypress. they will be removed soon.
- Fixed and tested "heading" type's "To String"
- /newif will no longer quietly execute the "false" branch when it fails to parse the conditions. The conditions
after parsing MQ2Data/MQ2Parm will be displayed in an error message, and the macro will end.
- Other minor issues fixed
14 Apr 2004 by Lax:
- Fixed MQ2KeyBinds
- Fixed MQ2ChatWnd.ini
13 Apr 2004 by Lax:
- Fixed ! in Calculate (worked most of the time, but not in some special cases)
- Fixed heading's "To String" to give the correct heading. heading.Name/heading.ShortName were fine
- Fixed time.Time12 to be 12 hour (oops)
9 Apr 2004 by Lax:
- Fixed != in Calculate (and therefore in /newif, math.Calc, etc), and implemented ! as
the unary NOT operator. This gives 0 if your calculation is non-zero, or 1 if your
calculation is zero.
- MQ2Data changes:
-- Swapped Y and X back to being backwards-backwards or backwards-forwards, or whatever they
originally were
-- Added "NWU" coordinates (North/West/Up), the three positively oriented directions in EQ.
Spawns also have a shortcut for SED (South/East/Down). All type member names involving
XYZ have a NWU complement (none necessary for the "index" bracketed part, of Heading[y,x]
for example)
-- Fixed character.AbilityReady
-- Fixed item (TO STRING)
Top Level Objects
* spawn LastSpawn: The last spawn chronologically.
* spawn LastSpawn[n]: The nth from last spawn.. LastSpawn[1] is the LastSpawn.. LastSpawn[2] is 2nd from last, LastSpawn[3] is 3rd from last, and so on
* spawn LastSpawn[-n]: The nth from FIRST spawn.. LastSpawn[-1] is you, LastSpawn[-2] is the second spawn, LastSpawn[-3] is the third spawn, and so on
Additions/Changes to existing types:
* heading Heading[y,x]: Heading from player's current position to y,x
* float math.Distance[y,x,z:y,x,z]: Performs distance calculations in 1, 2 or 3 dimensions.
Any not given will default to your character's current x y or z.
* bool item.Stackable: Stackable?
* bool merchant.Open: Merchant open?
* float merchant.Markup: The amount used to calculate item values on this merchant
(Markup is what your charisma, faction, etc change). Markup*Cost=Merchant's sell price.
Cost*(1/Markup)=Your sell price. Markup of 1.05 is highest no matter what, so there might
not be any actual cap based on charisma.
* int merchant.Items: Item count on the merchant
* item merchant.Item[n]: nth item on the merchant
* bool corpse.Open: Corpse open?
* int corpse.Items: Item count on the corpse
* item corpse.Item[n]: nth item on the corpse
* item character.Inventory[slotname]: Item in this slot (inventory slots only, but
same names as /itemnotify)
* bool character.SpellReady[name]: Gem with this spell name ready for cast?
* bool character.SpellReady[slot]: Spell in this gem ready for cast?
8 Apr 2004 by Lax (more)
- MQ2Data changes:
Top level objects:
* heading Heading[x,y]: Heading from player's current position to x,y
Additions/Changes to existing types:
* int item.Container: The number of slots, if this is a container
* int item.Items: The number of contained items, if this is a container
* item item.Item[n]: The item in this slot, if this is a container
- Item links were apparently not working in the MQ2ChatWnd, nobody reported this until now.
Thanks people who noticed it and never reported it! Anyway, item links in MQ2ChatWnd are
simply stripped until I figure out the issue. Item links in MQ2Chat still work fine.
8 Apr 2004 by Lax
- MQ2Data changes:
- macro.Defined is now a top level object instead
bool Defined[name]
- Fixed all variable parsing when MQ2Parms is not on
- Fixed a major problem with /newif, should now "work as intended"
- Fixed (I think) problem with /face which let the macro continue before facing the target
completed
7 Apr 2004 by Lax
- Changes to MQ2Data system:
*** NOTICE: All X and Y coordinates used by the MQ2Data system have been REVERSED.
Internally, MQ2 stays the same as it has been forever. However, you will now
notice that "/echo ${Me.X}, ${Me.Y}, ${Me.Z}" will give the same order as seen
by typing /loc
Top level objects:
* currentzone Zone: Zone information about current zone
* zone Zone[id]: Zone information for zone with this id
* zone Zone[shortname]: Zone information for zone with this name
* time Time: Your local time in real life
* time GameTime: Game time
* type Type[name]: Info about the type with this name
* heading Heading[degrees]: Forms a heading type in the given direction in degrees
* string Ini[filename,section,key,default]: Reads from an ini file. section, key,
and default do not need to be given. section and key may be set to -1 to skip them
and give a new value. If section or key are not given, multiple values are read...
Additions/Changes to existing types:
* bool string.Equal[text]: Strings equal? Case does not count...
* bool string.NotEqual[text]: Strings not equal? Case does not count...
* bool string.EqualCS[text]: Strings equal? Case counts!
* bool string.NotEqualCS[text]: Strings not equal? Case counts!
* string string.Arg[n,separator]: Gets nth argument using separator as the separator (single character). If separator is not given, defaults to space
* zone character.Bound: The zone you are bound in
* int character.Skill[name]: Skill level of skill with this name
* int character.Skill[n]: Skill level of skill with this index
* int character.Ability[name]: Doability button number this skill name is on
* string character.Ability[slot]: Skill name assigned to this doability button
* bool character.AbilityReady[name]: Ability with this name ready?
* bool character.AbilityReady[slot]: Ability on this button ready?
* spell character.Book[slot]: Spell assigned to this slot in your spellbook
* int character.Book[name]: Spell slot the spell with this name is assigned to in your spellbook
* float (TOSTRING): Changed to ###.## instead of .###
* heading spawn.Heading: (changed to "heading" type)
* heading spawn.HeadingTo: (changed to "heading" type)
* heading switch.Heading: (changed to "heading" type)
* heading switch.DefaultHeading: (changed to "heading" type)
* heading switch.HeadingTo: (changed to "heading" type)
* heading ground.Heading: (changed to "heading" type)
* heading ground.HeadingTo: (changed to "heading" type)
New types:
* currentzone
* time
* heading
* type
*** Special handling is used for casting to "type", such that the new data is equal
to the old type, and the new type is "type".
-- Fixed type casting so that members of the new type may be accessed as expected (this
was incorrectly ending the parsing at the type cast until now)
- ConColor changed to take 1 parameter
- FindMount tweaked/inlined
- Changed the "RunNextCommand" to remain to TRUE until set to FALSE, so only cases where
the next command should not be run need to be explicitly set (this should increase
macro performance in most cases, but some commands may need to be correctly updated)
- /declare will no longer spam you if the variable previously existed. If the variable
previously existed, it will be quietly deleted and replaced by the new one. This might
cause some people problems but they will learn quickly ;)
- New command /deletevar <name> - Deletes an existing variable. Gives a message if the
variable did not exist, but no message if the variable did exist.
- /notify modified to work for clicking off buffs and other things it would not previously
work for. However, items must still be clicked using /itemnotify. /notify now accepts
all of the same clicks as /itemnotify (leftmouse,leftmouseup,leftmouseheld,etc)
31 Mar 2004 by Lax (more)
- Fixed character member PctExp
- Added character members:
float PctAAExp: % AA exp..
bool Moving: Moving? (includes the mount hack so you're not constantly "moving" when sitting on a mount)
- Added spawn members:
bool Swimming: Swimming?
bool Underwater: Underwater?
bool FeetWet: Feet at least wet?
int Animation: Animation id
int Holding: Holding id
float Look: Look angle
- Added "gm" to standard searchspawn, works with anything that uses that including MQ2Map commands,
/target, ${Spawn[search]}, etc
- Modified the if block parsing in FailIf so that it only looks for } and { as the first and last characters on a line
31 Mar 2004 by Lax
- Fixed /newif so variables/parms/data get parsed
- string.Mid and string.Find are now 1-based instead of 0-based
- Calculate (and stuff that uses it) now supports parentheses, and will treat
"NULL" and "FALSE" as 0, and "TRUE" as 1
- Added float math.Distance[x,y,z:x,y,z]: Performs distance calculations in 1, 2 or 3 dimensions. Any not given will default to your character's current x y or z.
30 Mar 2004 by Lax
- Added a distance-sorted spawn list in MQ2Main
- Added MQ2Data top-level object:
* spawn NearestSpawn[n]: The nth nearest spawn
* spawn NearestSpawn[search]: The nearest spawn matching this search (same as Spawn[search])
* spawn NearestSpawn[n,search]: The nth nearest spawn matching this search
29 Mar 2004 by Lax (even more)
- Added /ctrl /alt and /shift commands:
/ctrl <command>
/alt <command>
/shift <command>
These execute a command while telling the window manager that a key is pressed. This can
be used in conjunction with /itemnotify to pick up a stack or a single item... example:
pick up a single item from a stack: /ctrl /itemnotify pack1 leftmouseup
pick up an entire stack: /shift /itemnotify pack1 leftmouseup
Because they execute a command, they can also be used together, as in
/ctrl /alt /shift <command>...
- Fixed character.Buff[slot]
- Fixed character.Gem[name]
- Fixed If top level object crashing on false
- Added MQ2CHAT bind to start typing in the MQ2 Chat Window, also added MQ2CSCHAT bind which
gets forced to bind as "/" at character select, and does not exist while in game.
- Added /timed command, which executes a command after a specified duration (in deciseconds like pause)
/timed <deciseconds> <command>
Example: /timed 10 /echo 1 second has passed
Note: This does NOT "pause" successive commands.
- Added /newif command, which ONLY does numeric compares -- use MQ2Data string comparison to
turn string compares into numeric compares -- and note that this means you do NOT use the "n"
stuff. This will replace the current /if command in MQ2Data phase 3. Until then, you may
"/alias /if /newif" if you wish to use newif exclusively.
/newif <calculations> <command>
<calculations> gets evaluated down to a single term from however many terms there are (You
may use && and || freely.) *BE WARNED* that in calculations parentheses are still not
officially supported.. that's on my TODO list.
29 Mar 2004 by Lax (more)
- Added < <= == >= > && & || | to the Calculate function (someone rewrite if please...
fail if zero, fall through if non-zero)
- MQ2Data updates:
* Added top level object: string If[conditions,whentrue,whenfalse]
* Added type corpse, top level object: corpse Corpse
* Added top level object: item Cursor
* Added string members:
- int Compare[text]: -1 if the string is alphabetically before text, 0 if equal, 1 if after. Case does not count.
- int CompareCS[text]: -1 if the string is alphabetically before text, 0 if equal, 1 if after. Case counts.
* Lots of others...
- Fixed MQ2Parm slowness from debug spew if MQ2Data is also in use
29 Mar 2004 by Lax
- Phase 1 of MQ2Data system rollout begins! Please start updating macros, custom uis, plugins,
etc to use this sytem.
To use MQ2Data modify these MQ2Main lines
#define USEMQ2PARMS
//#define USEMQ2DATATYPES
Uncomment the USEMQ2DATATYPES #define to allow MQ2Data parsing. If you wish to disable
MQ2Parms parsing, comment the USEMQ2PARMS #define. You may use both or just one.
See this thread to see how MQ2Parms will be phased out
http://macroquest.sourceforge.net/phpBB2/viewtopic.php?t=6008
See this thread to see how to use MQ2Data instead
http://macroquest.sourceforge.net/phpBB2/viewtopic.php?t=6022
Specific information for plugins to add types and Top Level Objects will be available soon
- Moved a few functions to MQ2Inlines.h
- Fixed a performance issue in GetSpellByName
- Trying to detour an already detoured address will now fail instead of crashing
- Added some offsets to eqgame.h (mostly CListWnd), removed some offsets that were virtual
functions and probably not used anyway. If you are adding basic UI offsets to your plugins
ask to have them in eqgame.h please (people were doing this with CListWnd offsets).
23 Mar 2004 by Amadeus
- Removed DisplayZem function and calls and $zone(ZEM) ...rest in peace.
20 Mar 2004 by Lax
** eqgame.ini is no longer used/needed by MQ2! All offsets have been integrated
into eqgame.h. The client DATE/TIME are in eqgame.h also.
- Fixed /itemnotify
- Renamed the "SpawnListTail" stuff to "LocalPlayer", added "ControlledPlayer". These are
both EQPlayer and correspond to .. you. If you're on a mount, the one thats moving is
ControlledPlayer. ** Things that use PCHARINFO to get your spawn should be phased out.
- Added /docommand
- Added /dosocial
- Made some minor improvements in MQ2UserVars
16 Mar 2004 by Lax (after patch)
- Changed exe date/time checking to use the date/time strings compiled into the exe
16 Mar 2004 by Amadeus
- Updated the Spell Information Window with code provided by Koad in his Spell Search
Plugin.
16 Mar 2004 by Lax
- Fixed remaining issues with binds and custom binds
15 Mar 2004 by Lax (more)
- Added remaining, un-named EQ binds to the MQ2 bind system. Some are still unknown, and
some I'm surprised exist enabled in the client in the first place, and you should be
careful with those...
- Added /dumpbinds command. Example: "/dumpbinds bill" will dump all current binds to
Configs\bill.cfg to be loaded later.
- Added "/filter mq [on|off]", which prevents anything at all from being displayed by MQ2
- Added "/squelch <command>", which does the following:
* Step 1: turns mq filter off
* Step 2: executes the command
* Step 3: turns mq filter back to the state it was in before step 1
In other words, executes a command and prevents any output from the command
** It is recommended that you do this in your .CFG files that you dont want to see output from
/squelch /filter mq on
< do your stuff here>
/squelch /filter mq off
- I promise this is my last update for a few days at least!
15 Mar 2004 by Lax
- Fixed some bugs with binds and the MQ2CustomBinds plugin
- Modified bind system so that the same key can be bound to an MQ2 bind and an EQ bind and
both will work
- Added a system to run .CFG files, similar to quake .cfg files I suppose. The file must
contain commands the same as you would use them normally. Each command will be executed
in order, there are NO macro blocks, events, etc, in a cfg file.
* CFG files may be present in <release>\Configs\, in <release>\, or potentially in the
EverQuest directory. Note that <release> would be the same as wherever your Macroquest.ini is.
* Added /loadcfg <filename> command.
* Plugins can use LoadCfgFile(filename)
* Configs that are automatically loaded:
AutoExec.CFG - Executed on the first pulse
CharSelect.CFG - Executed when you are put at character select
<server>_<character>.CFG - Executed when this character enters the world
<mapshortname>.CFG - Executed when you zone into this zone
<pluginname>-AutoExec.CFG - Executed when this plugin is loaded (after its initialization is complete)
Examples of file names:
tallon_lordsoth.cfg - character
oot.cfg, soldungb.cfg, soldunga.cfg, take.cfg - maps
MQ2Map-AutoExec.CFG, MQ2ChatWnd-AutoExec.CFG - plugins
14 Mar 2004 by Lax
- Added /ranged [#] command. Run with no parameters to do a ranged attack on your current
target, or with a spawn ID to do a ranged attack on that spawn.
- Modified MQ2Spawns, hopefully this will solve the remaining stack corruption problems...
- Introduction of the new MQ2 key binding system
* New command /bind <list|eqlist|[~]name <combo|clear>>
* "/bind list" will list all MQ2 binds
* "/bind eqlist" will list all non-MQ2 binds
* The following work on both MQ2 and EQ binds the same way
* "/bind <name> <combo>" will set a bind's normal key combo (example: "/bind forward e")
* "/bind ~<name> <combo>" will set a bind's alternate key combo (example: "/bind ~forward up")
* Combos use any combination of "alt", "shift" and "ctrl" plus a key. Specific keys follow the
same rules as the /sendkey and /press
Example combos:
shift+n
alt+shift+f1
-- Always separate with +'s or spaces.
* Note that "clear" combo is to clear the bind, and also note that changing EQ binds will not
immediately update the display in the options window. Change the bind list selection in the
options window to see the updated keys.
* /keypress works the same way with all MQ2 and non-MQ2 binds
* API additions include:
BOOL AddMQ2KeyBind(PCHAR name, fMQExecuteCmd Function);
BOOL SetMQ2KeyBind(PCHAR name, BOOL Alternate, KeyCombo &Combo);
BOOL RemoveMQ2KeyBind(PCHAR name);
BOOL ParseKeyCombo(PCHAR text, KeyCombo &Dest);
PCHAR DescribeKeyCombo(KeyCombo &Combo, PCHAR szDest);
typedef VOID (__cdecl *fMQExecuteCmd)(PCHAR Name,BOOL Down);
-- Note: This function will be called when the key goes down as well as up. If you create a
MQ2 bind function make sure to account for this. The "Name" parameter is the name of the
bind
* /hotkey command is now removed, the new bind system will take over
- MQ2CustomBinds plugin is now live. This plugin allows you to specify custom commands to execute
on a key combination. There may be a command for the keys being pressed (down), and another for them
being released (up).
* /custombind <list|add <name>|delete <name>|clear <name><-down|-up>|set <name><-down|-up> <command>>
* "/custombind list" will list all of your custom binds names and commands (the key combinations must be set using /bind)
* "/custombind add <name>" will add a new bind name for use here, with /keypress, /bind, etc.
* "/custombind delete <name>" will remove a custom bind
* "/custombind clear <name><-down|-up>" will clear a specific command for a custom bind. If up or down is not specified, defaults to down.
* "/custombind set <name><-down|up> <command>" will set a specific command for a custom bind. If up or down is not specified, defaults to down.
* Example usage (NOTE: MQ2's very first bind command is "RANGED" so you do not need to do this, but for example...)
/custombind add mybind
/custombind set mybind /ranged
/bind bind n
-- To set the real RANGED bind, do "/bind ranged <key>"
13 Mar 2004 by Lax
- Added /multiline <delimiter> <command[delimiter[command[delimiter[...]]]]>
Executes all commands. Example: /multiline ; /stand;/rude;/sit
- Wave 3 of MQ2Map updates:
* Added /maphide command to hide spawns on the map given a search string. Hidden spawns
only take effect until the mapped spawns are re-generated (such as changing some map
filters)
"/maphide reset" will re-generate the spawn list.
* Added /mapshow command, to explicitly show spawns on the map given a search string.
These will only take effect until the mapped spawns are re-generated (same as maphide).
"/mapshow reset" will re-generate the spawn list.
* Added /mapclick command and special right click commands (hold a combination of
shift, control, left alt, right alt to execute a special command when right clicking
on a spawn). Defaults include left-alt right-click to highlight and control r-click to
hide.
* Added Group filter (requires PC) and NormalLabels filter (shows/hides non-MQ2 labels)
- Added notice when a new XML file is added to the list while in game. The notice
says which file was added and that the user must reload the ui for it to take effect.
- Fixed crash when adding a custom XML file that doesnt exist in the default UI directory
- Fixed $macro crash
12 Mar 2004 by Lax
- MQ2Map overhaul completed
- Fixed /keypress crash bug when you're an idiot and type an invalid command name :)
- Fixed client override problem
11 Mar 2004 by Lax
- I forgot to update the changes.txt file, so Amadeus is putting this here
so the masses will know I added/fixed/updated a bunch of shit.
11 Mar 2004 by Amadeus
- Updated tons of shit too
- MQ2 should be fully functional now with the 3/10 patch
11 Mar 2004 by Plazmic
- Complete rewrite of the way Guild ID tags are handled
- __Guild offset now points to the GUILD structure instead of the random offset
that shows the beginning of the list
- GUILD structure added to eqgame.h
- EQADDR_GUILDLIST should now be pGuildList always
- Added EQSWITCH structure
- Updated DOOR & GROUNDITEM structs to reflect the new EQSWITCH struct
08 Mar 2004 by Lax
- Wave 2 of MQ2Map upgrades:
/mapnames command added to change the naming scheme used for spawns on the map
Map filters/options system updated, each option can now have a "requirement"
When listing filters with /mapfilters, only options that have requirements are displayed
Concolor filter is now PCConColor and NPCConColor
Target filter now has 3 separate options - Target, TargetLine, TargetRadius
05 Mar 2004 by Amadeus
- Put in new CXWnd offsets [vzmule]
- Added structs in EQUIStruct.h for the Guildwindow and RaidWindow (work in progress)
05 Mar 2004 by Lax
- MQ2Map upgrade is now live. It uses the new OnAddSpawn/OnRemoveSpawn API to increase efficiency.
/highlight <spawn search string> will temporarily highlight these spawns
/highlight color <#> <#> <#> will set the highlight color
/highlight reset to reset the currently highlighted spawns
Right clicking on spawns on the map now targets them
- /keypress command is now live. /keypress <name> <hold> like so:
/keypress clear_target
/keypress forward hold
To release the key after holding, simply use the command again without the hold keyword.
- /itemnotify command is now live. /itemnotify <slot> <notification>, or /itemnotify in <bag slot> <#> <notification>
Bag slots are pack1-8, bank1-16 (and sharedbank1-2 and trade1-8 but these are not yet implemented in /itemnotify)
- Added OnAddGroundSpawn/OnRemoveGroundSpawn to plugin callbacks
- Fixed random crash on exit dealing with breakpoints
01 Mar 2004 by Zaphod
- Another bugfix in MQ2DetourAPI.cpp.
29 Feb 2004 by Zaphod
- More optimization of ParseMacroParameter() and some of the parameter routines it calls.
- Minor bugfix in MQ2DetourAPI.cpp.
28 Feb 2004 by Lax
- Added API to automatically maintain a list of all initialized windows
This will only have the most recent one initialized for each "screen item" name
Functions are in place to add/remove windows to the list with different names, etc.
- Added /notify and /windows commands
- eSpawnType enum (NONE,PC,MOUNT,PET,NPC,CORPSE,TRIGGER,ITEM) and GetSpawnType function
28 Feb 2004 by Zaphod
- Major optimization/cleanup of ParseMacroParameter().
22 Feb 2004 by Amadeus
- Updated readme.html [thanks Wassup!]
22 Feb 2004 by Lax
- Updated license notice in each source file for 2004 and made sure each had one
- Added MQ2Spawns.cpp, which gives us hooks when a spawn is added to or removed from a zone.
This could be used, for example, to increase the efficiency of MQ2Map.
PLUGIN_API VOID OnAddSpawn(PSPAWNINFO pNewSpawn)
PLUGIN_API VOID OnRemoveSpawn(PSPAWNINFO pSpawn)
19 Feb 2004 by Amadeus
- General Cleanup and offset updates for 02/18/2004 patch
- Added Endurance to CHARINFO and $char(endurance,cur) [Teh_ish]
17 Feb 2004 by Amadeus
- Added initial EQTRADESKILLWINDOW & EQTRADESKILLRECIPE struct
- Added pet window to the /windowstate command (ie: /windowstate pet open/close)
- Added initial EQPETINFOWINDOW struct
- Updated the mq2irc plugin to have the new irc server information
- Added a bunch of new parameters:
* $pet(buff,"<spellname>") [returns buff slot number]
* $pet(buff,#,id) [returns the spellID for the buff slot # given]
* $pet(buff,#,name) [returns the name for the buff slot # given]
* $pet(level)
* $pet(id)
* $pet(x)
* $pet(y)
* $pet(z)
* $pet(name)
* $pet(class)
* $pet(race)
16 Feb 2004 by Amadeus
- Fixed EQ_CONTAINERWND_MANAGER (which fixes $envopen )
- Added "Frenzy" to skills.h [daerck]
- Fixed EQLOOTWINDOW struct (which fixes $corpse(empty) and $corpse(has,xxx)
15 Feb 2004 by Amadeus
- 'Grouped' location fixed in CHARINFO (thereby fixing $char(grouped))
- Fixed WhoFollowing in Actorinfo (thereby fixing $char(following)
- Added IsABoat to Spawninfo
- Went ahead and added the dx9.0 dinput.h to the cvs to be ready for next patch
* As far as I can tell, the changes between 8.1 and 9.0 for dinput.h are VERY
minimal.
14 Feb 2004 by Amadeus
- Fixed a LOT of wrong offsets in eqgame.h
- Added four offsets to eqgame.h:
* pinstTextMessageWnd
* pinstCDynamicZoneWnd
* pinstCTargetOfTargetWnd
* pinstCTradeskillWnd
13 Feb 2004 by Amadeus
- Added CareerFavor and CurrFavor to CharInfo [Macrofiend]
- Added $char(favor,cur) & $char(favor,career) [Macrofiend]
12 Feb 2004 by Amadeus
- ACTORINFO struct fixes :: fixed $char(pet)
- Added a bunch of code by ml2517
* $char(height), $spawn(#,height), $target(height)
* $target(maxrange), $spawn(#,maxrange)
* $distance(y,x[,z][:y,x[,z]])
11 Feb 2004 by Amadeus
- Fixed Attacks offset in eqgame.ini
- Added an emergency placeholder in the ACTORINFO struct to fix $char(casting)
(This structure will be fixed soon.)
11 Feb 2004 by Zaphod (dohpaZ)
- Added Beserker to the classes and Gates of Discord to the expansions.
- Fixed my name in the readme.html
10 Feb 2004 by Amadeus
- Updated structs and offsets
- Added 'favor' (Tribute Value) to ITEMINFO
- Added code to MQ2ITemDisplay to show item tribute value
09 Feb 2004 by Amadeus
- UPDATED SOURCEFORGE CVS!
- Small additions to the structs from suggestions on the message boards and
a couple new things to the ItemDisplay plugin.
20 Jan 2004 by dkaa
According to Pragma:
1 bug: in the code for $rand(), there needs to be a srand(time(0));
2 bug: in the code for $gamestate, $servername, and $loginname, the
value returned is 1 too high. You need to return length-1, which
is 8 for loginname and gamestate, and 9 for servername, this will
fix parsing issues.
18 Jan 2004 by Amadeus
- SpellID in _SPELLBUFF is now a DWORD vs. WORD
- Updated SpellInfo formulas used in the itemdisplay mod
- Added Instrument mod information to the itemdisplay mod (thanks TheColonel)
17 Jan 2004 by Valerian
- Fixed _ITEMINFO struct -- minor correction to the size of one of the unknowns to realign.
11 Jan 2004 by DKAA
- Fixed the $combat to reflect the status of autoattack (Thanks Sharp of Fairlight)
7 Jan 2004 by EqMUle
- added Readme.html updated by Wassup
5 Jan 2004 by EqMUle
- Added [bzrtrader_start] and [pc_trade_yes] to locations.txt. Thanks to Zacaria for theese.
1 Jan 2004 by Lax
- Chat hook is no longer responsible for when zoning is finished or game is entered
- Added $merchant(markup)
31 Dec 2003 by Lax
- ESC no longer hides the MQ2ChatWnd or MQ2IRC windows and they are no longer closable
- Fixed STMLToPlainText
- Made MQ2Labels use STMLToPlainText to convert the tooltip tags (this means you can
use < and > by using "<" and ">", respectively)
31 Dec 2003 by Amadeus
- Added $spell(xx,spelltype),$spell(xx,targettype),$spell(xx,name),$spell(xx,aerange),
$spell(xx,pushback),$spell(xx,resisttype),$spell(xx,resistadj),$spell(xx,fizzletime)
- Removed $spawn(#,castingspellid) & $target(castingspellid)
[http://macroquest.sourceforge.net/phpBB2/viewtopic.php?p=33124#33124]
- Added Uninterruptable and Autocast to SPELL along with other fixes (thanks SoF & Koad)
- Added more functionality to the Spell Inspect Window. You will now see the Effect of the
spell and the classes that can use it. You might really find it interesting to
Alt-LeftClick on some of your buffs and find out exactly what they are doing to you! It's
almost like having an ingame Lucy connection -- and we owe a great deal of this functionality
to Koad and borrowed code from his spellsearch plugin.
**NOTE: The formulas for this are still being tweaked. If you wish to help iron these
out, please post under Koad's thread on MQ2:Plugins board. He is the keeper of
of the spell effects/slots formula. **
30 Dec 2003 by Lax
- Updated version number since it's not Christmas anymore..
- Fixed commands that werent supposed to be working at char select so they dont crash
- Removed some extraneous offsets from eqgame.h
- Fixed RemoveOurDetours() so it doesnt hang
- Add something very special that everyone will love!
- Fixed a bunch of $target(xxx) crashes when no target
30 DEC 2003 by EqMule
- fixed a couple unsigned/signed warnings when compiling in VC6
29 Dec 2003 by Amadeus
- Added Levitating and Sneaking; Fixed AARank and Linkdead in SPAWNINFO (thanks source)
- Added $char(levitating), $target(levitating), $spawn(#,levitating) -- returns TRUE or FALSE
- Added $char(sneaking), $target(sneaking), $spawn(#,sneaking) -- returns TRUE or FALSE
- Went through all macro routines and made sure that everything uses lower case
ie, $target(castingspellid) rather than $target(CastingSpellID).
- Added <Sneak> to the superwho (thanks vzmule/source)
29 Dec 2003 by Lax
- MQ2Auth modified.
* MQ2Auth now produces MQ2Auth0.h instead of MQ2Auth1.h and MQ2Auth2.h
* MQ2Auth will import existing MQ2Auth2.h into MQ2Auth0.h if MQ2Auth0.h does not
already exist but MQ2Auth2.h (in other words, it will import your "keyring" to
MQ2Auth0.h)
* MQ2Auth now accepts a command line parameter telling it the path to use
- Merged BOOK, COMMON, CONTAINER structs into ITEMINFO (the individual structs no
longer exist!)
29 DEC 2003 by EqMule
- fixed /click left item
28 Dec 2003 by Amadeus
- Added PushBack and ResistAdj to Spell struct
- Added functionality to the ItemDisplay Plugin that shows the following information
about spells when you "examine" a spell from a gem or your spellbook: ID, Duration,
RecoveryTime, RecastTime, Range, AERange, PushBack, Resist Type and Resist Adjust.
You will notice that if a spell doesn't have any of these values, then that field
will not be shown at all. (**More functionality to come later**)
- Added MQ2Bzrsearch to the VS.net solution file.
27 Dec 2003 by Lax
- Changed around plenty of stuff
- EQUIPMENT struct no longer uses names for its union members...
- SPELLLIST changed to SPELL, SPELLPOINTER changed to SPELLMGR
- Added O(1) access to GetSpawnByID
- Added O(1) access to GetSpellByID
- Most window base classes set up correctly
- MQ2ChatWnd updated to use a custom window, and allows typing in edit box. Also shows up at char select to annoy you all.
- MQ2IRC updated to allow typing in edit box (goes to channel...)
- Tons of function offsets added for UI stuff, have fun with that
- Added functionality so commands can be set to work in-game only (will be ignored outside of game, at char select for example)
26 Dec 2003 by Amadeus
* Added szBaneDmgType (thanks to TheColonel)
* _CONTENTS tweak (thanks to TheColonel)
* "Price" added to _CONTENTS (thanks to Pragma)
* SPELLLIST update (thanks to Sharp of Fairlight)
* Updated MQ2Ext
* Added $spell(id,xxx) -- **$spell() will now accept either ID# or Name as first parameter**
25 Dec 2003 by Amadeus
* Added CastingSpellID to Actorinfo struct (thanks to Sharp of Fairlight)
* Reworked $char(casting) to use more efficient CastingSpellID
* Added $char(castingspellid), $spawn(#,castingspellid), $target(castingspellid)
* Fixed $char(held,left), $char(held,right), $char(held,shield)
* Added $char(held,primary), $char(held,offhand)
* Fixed $target(held,left), $target(held,right), $target(held,shield)
* Added $target(held,primary), $target(held,offhand)
* Fixed $spawn(#,held,right), $spawn(#,held,left), $spawn(#,held,shield)
* Added $spawn(#,held,primary), $spawn(#,held,offhand)
* Added AERange to SPELLLIST struct (thanks to Sharp of Fairlight)
* More changes to ActorInfo (Timestamp stuff) thanks to Sharp of Fairlight
25 Dec 2003 by EqMule
- fixed /banklist crash
- fixed $char(ismoving) - thanks to ml2517
- added makezip.bat to make zip file creation easier...
24 Dec 2003 by Lax
- Updated offsets with correct ones
- Replaced remaining calls to AddDetour with EasyDetour and EasyClassDetour
- Updated EasyDetour/EasyClassDetour defines to explicitly cast the offset to DWORD
- Updated MQ2IRC with current version from forum
- Modified CHARINFO struct to use Inventory and InventoryArray for inventory member names.
- Fixed $lastcommand
- Fixed $char(hp,cur), $char(hp,max), $char(hp,pct)
24 Dec 2003 by Amadeus
- Fixed CHARINFO (thanks to TheColonel for new stuff)
* CHARINFO now has:
+ HPBonus
+ ManaBonus
+ PercentEXPtoAA
+ GukEarned
+ MMEarned
+ RujEarned
+ TakEarned
+ LDoNPoints
- Removed Stamina from all references in parser and struct
+ Added $char(HPBonus), $char(ManaBonus), $char(PercentEXPtoAA), $char(GukEarned),
$char(MMEarned), $char(RujEarned), $char(TakEarned), $char(LDoNPoints)
+ Updated _COMMON (thanks again to TheColonel)
* Added BaneDMG;
* Added Lore
* Added BaneDMGType
* Added InstrumentType
* Added InstrumentMod
* Added DmgBonusType
* Added DmgBonusVal
* Fixed Range
+ Added szTheme[]
+ Added szDmgBonusType[]
+ Updated ItemDisplay Plugin to include LDoN stuff (TheColonel)
+ Updated itemtypes.h with "All Instruments" as type 51 (thanks TheColonel)
+ Removed $item(lore) & $cursor(lore)
+ Added $item(LDTheme) & $cursor(LDTheme)
+ Added $item(DmgBonusType) & cursor(DmgBonusType)
+ Fixed $char(Mounted)
21 Dec 2003
+ Added MQ2Mouse2.cpp. Don't need to compile this, it's the new mouse code. Incomplete and inop.
21 Dec 2003 by Amadeus
- Fix for MQ2Ext
19 Dec 2003 by EqMule
+updated offsets, structs for todays patch...
15 Dec 2003 by Amadeus
- Fix for $target(sclass)
- Fix for FullClassToShort
* Thanks to Schark for these*
13 Dec 2003 by Amadeus
- Added MQ2Ext to the project
06 Dec 2003 by Lax
- Added benchmark system.
- Modified pulse behavior so that executing macro commands is separate from other pulse stuff
- Modified MQ2FPS to take the above into account (it no longer needs to know about macros)
- Updated MQ2IRC to be current with the version posted in forums
- Added /bench command which with no parameters outputs currently active benchmark stats to chat
When used with parameters, /bench will benchmark a command. /bench [command]
Example: /bench /who all friends
05 Dec 2003 by Mckorr
+Fix for CTD when using /click left|right target when nothing was targetted (motd2k)
05 Dec 2003 by EqMule
+Fixed $searchspawn(pc,loc:x:y,radius:100) using Ohmz code. see
http://macroquest.sourceforge.net/phpBB2/viewtopic.php?t=3394&highlight=searchspawn+loc
for more info
+Fixed /selectitem to look in all 80 merchantslots, previously it would stop at 79
+misc small fixes
03 Dec 2003 by Lax
- Added custom windows system:
** CCustomWnd base class for your windows
** AddXMLFile, RemoveXMLFile to manage custom xml files
** More info / example coming
- Added MQ2IRC plugin to CVS with some changes
- Added MQ2EQIM plugin, which handles buddy list info (custom window soon, also auto loading buddy list)
- Updated MQ2EQBugFix plugin to solve current journal npc window crash (and it shouldnt make it not show anything this time)
- Added OnReloadUI callback, called after /loadskin command is used
- Fixed hangups compiling with VC6
- Added EasyDetour and EasyClassDetour to ease the pain of hooking functions
02 Dec 2003 by Mckorr
- Fixed SHA in short classes, is now SHM. Added Rogue/ROG (I missed that one before)
- Added $spawn(#,sclass)
27 Nov 2003 by Lax
- / command correctly does EQ /who by default
- MQ2Telnet redone.
- Plugins using DoCommand() will execute it on the next pulse instead of immediately (corrects problems unloading the plugin)
- MQ2FPS shouldn't cause major problems when switching from absolute to calculate mode
- MQ2Template removed from VS6 workspace and .NET solution
25 Nov 2003 by Lax
- MQ2FPS now has a /fps command that can change some other settings. Selecting "absolute" mode will switch to "cpu limiter" style, while "calculate" mode will switch to "fps limiter" style. FPS limiter is default. The same command will allow you to reposition the FPS indicator display.
- MQ2FPS display now shows a * if using absolute mode, and will show /MACRO if a macro is being executed that causes the limiting to be minimal
- Added aliases /g and /gu to the default list
- Macroquest2.exe now pops up a message box if the system failed to load MQ2Main.dll
20 Nov 2003 by EqMule
fix for $merchant(name)
20 Nov 2003 by Lax
*** MacroQuest2.exe is now pre-compiled, you no longer compile this yourself. MQ2Auth implemented. Run it before compiling on each machine.
- MacroQuest program will no longer use loadlibrary, it loads our library directly.
- The version number is now stored in MQ2Main.h as the top line, and not in macroquest.ini. When compiled it becomes a global variable. Comparing the global variable gszVersion with the #define in MQ2Main.h will cause the tray icon tooltip to suggest recompiling if necessary.
- Removed EQADDR_SLOTLIST, which is now ppInvSlotMgr/pInvSlotMgr
- Fixed MQ2Telnet crashes (for real)
- Added DebugSpewNoFile which does not write to file even if debugspewtofile=1. This is useful for when we can't put up with the file access times. All Macro commands and parser api debug spew has been changed to this form. Note that this debug spew is still useful for when you attach a debugger.
19 Nov 2003 by EqMule
+Added new command /destroy
will destroy whatever you have on your cursor. Use with care.
example: /if "$cursor(name)"~~"rusty" /destroy
In order to get that to work I had to declare EQ_PC (MQ2Globals.h(250):EQLIB_VAR EQ_PC **ppPCData;)
19 Nov 2003 by Lax
- Fixed MQ2Telnet to not crash on unload (probably). Critical sections were getting deleted twice.
- Fixed aliases to work when given parameters
18 Nov 2003 by EqMule
+fix: mouseto and click by changing ScreenX and ScreenY to ScrX and ScrY)
+Added EQLIB_API VOID AddParm(PCHAR Name, fMQParm Function);
EQLIB_API VOID RemoveParm(PCHAR Name);
to MQ2Main.h so that custom plugins will find them...
+updated $merchant(has,xxx) with HanzO's code for it, thank you.
+Updated $selecteditem() with new (count) for easier usage of /sellitem and /buyitem
example: /sellitem $selecteditem(count) self
+misc fixes...