Anyone ever wonder how Plazmic's mind works?

A forum for the general posts relating to MacroQuest. *DEPRECATED: This forum is no longer in public use, but remains here for your reading pleasure. Enjoy

Moderator: MacroQuest Developers

Plazmic
The One
The One
Posts: 800
Joined: Fri Jun 14, 2002 12:31 am
Contact:

Anyone ever wonder how Plazmic's mind works?

Post by Plazmic » Tue Sep 03, 2002 4:37 pm

Just want to post my random thoughts for MQ from today/lastnight...

These are kind of a "to do" list... ideas on implementation of requests... pseudo-code thoughts...

Code: Select all

Fix l# handling in /next
Add $spell(xxx,<id|mana|cast|recover|recast|range>)
Find if spell is being refreshed.
Add !~ (does not contain)


Reading/writing files:
MacroQuest.ini 
FileAccess=none|read|readwrite

/fopen f# <mq|macros|logs|eq> <filename> <read|write|append>
/fclose f#
/fread f#
/fwrite f# <text>
Last read/write can be accessed by $f#
All will set $getlasterror to ERROR_NOACCESS if denied.


Extending MQ:

Macroquest.ini:
[DLLs]
Name=something.dll

LoadLibrary on it
Get address of “MQ_AddHandler_Command”
Get address of “MQ_AddHandler_Variable”

PADDHANDLER_COMMAND MQ_AddHandler_Command(HMODULE hMQ, LPVOID *Offsets):

typedef struct _ADDHANDLER_ COMMAND {
	struct _ADDHANDLER_ COMMAND *pNext;
	CHAR szCmd[MAX_STRING];
fEQCommand *fHandler; // Void fHandler(PSPAWNINFO, PCHAR);
} ADDHANDLER_COMMAND, *PADDHANDLER_ COMMAND;

Extend InsertCommands() to use PADDHANDLER_ COMMAND

New format for our commands:
typedef struct _MQCMDS {
	struct _MQCMDS *pNext;
	CHAR *Command;
	fEQCommand *EQFunction;
	fEQCommand *MQFunction;
} MQCMDS, *PMQCMDS;

PADDHANDLER_VARIABLE MQ_AddHandler_Variable(HMODULE hMQ, LPVOID *Offsets):

Typedef PCHAR *_VARIABLEFUNC(PCHAR);

typedef struct _ADDHANDLER_VARIABLE {
	struct _ADDHANDLER_VARIABLE *pNext;
	CHAR szVar[MAX_STRING];
_VARIABLEFUNC *fHandler;
} ADDHANDLER_VARIABLE, *PADDHANDLER_VARIABLE;

Rewrite ParseMacroParameters() to use PADDHANDLER_VARIABLE


#define OFFSET_CHARINFO 		0;
#define OFFSET_SPAWNLIST 		1;
#define OFFSET_COMMANDLIST 	2;
#define COUNT_OFFSETS 		3;

LPVOID _OFFSETS[] = {
	(LPVOID)EQADDR_CHARINFO,
	(LPVOID)EQADDR_SPAWNLIST,
	(LPVOID)EQADDR_COMMANDLIST,
	0
};
- Plazmic

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Tue Sep 03, 2002 8:51 pm

Salutations,
um... great? stacking is in there... right?

User avatar
Imperfect
Macro Author
Macro Author
Posts: 319
Joined: Fri Jun 14, 2002 1:52 am

Post by Imperfect » Tue Sep 03, 2002 10:02 pm

Its on his plate trust me ;)

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

Post by Amadeus » Tue Sep 03, 2002 10:48 pm

I hate to whine...but I really, really, really, really, really, really want MacroQuest to work with the new UI :(

Pretty Please....with sugar on top.... :)

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Tue Sep 03, 2002 10:55 pm

Salutations,
bribe me and i'll learn how to do the advanced type of c++ he's doing and i'll do it... in the mean time i have a pretty little dice program...

User avatar
Imperfect
Macro Author
Macro Author
Posts: 319
Joined: Fri Jun 14, 2002 1:52 am

Post by Imperfect » Tue Sep 03, 2002 11:19 pm

Actually there is not that many C++ functions. NewUI is tough because it does several things differently so it requires quite a bit of disassembly...

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

Post by Amadeus » Wed Sep 04, 2002 2:31 am

Do we think it's going to be possible? (The new UI, that is)

...I mean, my interpretation of the UI's was that whenever they feel comfortable with the new UI as far as bugs go (and you know VI's tolerance of bugs), the old UI is outta here...

I just think that the future of being able to even use the old UI is limited.

elkcit
a lesser mummy
a lesser mummy
Posts: 34
Joined: Sat Aug 31, 2002 3:20 pm

newUI thoughts

Post by elkcit » Wed Sep 04, 2002 3:07 pm

actually the newUI isn't so hard to deal with logically... at least as far as where screen elements are

since location info for every element is defined by a combination of the XML file and the UI_char_server.ini file info in order to know where something is, you need only parse those files after startup based upon the char name and what skin that char is using.

not sure how the display is different otherwise from the old full screen mode...

just my 2 coppers (been working on newUI tradeskill script under xylobot and just figured out how to locate things, thought it might help to offer the insight)

User avatar
rizwank
Huggle Police
Huggle Police
Posts: 524
Joined: Tue Jul 23, 2002 12:07 am
Contact:

Post by rizwank » Wed Sep 04, 2002 4:17 pm

xylo rocks.
I like MQ much better but Xylo offers a lot of abilities i didnt see before MQ, and Xylo is cross-game ..

User avatar
Imperfect
Macro Author
Macro Author
Posts: 319
Joined: Fri Jun 14, 2002 1:52 am

Post by Imperfect » Wed Sep 04, 2002 5:50 pm

Lol! MQ was developed partially because Xylobot was so limited...

elkcit
a lesser mummy
a lesser mummy
Posts: 34
Joined: Sat Aug 31, 2002 3:20 pm

Post by elkcit » Wed Sep 04, 2002 6:51 pm

i use same name to post on xylo boards.

done a few scripts

tried MQ out over weekend, like it a lot... especially for tradeskills... still gonna try to finish my xylobot trade script but MQ is sooo much better for that lol... just kinda bummed that everyone keeps saying it doesn't work for the new ui.... thats why i offered the comments above

User avatar
Imperfect
Macro Author
Macro Author
Posts: 319
Joined: Fri Jun 14, 2002 1:52 am

Post by Imperfect » Wed Sep 04, 2002 7:48 pm

And your comments are valid. MQ is tougher because it is more tightly intergrated with the client