Page 1 of 3
Enable/Disable the /goto function
Posted: Sat Jul 17, 2004 1:46 pm
by EQBot_man
Is there anyway to disable/enable the /goto command and have it sent to the server instead of being intercepted by MQ2, such that I can type in /goto into my UI without it trying to /goto a label in a macro that isn't running? I'm assuming there is no easy way to enable/disable such an embeded command but I thought I would ask. The only way I can think of to disable it, is not to run MQ2 in the first place then the /goto command would be sent to the server. In that case is there anyway to exit out of MQ once its embeded in the EQ instance?
Posted: Sat Jul 17, 2004 2:02 pm
by MacroFiend
Where are you running EQ that you have access to a non-MQ /goto command?
Posted: Sat Jul 17, 2004 2:06 pm
by EQBot_man
I can not answer that. Suffice i to say that I need a /goto command to work outside the sceme of MQ, hopefully while using MQ
Posted: Sat Jul 17, 2004 2:21 pm
by JGC84
only goto thing i can find is
Code: Select all
/* MQ2DataVars */
VOID Goto(PSPAWNINFO pChar, PCHAR szLine)
{
CHAR szTemp[MAX_STRING] = {0};
PMACROBLOCK pFromLine = gMacroBlock;
bRunNextCommand = TRUE;
if (!gMacroBlock) {
MacroError("Cannot goto when a macro isn't running.");
return;
}
while (gMacroBlock->pPrev) {
gMacroBlock=gMacroBlock->pPrev;
if (!strnicmp(gMacroBlock->Line,"Sub ",4)) break;
}
while (gMacroBlock->pNext) {
gMacroBlock=gMacroBlock->pNext;
if (!strnicmp(gMacroBlock->Line,"Sub ",4)) {
gMacroBlock=pFromLine;
FatalError("Couldn't find label %s",szLine);
return;
}
if (!stricmp(szLine,gMacroBlock->Line)) {
// DebugSpewNoFile("Goto - went to label %s",szLine);
return;
}
}
if (!stricmp(szLine,gMacroBlock->Line)) {
// DebugSpewNoFile("Goto - went to label %s",szLine);
return;
}
gMacroBlock=pFromLine;
FatalError("Couldn't find label %s",szLine);
}
in the MQ2MacroCommands.cpp, but uh.. i dont know much about it
Posted: Sat Jul 17, 2004 2:31 pm
by ieatacid
That's the goto when you do something like "/goto :loop" in macros.
Posted: Sat Jul 17, 2004 2:32 pm
by Hannibal
Sounds like you need a refund on your warp plugin.
Posted: Sat Jul 17, 2004 2:35 pm
by EQBot_man
Yes. When I type in /goto I get the error:
"Cannot goto when a macro isn't running."
Which if course is true since I'm not running a macro. And I doubt there is any easy way to disable any specific command once its compiled, short of just simply not running MQ2 when you load EQ in the first place. But I would like to be able to type /goto into my UI and have it maybe bypass MQ2, or be able to somehow pause the entire program of MQ2. If there is no easy way to accomplish this, or if my post turns into a flamefest, then I'll simply not run MQ2 when I need to able to type /goto. But it would certainly help if there was an easy solution.
Posted: Sat Jul 17, 2004 2:41 pm
by EQBot_man
Heh. I read that warp plugin post but no I did not buy the plugin. Like I've said before I need the /goto command to work outside of MQ2.
To give you guys a little more information with helping me solve this problem and to possibly help prevent a flamefast I offer this scenario:
I log onto a character in Everquest without any external programs running. No MQ2, no MQ2 warp plugin(since you'd have to be running MQ2 int he first place he he). I'm now running Everquest the way Sony designed it using their shitty client ONLY. I type /goto and something happens. I can not divulge what happens or how this scenario is even possible but know that it is.
So my question: How can I run MQ2 while being able to use a /goto command at the same time?
Re: Enable/Disable the /goto function
Posted: Sat Jul 17, 2004 2:46 pm
by Thornado
EQBot_man wrote:In that case is there anyway to exit out of MQ once its embeded in the EQ instance?
Its been a while since I have used this but I don't see how it could have changed its just /unload while macroquest would still be in the tool bar but it would stop interacting with everquest. If you need to get it running again without closing EQ just right click the macroquest icon on the tool bar hit close and then run the program again.
Now for the rest of the question you might want to look at how /who is handled such as when you do a "/who all xxxx" might be possible to recreate that kind of special case where it is sent to the server and not handled by MQ.
Posted: Sat Jul 17, 2004 2:47 pm
by MacroFiend
In other words, you're a Guide who is trying to guide with MQ2 running (not a bright idea) or your a GM trying to risk your job.
There are many people here who know exactly what the /goto command does in the original scope of EQ and who would likely agree with me that running MQ while having the proper access to that command is a "bad idea"
Posted: Sat Jul 17, 2004 3:24 pm
by TheUnholy
In that case is there anyway to exit out of MQ once its embeded in the EQ instance?
/unload still works, as thornado pointed out.
Posted: Sat Jul 17, 2004 6:11 pm
by ap50
For those unaware /goto is a command to go to a particular person which is a guild +above command.
Line 568 of the current mq2commandapi.cpp injects the MQ /goto command, changing that to /mqgoto should do what you want, however, no macros will work, unless you do a search and replace of /goto with /mqgoto.
Posted: Sat Jul 17, 2004 10:51 pm
by MacroFiend
That would work Ap50 but as you mentioned, it would require a lot of changes elsewhere to keep macros running. Another way would be to go up a little higher in the function (around line 512) and add this in to the if tree:
Code: Select all
} else if (!strcmp(pCmdListOrig[i].szName,"/goto")) {
AddCommand("/eqgoto",pCmdListOrig[i].fAddress,TRUE,1,1);
Posted: Sat Jul 17, 2004 11:18 pm
by Amadeus
I was going to post on this subject, but then began looking at ap50's avatar and completely forgot what it was about ...nor did I care.
Posted: Sun Jul 18, 2004 1:59 am
by EQBot_man
Thanks guys I appreciate all the suggestions. I'll try /unload.