MQ2 Latest Release -- MQ2-20210915(Test).zip

General announcements relating to the modularized MacroQuest2 system.

Moderator: MacroQuest Developers

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170908.zip

Post by EqMule » Fri Sep 08, 2017 4:44 pm

I added mq2cast and mq2rez to the post, they are fixed to work with the new undeclared variables fixed zip.
07 Sep 2017 by eqmule
- All Plugin Sources changed outside of core are attached to the post here:
viewtopic.php?f=29&t=11451&p=174399#p174399
- using namespace std; has been removed from mq2main.h
THIS MEANS your plugins will ERROR with lines like this:
error C2143: syntax error: missing ';' before '<'
The line: map<string, class CXWnd2 *> WindowMap;
To fix: Find #include "../MQ2Plugin.h" in your plugin and add using namespace std; under the LAST #include below it.
Example:

Code: Select all

	#include "../MQ2Plugin.h"
	#include <otherheader>
	...
	using namespace std;
	
OR just change the line to say std:: map<std::string, class CXWnd2 *> WindowMap;
-
- The reason for that change is that right now we litter ALL projects with the std namespace and it is just not good.
Let everyone that needs that namespace use it in their own projects from now on.
-
- #bind(s) are now fixed and won't screw up the macrostack anymore.
- Todays update is significant because I rebuilt the macro engine to improve performance,
it was well overdue. The biggest change is that gMacroBlock is now a map.
- Undeclared Variables are no longer tolerated, and the macroengine will not run at optimal speed
if they exist. I have added a TLO to check for them because of this and a new macro keyword #warning as well
so there is no good reason to run old macros where these kinds of variables hog cpu power:
AGAIN: IMPORTANT: Undeclared variables will slow down macro performance a LOT if they are used over and over, so, fix your macros.
-
- The Macro TLO has a new method: .Undeclared
Usage: /invoke ${Macro.Undeclared} and it will list all undeclared variables.
- New macro keyword: #warning
add it at the top of your macro, and you will get warnings if there are undeclared variables used in it.
-
- /while loops can now be nested inside /while and /for loops.
- /continue and /break should work properly inside /for loops now.
- /break works in /while loops now.
- /for loops can now have nested /for loops inside them
-
- Updated MQ2Rez and MQ2Cast to not hog the cpu looking up windows over and over.
- Other stuff to optimize and cut down on cpu intensive tasks.

Files changed outside of core:
\MQ2Cast\MQ2Cast.cpp
\MQ2Rez\MQ2Rez.cpp
01 Sep 2017 by eqmule and eqholic
- You can now call functions inside if statements in your macros
Use [] after your sub inside the if statement to tell the macro its a sub
so /if (blah[]) /call dostuff
or if it actually have parameters
/if (blah[${arg1} "hi there" 0]) /call dostuff

Example:

Code: Select all

Sub Testsub
    /echo Enter Testsub
    /return Hello world
/return

Sub Testargs(int arg1,int arg2)
    /if (${arg1} > ${arg2}) {
        /return Testargs: ${arg1} > ${arg2}
    } else {
        /return Testargs: ${arg1} <= ${arg2}
    }
/return

Sub IsHuuge(int arg1)
    /echo IsHuuge ${arg1} ?
    /if (${arg1} > 1000) {
        /echo TRUE
        /return TRUE
    } else {
        /echo FALSE
        /return FALSE
    }
/return

Sub Main 
    /echo ${Testsub[]}
    /echo ${Testargs[10 9]}
    /if (${IsHuuge[2000]} && !${IsHuuge[1]}) /echo Huuge and smaaal
/return
  
Attachments
MQ2Cast.cpp
(55.57 KiB) Downloaded 96 times
MQ2Rez.cpp
(8.78 KiB) Downloaded 58 times
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170912.zip

Post by EqMule » Tue Sep 12, 2017 10:50 am

12 Sep 2017 by eqmule and eqholic
- All plugin sources for this zip are attached to this post:
viewtopic.php?f=29&t=11451&p=174415#p174415
- Changed MQ2MoveUtils to save stuff faster.
- MQ2ChatWnd got a new tlo /echo ${ChatWnd.Title}
- MQ2ChatWnd got a new command /setchattitle
- MQ2Melee updated - it has flags for down and holyshits called downflag0-60 and holyflag0-60
you SHOULD set those flag to 2 if you parse ANY macro variables.
Example:

Code: Select all

  downflag0=2
  downshit0=/if (${Macro.Paused}) /echo ${Macro} is PAUSED!
  
- MQ2Hud now updated with a new type HUDTYPE_MACRO which is 16
This means you can now set the type to any combination of 1 2 4 8 and 16
see http://www.macroquest2.com/wiki/index.php/MQ2HUD for more info.
Basically using a hud that tries to parse variables that are used in macros, before they are declared will fail.
This new flag lets mq2hud know to not even try unless its set.
-
- Adding events from a macro will now also automatically /declare variable as outer if used.
Example: #Event Burn "[MQ2] |${BurnText}|"
As you can see this event uses the variable ${BurnText} and it will therefor /declare it as well.
This means you can remove /declare BurnText in your Sub Main since adding the event did it for you already.
-
- Added ${Macro.IsOuterVariable[xxx]} which returns TRUE/FALSE, it checks if a outer variable exists. (read is declared)
I would recommend NOT using this in macros unless its for debug purposes because it can get quickly get expensive in terms of cpu cycles.
-
- Added ${Macro.IsTLO[xxx]} which returns TRUE/FALSE, it checks if a Top Level Object exists. This should be faster than checking if a plugin is loaded. *should*
Usage:

Code: Select all

    /if (${Macro.IsTLO[Melee]}) {
        /echo yes there is a Melee Top Level Object loaded...
		/echo this means I CAN actually do stuff with it without it throwing the Undeclared warning:
		/delay 25 !${Melee.Combat}
    } else {
        /echo no there is no such TLO, maybe you should load mq2melee?
		/end
    }
    
Attachments
MQ2MoveUtils.cpp
(345.12 KiB) Downloaded 75 times
MQ2Melee.cpp
(298.48 KiB) Downloaded 87 times
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170914.zip

Post by EqMule » Thu Sep 14, 2017 6:29 pm

14 Sep 2017 by eqmule
- Updated for TEST
- Fix: Variables that are undeclared but supplied as paramters now default to an actual NULL or 0 not the string "NULL"
- Fixed ${Familiar[x].} it will return familiars and not illusions now...
-
- Fixed a bunch of window structs that we where completely misusing anyway.
this could require some plugin changes, contact me for help if you get errors.
-
- Inspecting the Blessed Spiritstaff of the Heyokah will no longer ctd you.
- Added Math.Clamp ${Math.Clamp[Min, N, Max]} will clamp N between Min and Max. - cred derple
Example:
${Math.Clamp[1, 15, 30]} => 15
${Math.Clamp[20, 15, 30]} => 20
${Math.Clamp[1, 15, 10]} => 10
Practical usage:
/bct ranger //stick id ${Target.ID} ${Math.Clamp[25,${Target.Distance},150]}
this will make your ranger stay put if he is already between 25-150 meters away
otherwise it will move him at most 150 away and at least 25 away.
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170915.zip

Post by EqMule » Fri Sep 15, 2017 4:40 pm

15 Sep 2017 starring rswiders as "the captain", eqmule as "crew member number 6" and special guest star: eqholic
- Updated to handle the new SPA's
- Fixed a bug in /next not taking its argument into account for nested for loops.
- Fix for labels
- Fixed the CSIDLWND struct (the SIDL define...) so since we have never had this right it was time, but note that
if your plugin uses stuff like: pwnd->SidlText and its NOT an actual CSidlScreenWnd then you need to change it to whatever window it actually is.
I guess questions about this should be directed to me (eqmule)

plugins changed outside of core: attached in this post:
viewtopic.php?f=29&t=11451&p=174467#p174467
MQ2Rez
Attachments
MQ2Rez.cpp
(8.77 KiB) Downloaded 57 times
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170917.zip

Post by EqMule » Sun Sep 17, 2017 9:15 pm

17 Sep 2017 by eqmule
- Fixed ${Me.GukEarned}, ${Me.MMEarned}, ${Me.RujEarned}, ${Me.TakEarned}, ${Me.MirEarned} and ${Me.LDoNPoints}
- Added a new TLO PointMercant it only have one member : Item which is a pPointMerchantItemType.
The pPointMerchantitemType has the following members: Name, ItemID, Price, ThemeID, IsStackable, IsLore, RaceMask, ClassMask, bCanUse
Usage:
/echo ${PointMercant} returns true if the LDON Mercant window is open and FALSE if not.
/echo ${PointMercant.Item[1].Price} OR /echo ${PointMercant.Item[Ebon Hammer].Price}
returns the Price for index 1 or whatever index Ebon Hammer is in if you do it by name.
etc.
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170918.zip

Post by EqMule » Mon Sep 18, 2017 6:18 pm

18 Sep 2017 by eqmule
- Fixed an infinite loop bug and a variable parse bug in Eval functions. -cred bug report: creamo
- Eval functions that take multiple arguments MUST separate those with comma(s) from now on
Example: (run with a cleric, war or shaman)

Code: Select all

  Sub Main
	/declare c_argueString string outer shm clr war
	/declare ChatSender string local ${Me} 

	/if (!${checkbot["shm war clr", ${ChatSender}]}) { <-NOTE the COMMA
		/echo ${Time} Only Func3: FALSE, this should be TRUE
	} else {
		/echo ${Time} Only Func3: TRUE, this should be TRUE
	}
  /return

  Sub checkbot(selectedBots, chatSender)
    /declare botSelected bool local FALSE
	/echo ${Time} in Sub checkbot selectedBots=${selectedBots} chatSender=${chatSender}
    /if (${Select[${Me.Class.ShortName},${selectedBots}]}) /varset botSelected TRUE
  /return ${botSelected}
  
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170920.zip

Post by EqMule » Wed Sep 20, 2017 1:09 pm

Sep 20 2017 by eqmule

There will be no more public mq2 updates until I catch the guy that released the mq2 for agnarr.

send me a pm or skype text: eq.mule
if you have information. you can be anonymous.

mq2 is still open source and free ( found here: http://www.mq2update.com/MQ2-20170921(Live).zip ), its just that equistructs.h eqgame.h and eqdata.h wont be distributed or updated by me anymore. those change every patch and everything prior to this day is under gpl and can of course be requested or downloaded, but from now on until this crap is resolved, I have my own NEW includes that are NOT under the gpl.

I'm sick of having my hard work being taken and passed of by some leech on a server that I specifically requested we stay away from. I wont tolerate it.

mq2 is free and staying off of truebox was the only price people had to pay, cant do that? no mq2 for anyone anymore.

wanna step in and update it? lol go for it, it must be "easy" if eqmule can do it in a couple hours... pfft... yeah right...

/eqmule (yeah I'm bitter)
I DONT WANT ANYONE TO QUIT PLAYING EQ OVER THIS, YOU WANT A COPY OF MQ2 I WILL SEND IT TO YOU: http://www.mq2update.com/MQ2-20170921(Live).zip
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170922.zip

Post by EqMule » Fri Sep 22, 2017 6:03 pm

https://www.mq2update.com/MQ2-20170922(Live).zip
Sep 22 2017 by eqmule
- Added ${Spell[x].IllusionOkWhenMounted} it returns true if the illusion spell will land when you are on a mount
you can call this using any spell, but it will always return true if the spell is NOT an illusion spell.
in fact it wont even evaluate it further if its not a illusion spell
- Fixed the pinstCTimeLeftWnd_x offset
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170923(Test).zip

Post by EqMule » Sat Sep 23, 2017 7:21 pm

http://www.macroquest2.com/downloads/MQ ... (Test).zip
Sep 23 2017 by eqmule
- Updated for TEST
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170926(Live).zip

Post by EqMule » Tue Sep 26, 2017 11:00 am

https://www.mq2update.com/MQ2-Latest.zip
Sep 26 2017 by eqmule
- Updated the SPELL struct:
- CARecastTimerID has been renamed to ReuseTimerIndex
- Mana has been renamed to ManaCost
- FizzleTime has been renamed to RecoveryTime
- ReagentId has been renamed to ReagentID
- DescriptionNumber has been renamed to DescriptionIndex
- SubSpellGroup has been renamed to SpellSubGroup
- Location has been renamed to ZoneType
- DurationValue1 has been renamed to DurationCap
plugins changed:
MQ2NetBots
MQ2NetHeal
MQ2Debuffs
MQ2Cast
MQ2Melee
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20170928(Live).zip

Post by EqMule » Thu Sep 28, 2017 4:40 pm

https://www.mq2update.com/MQ2-Latest.zip
Sep 28 2017 by eqmule
- Added MQ2FamKiller
- Added MQ2Bandolier
- Fixed MQ2Cursor
- Removed the voice "help" in group for mq2rez.
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20171011(Test).zip

Post by EqMule » Wed Oct 11, 2017 1:24 pm

Oct 11 2017 by eqmule
- Updated for TEST

Oct 03 2017 by eqmule
- /removebuff now takes parameters: -pet and -both | cred MacQ
/removebuff -pet buffname removes the buff from your pet ( same functionality as /removepetbuff buffname)
/removebuff -both bu
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20171012(Test).zip

Post by EqMule » Thu Oct 12, 2017 7:21 pm

Oct 12 2017 by eqmule
- Updated for TEST
- Updated for TEST #2
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20171013(Test).zip

Post by EqMule » Fri Oct 13, 2017 11:51 pm

Oct 13 2017 by eqmule
- Updated for TEST
- MQ2Auth.exe now produces truly unique hashes, everyone needs to rerun it.
- You can now see what your MQ2Auth is by clicking the Show MQ2Auth menu item on the trayicon.
this also optionally let you copy it to the clipboard.
- EQ_CHAT_HISTORY_OFFSET has been removed it was a pita to keep updated
From now on do :
OutputBox->MaxLines = 0x190;
instead of
(DWORD*)&(((PCHAR)OutputBox)[EQ_CHAT_HISTORY_OFFSET])=0x190;
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Re: MQ2 Latest Release -- MQ2-20171018.zip

Post by EqMule » Wed Oct 18, 2017 9:39 pm

Oct 18 2017 by eqmule
- Updated for LIVE
- The latest zip is located here: http://www.mq2update.com/MQ2-Latest.zip
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.