OOP in Macros
Posted: Sun Aug 29, 2004 3:26 am
Hey everyone,
I remember when the switch from MQ2Parms to MQ2Data was made, the variables became a little more object oriented ( for example to see a mob's class, ${Mob.Class}, or for hp ${Mob.PctHPs}).
Is there a way to have user defined objects in macros. For example, this is what such a class might semi-look like in C++ (this isn't quite valid C++ and this isn't quite valid MQ2Data
).
For a cleric
Or for an enchanter
The way I write my macros now (using the enchanter example):
I've written some semi-advanced macros but I'm to the point where I want to figure out ways to make it easier to work on. I know one thing I should look into are arrays, but arrays can get somewhat messy if your not too careful and was just wondering if you could create user defined objects in macros. Besides, according to my help file, you can't make timer arrays anyway =).
I remember when the switch from MQ2Parms to MQ2Data was made, the variables became a little more object oriented ( for example to see a mob's class, ${Mob.Class}, or for hp ${Mob.PctHPs}).
Is there a way to have user defined objects in macros. For example, this is what such a class might semi-look like in C++ (this isn't quite valid C++ and this isn't quite valid MQ2Data
For a cleric
Code: Select all
class GroupMemberOne
{
public:
spawn Attributes = Group[1];
int HealThreshold = CalculateHealThreshold(Group[1].Class);
timer VirtueTimer;
};
Code: Select all
class GroupMemberOne
{
public:
spawn Attributes = Group[1];
bool AutoRune;
timer VOQTimer;
timer HasteTimer;
timer NDTTimer;
};
Code: Select all
/declare GroupMemberOneAutoRune bool outer
/declare GroupMemberOneVOQTimer timer outer
/declare GroupMemberOneHasteTimer timer outer
/declare GroupMemberOneNDTTimer timer outer
/declare GroupMemberTwoAutoRune bool outer
/declare GroupMemberTwoVOQTimer timer outer
/declare GroupMemberTwoHasteTimer timer outer
/declare GroupMemberTwoNDTTimer timer outer
/declare GroupMemberThreeAutoRune bool outer
/declare GroupMemberThreeVOQTimer timer outer
/declare GroupMemberThreeHasteTimer timer outer
/declare GroupMemberThreeNDTTimer timer outer
/declare GroupMemberFourAutoRune bool outer
/declare GroupMemberFourVOQTimer timer outer
/declare GroupMemberFourHasteTimer timer outer
/declare GroupMemberFourNDTTimer timer outer
/declare GroupMemberFiveAutoRune bool outer
/declare GroupMemberFiveVOQTimer timer outer
/declare GroupMemberFiveHasteTimer timer outer
/declare GroupMemberFiveNDTTimer timer outer
.
.
.
Then procedures for each group member to set the timers based on class, etc.