Post any snippets or offsets here
Also try not to get off topic

Masskill:
Undetected (Depending on where you call it)
Code:
void FUCKIT(DWORD mem1, DWORD mem2)
{
	fb::ClientGameContext *pCtx = (fb::ClientGameContext*)(*(DWORD*)mem1);
	if (pCtx && pCtx->m_clientPlayerManager)
	{
		eastl_vector<fb::ClientPlayer*> *playerVector = &pCtx->m_clientPlayerManager->m_players;
		int maxPlayers = playerVector->size();
		for (int i = 0; i < maxPlayers; i++)
		{
			if (playerVector->at(i) && (playerVector->at(i)->m_soldier.m_data))
			{
				fb::ClientSoldierEntity *pSoldier = (fb::ClientSoldierEntity*)(*(DWORD*)playerVector->at(i)->m_soldier.m_data - 0x4);
				if (pSoldier)
				{
					if (pCtx->m_clientPlayerManager->m_localPlayer && pCtx->m_clientPlayerManager->m_localPlayer->m_soldier.m_data)
					{
						fb::ClientSoldierEntity *pMySoldier = (fb::ClientSoldierEntity*)(*(DWORD*)pCtx->m_clientPlayerManager->m_localPlayer->m_soldier.m_data - 0x4);
						if (pMySoldier && pMySoldier->getCurrentWeapon() && pCtx->m_clientPlayerManager->m_localPlayer->m_teamId != playerVector->at(i)->m_teamId)
						{
							fb::ClientWeapon *weapon = pMySoldier->getCurrentWeapon()->m_weapon;
							if (weapon)
							{
								DWORD dwCall = mem2;
								for (int i = 0; i < 7; i++)
								{
									__asm
									{
										push ecx;
										mov ecx, weapon;
										push pSoldier;
										call dwCall;
										pop ecx;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

namespace RE
{
	bool bDataCompare(const BYTE *pData, const BYTE *bMask, const TCHAR *szMask)
	{
		for(; *szMask; ++szMask, ++pData, ++bMask)
			if (*szMask == 'x' && *pData != *bMask)
				return false;
		return (*szMask) == NULL;
	}
	DWORD dwFindPattern(DWORD dwAddress, DWORD dwLen, BYTE *bMask, TCHAR *szMask)
	{
		for (DWORD i = 0; i < dwLen; i++)
			if (bDataCompare((BYTE*)(dwAddress + i), bMask, szMask))
				return (DWORD)(dwAddress + i);
		return NULL;
	}
}
Code:
HMODULE hInst_BF3;
DWORD memCtx;
DWORD memFuck;

hInst_BF3 = GetModuleHandleA("bf3.exe");
memCtx  = *(DWORD*)(RE::dwFindPattern((DWORD)hInst_BF3, 0x01aa0000, (BYTE*)"\x83\xc7\x04\x3b\xfb\x75\xf0\x8b\x0d", "xxxxxxxxx") + 0x09);
memFuck = RE::dwFindPattern((DWORD)hInst_BF3, 0x01aa0000, (BYTE*)"\xC7\x44\x24\x00\x00\x00\x00\x00\x8B\xCE\xE8\x00\x00\x00\x00\x8b\x7d", "xxx?xxxxxxx????xx") - 0x2b;
Code:
	if (GetAsyncKeyState(VK_MENU) < 0)
	{
		if (!g_bKeyState)
		{
			g_bKeyState = true;
			FUCKIT(memCtx, memFuck);
		}
	} else {
		if (g_bKeyState)
			g_bKeyState = false;
	}