FEAT REQ: /who group

A forum for feature requests/discussions and user submitted patches that improve MQ2

Moderator: MacroQuest Developers

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

FEAT REQ: /who group

Post by Mckorr » Sat Nov 08, 2003 9:13 am

Don't have time to work on this right now, thought it might be a quick one for Plaz. I'd like to do a /who that just shows my group, to make it easier to sort out MT/MA, puller, slower, etc. in pick up groups.

Thanks.
MQ2: Think of it as Evolution in action.

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

Post by Plazmic » Sat Nov 08, 2003 2:18 pm

Here you go... Added "group" to /who, and the rest of the searchspawn functions... along with a fix for invis spawns on /who npc

EQLib.h

Code: Select all

// EQLib_Commands.cpp
[color=red]extern BOOL IsInGroup(PSPAWNINFO pSpawn);[/color]
EQLib_Commands.cpp:IsInGroup()

Code: Select all

BOOL IsPCNear() {...}


[color=red]BOOL IsInGroup(PSPAWNINFO pSpawn)
{
    DWORD i;
    if (pSpawn==GetCharInfo()->pSpawn) return TRUE;
    if (!EQADDR_GROUP) return FALSE;
	for (i=0;i<5;i++) if (EQADDR_GROUP[i]==pSpawn) return TRUE;
	return FALSE;
}[/color]
EQLib_Commands:ParseSearchSpawnArgs()

Code: Select all

        } else if (!strcmp(szArg,"lfg")) {
            pSearchSpawn->bLFG = TRUE;
[color=red]        } else if (!strcmp(szArg,"group")) {
            pSearchSpawn->bGroup = TRUE;[/color]
        } else if (!strcmp(szArg,"trader")) {
EQLib_Commands:SpawnMatchesSearch()

Code: Select all

            ) && (
                (!pSearchSpawn->bTrader) ||
                (pSpawn->pActorInfo->Trader)
[color=red]            ) && (
                (!pSearchSpawn->bGroup) ||
                (IsInGroup(pSpawn))[/color]            ) && (
EQLib_Commands:SuperWhoDisplay()

Code: Select all

            if ((pFilter->bLFG) && (!pSpawn->LFG)) continue;
[color=red]            if ((pFilter->bGroup) && (!IsInGroup(pSpawn))) continue;
			if ((!pFilter->bTargInvis) && (pSpawn->BodyType>0x40)) continue;[/color]            if ((pFilter->bTrader) && (!pSpawn->pActorInfo->Trader)) continue;
EQLib_Commands:ClearSearchSpawn()

Code: Select all

    pSearchSpawn->bLFG = FALSE;
[color=red]	pSearchSpawn->bGroup = FALSE;[/color]    pSearchSpawn->bTrader = FALSE;
EQLib_MacroParser.cpp:parmSearchSpawn()

Code: Select all

            } else if (!strcmp(szArg,"trader")) {
                SearchSpawn.bTrader = TRUE;
[color=red]            } else if (!strcmp(szArg,"group")) {
                SearchSpawn.bGroup = TRUE;[/color]            } else if (!strcmp(szArg,"lfg")) {
- Plazmic

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

Post by MacroFiend » Sat Nov 08, 2003 4:23 pm

That looks a lot like the code I was about to post :( Too bad my cellular connection went dead when I got in to the boonies of MI.

Looks like you missed this in your post.

MQ.h in _SEARCHSPAWN

Code: Select all

	BOOL bTrader;[color=red]
	BOOL bGroup;[/color]
	BOOL bLFG;

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

Post by Plazmic » Sat Nov 08, 2003 4:52 pm

lol, yup... forgot the struct change, hehe
- Plazmic