コード例 #1
0
void SetAssist(PBYTE address)
{
	if ((DWORD)address == -1)
		return;
	bool bexpectTarget = false;
	if (address) {
		if (DWORD Assistee = *(DWORD*)address) {
			if (PSPAWNINFO pSpawn = (PSPAWNINFO)GetSpawnByID(Assistee)) {
				bexpectTarget = true;
				gbAssistComplete = 1;
				//WriteChatf("We can expect a target packet because assist retuned %s",pSpawn->Name);
			}
		}
	}
	else {
		InterlockedIncrement((volatile unsigned long *)gbAssistComplete);
	}
	if (!bexpectTarget) {
		//WriteChatColor("We can NOT expect a target packet because assist was 0");
		gbAssistComplete = 2;
	}
}
コード例 #2
0
ファイル: ISXEQCommands.cpp プロジェクト: clausjensen/mq
// /ranged
int CMD_do_ranged(int argc, char *argv[])
{
	EQPlayer *pRangedTarget=pTarget;
	if (argc>1)
	{
		pRangedTarget=GetSpawnByID(atoi(argv[1]));
		if (!pRangedTarget)
		{
			printf("Invalid spawn ID.  Use /ranged with no parameters, or with a spawn ID");
			return 0;
		}
	}
	if (!pRangedTarget)
	{
		printf("No target for ranged attack");
		return 0;
	}
	if (gbRangedAttackReady)
	{
		pLocalPlayer->DoAttack(0x0B,0,pRangedTarget);
		gbRangedAttackReady=0;
	}
	return 0;
}