Enable/Disable the /goto function

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

EQBot_man
a ghoul
a ghoul
Posts: 111
Joined: Mon May 17, 2004 6:35 pm

Enable/Disable the /goto function

Post by EQBot_man » Sat Jul 17, 2004 1:46 pm

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?

MacroFiend
a grimling bloodguard
a grimling bloodguard
Posts: 662
Joined: Mon Jul 28, 2003 2:47 am

Post by MacroFiend » Sat Jul 17, 2004 2:02 pm

Where are you running EQ that you have access to a non-MQ /goto command?

EQBot_man
a ghoul
a ghoul
Posts: 111
Joined: Mon May 17, 2004 6:35 pm

Post by EQBot_man » Sat Jul 17, 2004 2:06 pm

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

JGC84
a ghoul
a ghoul
Posts: 116
Joined: Sat Nov 29, 2003 2:51 am

Post by JGC84 » Sat Jul 17, 2004 2:21 pm

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
ACK! I think I blew it up....

I dont think your allowed to talk about this outside of a "free speech zone" anymore.

User avatar
ieatacid
Developer
Developer
Posts: 2727
Joined: Wed Sep 03, 2003 7:44 pm

Post by ieatacid » Sat Jul 17, 2004 2:31 pm

That's the goto when you do something like "/goto :loop" in macros.

Hannibal
orc pawn
orc pawn
Posts: 19
Joined: Sat Jul 03, 2004 10:28 pm

Post by Hannibal » Sat Jul 17, 2004 2:32 pm

Sounds like you need a refund on your warp plugin.

EQBot_man
a ghoul
a ghoul
Posts: 111
Joined: Mon May 17, 2004 6:35 pm

Post by EQBot_man » Sat Jul 17, 2004 2:35 pm

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.

EQBot_man
a ghoul
a ghoul
Posts: 111
Joined: Mon May 17, 2004 6:35 pm

Post by EQBot_man » Sat Jul 17, 2004 2:41 pm

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?

Thornado
orc pawn
orc pawn
Posts: 16
Joined: Wed May 12, 2004 6:59 pm

Re: Enable/Disable the /goto function

Post by Thornado » Sat Jul 17, 2004 2:46 pm

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.

MacroFiend
a grimling bloodguard
a grimling bloodguard
Posts: 662
Joined: Mon Jul 28, 2003 2:47 am

Post by MacroFiend » Sat Jul 17, 2004 2:47 pm

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"

User avatar
TheUnholy
a hill giant
a hill giant
Posts: 269
Joined: Wed Mar 03, 2004 11:59 pm

Post by TheUnholy » Sat Jul 17, 2004 3:24 pm

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.

User avatar
ap50
a snow griffon
a snow griffon
Posts: 425
Joined: Sun Aug 18, 2002 2:29 pm

Post by ap50 » Sat Jul 17, 2004 6:11 pm

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.
[color=yellow][size=92][b]Just because you're paranoid, it doesn't mean everyone isn't out to get you![/b][/size][/color]

MacroFiend
a grimling bloodguard
a grimling bloodguard
Posts: 662
Joined: Mon Jul 28, 2003 2:47 am

Post by MacroFiend » Sat Jul 17, 2004 10:51 pm

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);

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

Post by Amadeus » Sat Jul 17, 2004 11:18 pm

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.

EQBot_man
a ghoul
a ghoul
Posts: 111
Joined: Mon May 17, 2004 6:35 pm

Post by EQBot_man » Sun Jul 18, 2004 1:59 am

Thanks guys I appreciate all the suggestions. I'll try /unload.