Page 1 of 1

SPAWNSERVICE_ADDGM

Posted: Fri Mar 18, 2005 8:06 pm
by cronic
This may come in handy - adds a new message to broadcast if a GM is added to the zone. Allegedly, even stealthed GMs are added to the zone briefly and then removed.



ISXEQServices.h

Code: Select all

#define SPAWNSERVICE_ADDSPAWN						((ISXSERVICE_MSG)+1)
#define SPAWNSERVICE_REMOVESPAWN					((ISXSERVICE_MSG)+2)
#define SPAWNSERVICE_ADDITEM						((ISXSERVICE_MSG)+3)
#define SPAWNSERVICE_REMOVEITEM						((ISXSERVICE_MSG)+4)
[color=red]#define SPAWNSERVICE_ADDGM                          ((ISXSERVICE_MSG)+5)[/color]
ISXEQServices.cpp

Code: Select all

void __cdecl SpawnRequest(ISXInterface *pClient, unsigned long MSG, void *lpData)
{
	if (MSG==ISXSERVICE_CLIENTADDED)
	{
//		printf("Spawn Service - Client Added");
		if (gGameState==GAMESTATE_INGAME)
		{
			PSPAWNINFO pSpawn=(PSPAWNINFO)pSpawnList;
			while(pSpawn)
			{
				pISInterface->ServiceNotify(pExtension,hSpawnService,(ISXInterface*)lpData,SPAWNSERVICE_ADDSPAWN,pSpawn);
				[color=red]if (pSpawn->GM) pISInterface->ServiceNotify(pExtension,hSpawnService,(ISXInterface*)lpData,SPAWNSERVICE_ADDGM,pSpawn);[/color]
				pSpawn=pSpawn->pNext;
			}
			PGROUNDITEM pItem=(PGROUNDITEM)pItemList;
			while(pItem)
			{
				pISInterface->ServiceNotify(pExtension,hSpawnService,(ISXInterface*)lpData,SPAWNSERVICE_ADDITEM,pItem);
				pItem=pItem->pNext;
			}
		}
	}
}
ISXEQServices.cpp

Code: Select all

EQLIB_API VOID PluginsAddSpawn(PSPAWNINFO pNewSpawn)
{
	PluginDebug("PluginsAddSpawn(%s,%d,%d)",pNewSpawn->Name,pNewSpawn->Race,pNewSpawn->BodyType);
	SpawnByName[pNewSpawn->Name]=pNewSpawn;
	if (gGameState>GAMESTATE_CHARSELECT)
		SetNameSpriteState(pNewSpawn,1);
	if (GetBodyTypeDesc(pNewSpawn->BodyType)[0]=='*')
	{
		WriteChatf("Spawn '%s' has unknown bodytype %d",pNewSpawn->Name,pNewSpawn->BodyType);
	}
	pISInterface->ServiceBroadcast(pExtension,hSpawnService,SPAWNSERVICE_ADDSPAWN,pNewSpawn);
	[color=red]if (pNewSpawn->GM) pISInterface->ServiceBroadcast(pExtension,hSpawnService,SPAWNSERVICE_ADDGM,pNewSpawn);[/color]
}
cronic

Posted: Fri Mar 18, 2005 8:14 pm
by Lax
I'll put this in, but slightly modified, because you have an "add" but no "remove" -- if a system is tracking GMs based solely on ADD_GM, it will crash when the spawn is removed.

I'll add a GM removal message.

Re: SPAWNSERVICE_ADDGM

Posted: Mon Jan 05, 2026 8:32 am
by xyilla

Re: SPAWNSERVICE_ADDGM

Posted: Mon Jan 05, 2026 8:33 am
by xyilla

Re: SPAWNSERVICE_ADDGM

Posted: Mon Jan 05, 2026 8:35 am
by xyilla

Re: SPAWNSERVICE_ADDGM

Posted: Mon Jan 05, 2026 8:36 am
by xyilla

Re: SPAWNSERVICE_ADDGM

Posted: Mon Jan 05, 2026 8:37 am
by xyilla

Re: SPAWNSERVICE_ADDGM

Posted: Mon Jan 05, 2026 8:38 am
by xyilla

Re: SPAWNSERVICE_ADDGM

Posted: Mon Jan 05, 2026 8:40 am
by xyilla

Re: SPAWNSERVICE_ADDGM

Posted: Mon Jan 05, 2026 8:41 am
by xyilla

Re: SPAWNSERVICE_ADDGM

Posted: Mon Jan 05, 2026 8:43 am
by xyilla