[TABLE="width: 600, align: center"]
[TR]
[TD="align: center"]
[/TD]
[TD="align: center"]
[/TD]
[TD="align: center"][/TD]
[/TR]
[/TABLE]
Install
Update
Patch Notes
The zip file below is for advanced users. If you're new, please use the installer and run update.exe after each patch to get the newest version.
[TR]
[TD="align: center"]
[/TD][TD="align: center"]
[TD="align: center"][/TD]
[/TR]
[/TABLE]
Install
Update
- Run update.exe
Patch Notes
Rich (BB code):
16 Jan 2017
KissAssist patched, showstopping bug in AE section. Thanks to Maskoi & ctaylor
Auto, AutoBard, AutoWarrior added to the default macros, and AutoCleric updated to 3.0 beta. Huge thanks to Noobhaxor!
15 Jan 2017 by Redguides
Kissassist updated to 9.1.9
13 Jan 2017 by rswiders
Added SkillBase to character. This will give you the static base maximum for your skills.
Updated Skill and SkillCap to handle the new TS aas allowing for above the cap values.
13 jan 2017 by eqmule
Added ${Macro.MemUse} it returns a pIntType letting u know how much memory your macro is using.
its useful if you suspect you have a leak.
Ok so here is a NEW FEATURE which was brought to us by Brainiac, Thanks Brainiac!
It allows us to extend any existing TLO's in our own plugins.
Example:
You want to add a new member to for example the character TLO
named .CursorKrono which tells you how many Krono you have on your cursor
you could then do /echo ${Me.CursorKrono}
Below is a plugin example for how you would do this: (code tags added for forum post to show up correctly)
Rich (BB code):
// MQ2ExtensionTest.cpp : Defines the entry point for the DLL application.
//
// PLUGIN_API is only to be used for callbacks. All existing callbacks at this time
// are shown below. Remove the ones your plugin does not use. Always use Initialize
// and Shutdown for setup and cleanup, do NOT do it in DllMain.
#include "../MQ2Plugin.h"
PreSetup("MQ2ExtensionTest");
//----------------------------------------------------------------------------
// test the mq2 datatype extension code
class MQ2CharacterExtensionType* pCharExtType = nullptr;
class MQ2CharacterExtensionType : public MQ2Type
{
public:
enum ExtensionMembers {
CursorKrono = 1,
};
MQ2CharacterExtensionType() : MQ2Type("MQ2TestCharacterExtension")
{
TypeMember(CursorKrono);
}
bool GETMEMBER()
{
PMQ2TYPEMEMBER pMember = FindMember(Member);
if (!pMember)
return false;
switch (pMember->ID) {
case CursorKrono:
{
if(PCHARINFO pCharInf = GetCharInfo()) {
Dest.DWord = pCharInf->CursorKrono;
Dest.Type = pIntType;
return true;
}
}
return false;
}
bool ToString(MQ2VARPTR VarPtr, PCHAR Destination)
{
return false;
}
bool FromData(MQ2VARPTR& VarPtr, MQ2TYPEVAR& Source)
{
if (Source.Type != pCharExtType)
return false;
VarPtr.Ptr = Source.Ptr;
return true;
}
bool FromString(MQ2VARPTR& VarPtr, PCHAR Source)
{
return false;
}
};
PLUGIN_API VOID InitializePlugin(VOID)
{
pCharExtType = new MQ2CharacterExtensionType;
// This is where you add it to an existing TLO
// in this case the one named "character" aka our ${Me} tlo...
AddMQ2TypeExtension("character", pCharExtType);
}
PLUGIN_API VOID ShutdownPlugin(VOID)
{
//dont forget to remove it on plugin shutdown...(aka plugin unload)
RemoveMQ2TypeExtension("character", pCharExtType);
delete pCharExtType;
}
07 Jan 2017 by Redguides
- KissAssist updated to 9.1.8
- Ninjadvloot updated to 6.04 (thanks hoosier!)
- MQ2Heals & MQ2AFNuke are working again, thanks Jimbob
- All macros are now formatted properly. Thanks joojoobee!
06 Jan 2017 by eqmule
Fixed the _EQCASTSPELLGEM struct, thanks JimBob
this should make features that relies on the spellicon and spellstate members of that struct work again.
Updated the TEST build so its synced with LIVE.
Added some new Spawn TLO members: (DISCLAIMER: I reserve the right to remove/alter and or depreciate any of these as I'm still testing this stuff.)
IsBerserk (pBoolType), pTouchingSwitch (pIntType), bShowHelm (pBoolType), CorpseDragCount (pIntType), bBetaBuffed (pBoolType), CombatSkillTicks[x] 0-1 (pIntType),
FD (pIntType), InPvPArea (pBoolType), bAlwaysShowAura (pBoolType), GMRank (pIntType), WarCry (pIntType), IsPassenger (pBoolType),
LastCastTime (pIntType), DragNames[x] 0-1 (pStringType), DraggingPlayer (pStringType), bStationary (pBoolType), BearingToTarget (pFloatType), bTempPet (pBoolType),
HoldingAnimation (pIntType), Blind (pIntType), LastCastNum (pIntType), CollisionCounter (pIntType), CeilingHeightAtCurrLocation (pFloatType), AssistName (pStringType),
SeeInvis[x] 0-2 (pIntType), SpawnStatus[x] 0-5 (pIntType), bWaitingForPort (pBoolType)
SolventNeeded in the iteminfo struct has been renamed to SolventItemID
Added some new members to the iteminfo struct and cleaned it up a little.
Added MQ2AugType TLO, iy has these members: Slot (pIntType), Type (pIntType), Visible (pBoolType), Infusable (pBoolType), Empty (pBoolType), Name (pStringType), Item (pItemType)
New Member: AugSlot added to the item TLO
it returns a pAugType
Usage: (Items can have MAX 6 slots for augs so... [x] can ONLY be 0-5)
/echo ${Cursor.AugSlot[0].Type}
/echo ${Cursor.AugSlot[1].Visible}
/echo ${Cursor.AugSlot[2].Infusable}
/echo ${Cursor.AugSlot[3].Empty}
/echo ${Cursor.AugSlot[4].Name}
/echo ${Cursor.AugSlot[5].Item.Purity}
Added 2 new commands: /removeaug and /insertaug to the mq2itemdisplay plugin
type /removeaug or /insertaug for help
/removeaug will pop a dialog if a perfect augmentation distiller needs to be used...
I would be extremely careful with these 2 commands unless you understand
how they work... if you augment the wrong item or remove an augment from the wrong item or whatever... its not my fault.
Added the MQ2WorldLocationType TLO it has the following members: ID (pIntType),Y (pFloatType), X (pFloatType), Z (pFloatType),Heading (pFloatType), Zone (pZoneType),
Added BoundLocation to the Charatcer TLO its size is 0-4 for up to 5 bind points.
Usage:
/echo ${Me.BoundLocation[0].ID} returns the zone id of your first bind point
/echo ${Me.BoundLocation[1].ID} returns the zone id of your second bind point
Changed pChar2->ZoneBoundX it's now pChar2->BoundLocations[0].ZoneBoundX;
as well as all the other ->ZoneBo****** members.
24 Dec 2016 by Redguides
Too much eggnog during previous update. Fixed.
24 Dec 2016 by Redguides
MQ2Nav updated - brainiac
MQ2Heals updated - jimbob
MQ2AFNuke updated - jimbob
Kissassist updated - maskoi, ctaylor
18 Dec 2016 by eqmule
OK ILL PUT THIS FIRST SO YOU DON'T MISS IT:
I have changed ALL instances of GuildID to __int64 (cause DBG did)
PLEASE! be aware of this change as it WILL break some plugins.
NOW, as for macros: IF your macros uses ${Me.GuildID} NOTE that it returns a pInt64Type
from now on.
This is the reason I have added 2 new members to the pInt64Type TLO
Namely: .LowPart and .HighPart
SO: IF you have a macro that relies on GuildID being 4 bytes...
Then you NEED to change it from: ${Me.GuildID} to ${Me.GuildID.LowPart}
mkay...
Now onto the fixes:
FIX: /pet attack
FIX: barter and trader "tells" no longer trigger beepontells
FIX: /mqclear no longer crashes
FIX: /itemnotify "name of item" lefmouseup can pick up
items from top level slots once again.
For completeness sake I also added .LowPart and .HighPart to the pIntType TLO
15 Dec 2016 by eqmule
Fix: double timestamps in the eqlog is no longer happening so you can turn on /timestamp again.
Fixed a bug in FindItem and its derivatives where it needed signed parameters.
Fixed the EQINVSLOTWND struct, it was off by a few bytes.
Yes that means .InvSlot will once again "work" (dont effing use it. in your macros, use ItemSlot and ItemSlot2)
14 Dec 2016 by redguides
KissAssist updated to 9.1.5
14 Dec 2016 by eqmule
GuildID in SPAWNINFO is a __init64 now... not by my design, it just is
I have tried to make it backwards compaible with the spawn guild tlo which is still a DWORD
report any bugs related to this change on the forum. Plugins are gonna have to be updated accodingly.
Fix Errors like this for example: error C2660: 'GetGuildByID': function does not take 1 arguments
char *pGuild = GetGuildByID( GetCharInfo()->GuildID ); becomes
LARGE_INTEGER guildlarge = {0};
guildlarge.QuadPart = GetCharInfo()->GuildID;
char *pGuild = GetGuildByID( guildlarge.LowPart,guildlarge.HighPart );
I started correcting the iteminfo struct it's a work in progress so expect more changes to fully implement this.
Initially the Augment members has gotten a review (and a fix they where broken)
So... AugSlot1 etc is now part of its own class
therefor:
pitem->AugSlot1 is now pitem->AugData.Sockets[0].Type
and so on...
pitem->AugSlot1_Visible is now pitem->AugData.Sockets[0].bVisible
and so on...
CListWnd no longer inherits CSidlScreenWnd BUT it has access to the CXWnd class members.
CComboWnd no longer inherits CSidlScreenWnd BUT it has access to the CXWnd class members.
Fix Errors like these:
list->Items becomes list->ItemsArray.Count
CListWnd*pListWnd = (CListWnd*)pCombo->Items becomes CListWnd*pListWnd = pCombo->pListWnd (it was kinda confusing before, but less so after this change)
13 Dec 2016 by rswiders
Updated GetClassesFromMask to display "ALL" or "ALL EXCEPT:" when appropriate based on the class
mask.
08 Dec 2016 by eqmule
Updated for TEST
Fixed a bug where FindItem and all its derivatives wouldn't look deeper than 20 slots into a bag.
Now it doesn't matter how many slots a bag has, it is dynamic.
I #pragma pack(8) where I need it now, dont change them.
In preparation for automatic updating of the CONTENTS struct
I HAD to reorganise it.
Therefor:
NumOfSlots1 has been renamed to ContentSize Ths also effects macros that use the NumOfSlots1 member.
NumOfSlots2 has been renamed to Size
MOST of these changes affect core only, I dont think there will be many plugins that needs updating
BUT here are some examples of how to fix errors that I have seen:
change:
pItem->ItemSlot TO pItem->Contents.ItemSlot
cSlot->pContentsArray TO cSlot->Contents.ContainedItems.pItems
cSlot->pContentsArray->Contents[iPack] to cSlot->GetContent(iPack)
pInvSlot->pContentsArray TO pInvSlot->Contents.ContainedItems.pItems
pInvSlot->pContentsArray->Contents[ucPack] TO EITHER:
pInvSlot->Contents.ContainedItems.pItems->Item[ucPack] OR SIMPLY JUST
pInvSlot->GetContent(ucPack) BOTH return the exact same thing.
06 Dec 2016 by rswiders
Fixed up the new SPA descriptions in spell display
The zip file below is for advanced users. If you're new, please use the installer and run update.exe after each patch to get the newest version.
Attachments
Last edited:


