Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void CGame::SendEventToNearClient_TypeA(short sOwnerH, char cOwnerType, DWORD dwMsgID, WORD wMsgType, short sV1, short sV2, short sV3)
- {
- int iRet = NULL, iShortCutIndex,*ipStatus, iDumm, dataLength;
- char cKey, cData[400];
- int * ip = NULL;
- char * cp = NULL;
- DWORD * dwp = NULL;
- WORD * wp = NULL;
- short * sp = NULL;
- int i = 0;
- bool bOwnerSend, bFlag = true;
- int iTemp = NULL;
- int iTemp2 = NULL;
- int iTemp3 = NULL;
- ZeroMemory(cData, sizeof(cData));
- ipStatus = (int *)&iDumm;
- cKey = (char)(rand() % 255) + 1;
- dwp = (DWORD *)(cData + DEF_INDEX4_MSGID);
- *dwp = dwMsgID;
- wp = (WORD *)(cData + DEF_INDEX2_MSGTYPE);
- *wp = wMsgType;
- cp = (char *)(cData + DEF_INDEX2_MSGTYPE + 2);
- if (cOwnerType == DEF_OWNERTYPE_PLAYER)
- {
- if (m_pClientList[sOwnerH] == NULL) return;
- switch (wMsgType)
- {
- case DEF_OBJECTNULLACTION:
- case DEF_OBJECTDAMAGE:
- case DEF_OBJECTDYING:
- bOwnerSend = true;
- break;
- default:
- bOwnerSend = false;
- break;
- }
- switch (wMsgType)
- {
- case DEF_OBJECTMAGIC:
- case DEF_OBJECTDAMAGE:
- case DEF_OBJECTDAMAGEMOVE:
- case DEF_OBJECTDYING:
- dataLength = 11;
- wp = (WORD *)cp;
- *wp = sOwnerH + 30000;
- cp += 2;
- *cp = m_pClientList[sOwnerH]->m_cDir;
- cp++;
- *cp = (unsigned char)sV1;
- cp++;
- *cp = (unsigned char)sV2;
- cp++;
- if(DEF_OBJECTDYING)
- {
- dataLength = 15;
- sp = (short *)cp;
- *sp = m_pClientList[sOwnerH]->m_sX;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pClientList[sOwnerH]->m_sY;
- cp += 2;
- }
- break;
- case DEF_OBJECTATTACK:
- case DEF_OBJECTATTACKMOVE:
- dataLength = 13;
- wp = (WORD *)cp;
- *wp = sOwnerH + 30000;
- cp += 2;
- *cp = m_pClientList[sOwnerH]->m_cDir;
- cp++;
- *cp = sV1 - m_pClientList[sOwnerH]->m_sX;
- cp++;
- *cp = sV2 - m_pClientList[sOwnerH]->m_sY;
- cp++;
- sp = (short *)cp;
- *sp = sV3;
- cp += 2;
- break;
- case DEF_MSGTYPE_CONFIRM:
- case DEF_MSGTYPE_REJECT:
- case DEF_OBJECTNULLACTION:
- default:
- dataLength = 42;
- wp = (WORD *)cp;
- *wp = sOwnerH;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pClientList[sOwnerH]->m_sX;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pClientList[sOwnerH]->m_sY;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pClientList[sOwnerH]->m_sType;
- cp += 2;
- *cp = m_pClientList[sOwnerH]->m_cDir;
- cp++;
- memcpy(cp, m_pClientList[sOwnerH]->m_cCharName, 10);
- cp += 10;
- sp = (short *)cp;
- *sp = m_pClientList[sOwnerH]->m_sAppr1;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pClientList[sOwnerH]->m_sAppr2;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pClientList[sOwnerH]->m_sAppr3;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pClientList[sOwnerH]->m_sAppr4;
- cp += 2;
- ip = (int *)cp;
- *ip = m_pClientList[sOwnerH]->m_iApprColor;
- cp += 4;
- ip = (int *)cp;
- ipStatus = ip;
- *ip = m_pClientList[sOwnerH]->m_iStatus;
- cp += 4;
- iTemp3 = m_pClientList[sOwnerH]->m_iStatus & 0x0F0FFFF7F;
- if (wMsgType == DEF_OBJECTNULLACTION)
- {
- if (m_pClientList[sOwnerH]->m_bIsKilled == TRUE)
- *cp = 1;
- else *cp = 0;
- }
- else *cp = 0;
- cp++;
- break;
- }
- bFlag = TRUE;
- //pierwszy gracz
- iShortCutIndex = 0;
- while (bFlag == TRUE)
- {
- i = m_iClientShortCut[iShortCutIndex];
- iShortCutIndex++;
- if (i == 0) bFlag = FALSE;
- if (bFlag == TRUE)
- if ((m_pClientList[i]->m_cMapIndex == m_pClientList[sOwnerH]->m_cMapIndex) &&
- (m_pClientList[i]->m_sX >= m_pClientList[sOwnerH]->m_sX - 11) &&
- (m_pClientList[i]->m_sX <= m_pClientList[sOwnerH]->m_sX + 11) &&
- (m_pClientList[i]->m_sY >= m_pClientList[sOwnerH]->m_sY - 9) &&
- (m_pClientList[i]->m_sY <= m_pClientList[sOwnerH]->m_sY + 9))
- {
- if (m_pClientList[sOwnerH]->m_cSide != m_pClientList[i]->m_cSide)
- {
- if (m_pClientList[sOwnerH]->m_iAdminUserLevel > 1)
- {
- iTemp = m_pClientList[sOwnerH]->m_iStatus; //efekty GM
- }
- else if (i != sOwnerH)
- {
- iTemp = iTemp3;//tutaj ukryj efekty przed innymi graczami amp pfm itp
- }
- else
- {
- iTemp = m_pClientList[sOwnerH]->m_iStatus;
- }
- }
- else
- {
- iTemp = m_pClientList[sOwnerH]->m_iStatus;
- }
- iTemp = 0x0FFFFFFF & iTemp;
- iTemp2 = iGetPlayerABSStatus(sOwnerH, i);
- iTemp = (iTemp | (iTemp2 << 28));
- *ipStatus = iTemp;
- if (bOwnerSend == true || i != sOwnerH)
- {
- //wsprintf(G_cTxt, "Gracz %s", m_pClientList[sOwnerH]->m_cCharName);
- //PutLogList(G_cTxt);
- iRet = m_pClientList[i]->m_pXSock->iSendMsg(cData, dataLength, cKey);
- }
- }
- }
- }
- else
- {
- if (m_pNpcList[sOwnerH] == NULL) return;
- // wsprintf(G_cTxt, "Npc %s", m_pNpcList[sOwnerH]->m_cName);
- //PutLogList(G_cTxt);
- switch (wMsgType)
- {
- case DEF_OBJECTDAMAGE:
- case DEF_OBJECTDAMAGEMOVE:
- case DEF_OBJECTDYING:
- dataLength = 13;
- wp = (WORD *)cp;
- *wp = sOwnerH + 40000;
- cp += 2;
- *cp = m_pNpcList[sOwnerH]->m_cDir;
- cp++;
- *cp = (unsigned char)sV1;
- cp++;
- *cp = (unsigned char)sV2;
- cp++;
- //Nigga: 2017/04/25 HP moba
- sp = (short *)cp;
- *sp = m_pNpcList[sOwnerH]->m_iHP;
- cp += 2;
- if(DEF_OBJECTDYING)
- {
- dataLength = 17;
- sp = (short *)cp;
- *sp = m_pNpcList[sOwnerH]->m_sX;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pNpcList[sOwnerH]->m_sY;
- cp += 2;
- }
- break;
- case DEF_OBJECTATTACK:
- case DEF_OBJECTATTACKMOVE:
- dataLength = 15;
- wp = (WORD *)cp;
- *wp = sOwnerH + 40000;
- cp += 2;
- *cp = m_pNpcList[sOwnerH]->m_cDir;
- cp++;
- *cp = sV1 - m_pNpcList[sOwnerH]->m_sX;
- cp++;
- *cp = sV2 - m_pNpcList[sOwnerH]->m_sY;
- cp++;
- sp = (short *)cp;
- *sp = sV3;
- cp += 2;
- //Nigga: 2017/04/25 HP moba
- sp = (short *)cp;
- *sp = m_pNpcList[sOwnerH]->m_iHP;
- cp += 2;
- break;
- case DEF_MSGTYPE_CONFIRM:
- case DEF_MSGTYPE_REJECT:
- case DEF_OBJECTNULLACTION:
- default:
- dataLength = 29;
- wp = (WORD *)cp;
- *wp = sOwnerH + 10000;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pNpcList[sOwnerH]->m_sX;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pNpcList[sOwnerH]->m_sY;
- cp += 2;
- sp = (short *)cp;
- *sp = m_pNpcList[sOwnerH]->m_sType;
- cp += 2;
- *cp = m_pNpcList[sOwnerH]->m_cDir;
- cp++;
- memcpy(cp, m_pNpcList[sOwnerH]->m_cName, 5);
- cp += 5;
- sp = (short *)cp;
- *sp = m_pNpcList[sOwnerH]->m_sAppr2;
- cp += 2;
- //Nigga: 2017/04/25 HP moba
- sp = (short *)cp;
- *sp = m_pNpcList[sOwnerH]->m_iHP;
- cp += 2;
- ip = (int *)cp;
- ipStatus = ip;
- *ip = m_pNpcList[sOwnerH]->m_iStatus;
- cp += 4;
- if (wMsgType == DEF_OBJECTNULLACTION) {// v1.4
- if (m_pNpcList[sOwnerH]->m_bIsKilled == TRUE)
- *cp = 1;
- else *cp = 0;
- }
- else *cp = 0;
- cp++;
- break;
- }
- //iShortCutIndex = 1;
- //CClient * pClient;
- //while (i = m_iClientShortCut[iShortCutIndex++])
- //{
- for (i = 1; i < DEF_MAXCLIENTS; i++)
- {
- if (m_pClientList[i] != NULL)
- {
- if ( (m_pClientList[i]->m_cMapIndex == m_pNpcList[sOwnerH]->m_cMapIndex) &&
- (m_pClientList[i]->m_sX >= m_pNpcList[sOwnerH]->m_sX - 11) &&
- (m_pClientList[i]->m_sX <= m_pNpcList[sOwnerH]->m_sX + 11) &&
- (m_pClientList[i]->m_sY >= m_pNpcList[sOwnerH]->m_sY - 9) &&
- (m_pClientList[i]->m_sY <= m_pNpcList[sOwnerH]->m_sY + 9) )
- {
- iTemp = 0;
- iTemp2 = 0;
- iTemp = *ipStatus;
- iTemp = 0x0FFFFFFF & iTemp;
- iTemp2 = iGetNpcRelationship(sOwnerH, i);
- iTemp = (iTemp | (iTemp2 << 28));
- *ipStatus = iTemp;
- iRet = m_pClientList[i]->m_pXSock->iSendMsg(cData, dataLength, cKey);
- }
- }
- }
- }
- }
- void CGame::MotionEventHandler(char * pData)
- {
- WORD * wp, wEventType, wObjectID;
- short * sp, sX, sY, sType, sAppr1, sAppr2, sAppr3, sAppr4, sV1, sV2, sV3, sPrevAppr2;
- int iStatus;
- char * cp, cDir, cName[12];
- int * ip, iApprColor, iLoc;
- char cTxt[120];
- int i;
- int iNpcHP = 0;
- ZeroMemory(cName, sizeof(cName));
- sV1 = sV2 = sV3 = NULL;
- wp = (WORD *)(pData + DEF_INDEX2_MSGTYPE);
- wEventType = *wp;
- cp = (char *)(pData + DEF_INDEX2_MSGTYPE + 2);
- wp = (WORD *)cp;
- wObjectID = *wp;
- cp += 2;
- iLoc = 0;
- if (wObjectID < 30000)
- {
- if (wObjectID < 10000) // Player
- {
- sp = (short *)cp;
- sX = *sp;
- cp += 2;
- sp = (short *)cp;
- sY = *sp;
- cp += 2;
- sp = (short *)cp;
- sType = *sp;
- cp += 2;
- cDir = *cp;
- cp++;
- memcpy(cName, cp, 10);
- cp += 10;
- sp = (short *)cp;
- sAppr1 = *sp;
- cp += 2;
- sp = (short *)cp;
- sAppr2 = *sp;
- cp += 2;
- sp = (short *)cp;
- sAppr3 = *sp;
- cp += 2;
- sp = (short *)cp;
- sAppr4 = *sp;
- cp += 2;
- ip = (int *)cp; // v1.4
- iApprColor = *ip;
- cp += 4;
- ip = (int *)cp;
- iStatus = *ip;
- cp += 4;
- iLoc = *cp;
- cp++;
- }
- else // Npc or mob
- {
- sp = (short *)cp;
- sX = *sp;
- cp += 2;
- sp = (short *)cp;
- sY = *sp;
- cp += 2;
- sp = (short *)cp;
- sType = *sp;
- cp += 2;
- cDir = *cp;
- cp++;
- memcpy(cName, cp, 5);
- cp += 5;
- sAppr1 = sAppr3 = sAppr4 = 0;
- sp = (short *)cp;
- sAppr2 = *sp;
- cp += 2;
- //Nigga: 2017/04/25 HP moba
- sp = (short *)cp;
- iNpcHP = *sp;
- cp += 2;
- ip = (int *)cp;
- iStatus = *ip;
- cp += 4;
- iLoc = *cp;
- cp++;
- }
- }
- else
- {
- switch (wEventType)
- {
- case DEF_OBJECTMAGIC:
- case DEF_OBJECTDAMAGEMOVE:
- case DEF_OBJECTDAMAGE:
- cDir = *cp;
- cp++;
- sV1 = (short)*cp; //Damage
- cp++;
- sV2 = (short)*cp; //
- cp++;
- //Nigga: 2017/04/25 HP moba
- sp = (short *)cp;
- iNpcHP = *sp;
- cp += 2;
- break;
- case DEF_OBJECTDYING:
- cDir = *cp;
- cp++;
- sV1 = (short)*cp; //Damage
- cp++;
- sV2 = (short)*cp; //
- cp++;
- //Nigga: 2017/04/25 HP moba
- sp = (short *)cp;
- iNpcHP = *sp;
- cp += 2;
- sp = (short *)cp;
- sX = *sp;
- cp += 2;
- sp = (short *)cp;
- sY = *sp;
- cp += 2;
- break;
- case DEF_OBJECTATTACK:
- cDir = *cp;
- cp++;
- sV1 = *cp;
- cp++;
- sV2 = *cp;
- cp++;
- sp = (short *)cp;
- sV3 = *sp;
- cp += 2;
- //Nigga: 2017/04/25 HP moba
- sp = (short *)cp;
- iNpcHP = *sp;
- cp += 2;
- break;
- default:
- cDir = *cp;
- cp++;
- break;
- }
- }
- if ((wEventType == DEF_OBJECTNULLACTION) && (memcmp(cName, m_cPlayerName, 10) == 0))
- {
- m_sPlayerType = sType;
- m_sPlayerAppr1 = sAppr1;
- sPrevAppr2 = m_sPlayerAppr2;
- m_sPlayerAppr2 = sAppr2;
- m_sPlayerAppr3 = sAppr3;
- m_sPlayerAppr4 = sAppr4;
- m_iPlayerApprColor = iApprColor;
- m_iPlayerStatus = iStatus;
- //Draft: blokada tabu - 28 Styczeń 2010r.
- if (ilosctab >= 0)
- {
- if ((sPrevAppr2 & 0xF000) == 0)
- {
- if ((sAppr2 & 0xF000) != 0)
- {
- AddEventList(MOTION_EVENT_HANDLER1, 10);
- m_bIsCombatMode = TRUE;
- }
- }
- else
- {
- if ((sAppr2 & 0xF000) == 0)
- {
- AddEventList(MOTION_EVENT_HANDLER2, 10);
- m_bIsCombatMode = FALSE;
- }
- }
- }
- //end of Draft code
- if ((m_cCommand != DEF_OBJECTRUN) && (m_cCommand != DEF_OBJECTMOVE) && (m_cCommand != DEF_OBJECTMAGIC)) m_pMapData->bSetOwner(wObjectID, sX, sY, sType, cDir, sAppr1, sAppr2, sAppr3, sAppr4, iApprColor, iStatus, cName, (char)wEventType, sV1, sV2, sV3, iLoc, 0 , iNpcHP);
- }
- else if (wEventType == DEF_OBJECTDYING) {
- if ((m_cCommand != DEF_OBJECTRUN) && (m_cCommand != DEF_OBJECTMOVE)) {
- m_pMapData->bSetOwner(wObjectID, sX, sY, sType, cDir, sAppr1, sAppr2, sAppr3, sAppr4, iApprColor, iStatus, cName, (char)wEventType, sV1, sV2, sV3, iLoc, 0 , iNpcHP);
- }
- }
- else {
- m_pMapData->bSetOwner(wObjectID, sX, sY, sType, cDir, sAppr1, sAppr2, sAppr3, sAppr4, iApprColor, iStatus, cName, (char)wEventType, sV1, sV2, sV3, iLoc, 0, iNpcHP);
- }
- switch (wEventType) {
- case DEF_OBJECTMAGIC: // Casting
- _RemoveChatMsgListByObjectID(wObjectID - 30000);
- for (i = 1; i < DEF_MAXCHATMSGS; i++)
- if (m_pChatMsgList[i] == NULL)
- {
- ZeroMemory(cTxt, sizeof(cTxt));
- sprintf(cTxt, "%s!", m_pMagicCfgList[sV1]->m_cName);
- m_pChatMsgList[i] = new class CMsg(41, cTxt, m_dwCurTime);
- m_pChatMsgList[i]->m_iObjectID = wObjectID - 30000;
- if (m_pMapData->bSetChatMsgOwner(wObjectID - 30000, -10, -10, i) == FALSE)
- {
- delete m_pChatMsgList[i];
- m_pChatMsgList[i] = NULL;
- }
- return;
- }
- break;
- case DEF_OBJECTDYING:
- _RemoveChatMsgListByObjectID(wObjectID - 30000);
- for (i = 1; i < DEF_MAXCHATMSGS; i++)
- if (m_pChatMsgList[i] == NULL)
- {
- ZeroMemory(cTxt, sizeof(cTxt));
- if (sV1 > 0)
- sprintf(cTxt, "-%dPts!", sV1); //pts
- else strcpy(cTxt, "Critical!");
- int iFontType;
- if ((sV1 >= 0) && (sV1 < 12)) iFontType = 21;
- else if ((sV1 >= 12) && (sV1 < 40)) iFontType = 22;
- else if ((sV1 >= 40) || (sV1 < 0)) iFontType = 23;
- m_pChatMsgList[i] = new class CMsg(iFontType, cTxt, m_dwCurTime);
- m_pChatMsgList[i]->m_iObjectID = wObjectID - 30000;
- if (m_pMapData->bSetChatMsgOwner(wObjectID - 30000, -10, -10, i) == FALSE)
- {
- delete m_pChatMsgList[i];
- m_pChatMsgList[i] = NULL;
- }
- return;
- }
- break;
- case DEF_OBJECTDAMAGEMOVE:
- case DEF_OBJECTDAMAGE:
- #ifndef DEF_DRAFT_DEBUG
- if (memcmp(cName, m_cPlayerName, 10) == 0)
- {
- m_bIsGetPointingMode = FALSE;
- m_iPointCommandType = -1;
- m_stMCursor.sCursorFrame = 0;
- ClearSkillUsingStatus();
- }
- #endif
- _RemoveChatMsgListByObjectID(wObjectID - 30000);
- for (i = 1; i < DEF_MAXCHATMSGS; i++)
- if (m_pChatMsgList[i] == NULL)
- {
- ZeroMemory(cTxt, sizeof(cTxt));
- if (sV1 != 0)
- {
- if (sV1 > 0)
- sprintf(cTxt, "-%dPts", sV1); //pts
- else strcpy(cTxt, "Critical!");
- int iFontType;
- if ((sV1 >= 0) && (sV1 < 12)) iFontType = 21;
- else if ((sV1 >= 12) && (sV1 < 40)) iFontType = 22;
- else if ((sV1 >= 40) || (sV1 < 0)) iFontType = 23;
- m_pChatMsgList[i] = new class CMsg(iFontType, cTxt, m_dwCurTime);
- }
- else
- {
- strcpy(cTxt, " * Failed! *");
- m_pChatMsgList[i] = new class CMsg(22, cTxt, m_dwCurTime);
- PlaySound('C', 17, 0);
- }
- m_pChatMsgList[i]->m_iObjectID = wObjectID - 30000;
- if (m_pMapData->bSetChatMsgOwner(wObjectID - 30000, -10, -10, i) == FALSE)
- {
- delete m_pChatMsgList[i];
- m_pChatMsgList[i] = NULL;
- }
- return;
- }
- break;
- }
- }
- void CGame::LogEventHandler(char * pData)
- {
- WORD * wp, wEventType, wObjectID;
- short * sp, sX, sY, sType, sAppr1, sAppr2, sAppr3, sAppr4;
- int iStatus;
- short iNpcHP = 0;
- char * cp, cDir, cName[12];
- int * ip, iApprColor;
- wp = (WORD *)(pData + DEF_INDEX2_MSGTYPE);
- wEventType = *wp;
- cp = (char *)(pData + DEF_INDEX2_MSGTYPE + 2);
- wp = (WORD *)cp;
- wObjectID = *wp;
- cp += 2;
- sp = (short *)cp;
- sX = *sp;
- cp += 2;
- sp = (short *)cp;
- sY = *sp;
- cp += 2;
- sp = (short *)cp;
- sType = *sp;
- cp += 2;
- cDir = *cp;
- cp++;
- ZeroMemory(cName, sizeof(cName));
- if (wObjectID < 10000)
- {
- memcpy(cName, cp, 10);
- cp += 10;
- sp = (short *)cp;
- sAppr1 = *sp;
- cp += 2;
- sp = (short *)cp;
- sAppr2 = *sp;
- cp += 2;
- sp = (short *)cp;
- sAppr3 = *sp;
- cp += 2;
- sp = (short *)cp;
- sAppr4 = *sp;
- cp += 2;
- ip = (int *)cp;
- iApprColor = *ip;
- cp += 4;
- ip = (int *)cp;
- iStatus = *ip;
- cp += 4;
- }
- else // NPC
- {
- memcpy(cName, cp, 5);
- cp += 5;
- sAppr1 = sAppr3 = sAppr4 = 0;
- sp = (short *)cp;
- sAppr2 = *sp;
- cp += 2;
- sp = (short *)cp;
- iNpcHP = *sp;
- cp += 2;
- ip = (int *)cp;
- iStatus = *ip;
- cp += 4;
- //tutaj odbiera jeszcze jedna dana
- cp++;
- }
- switch (wEventType)
- {
- case DEF_MSGTYPE_CONFIRM:
- m_pMapData->bSetOwner(wObjectID, sX, sY, sType, cDir, sAppr1, sAppr2, sAppr3, sAppr4, iApprColor, iStatus, cName, DEF_OBJECTSTOP, NULL, NULL, NULL, 0, 0, iNpcHP);
- switch (sType)
- {
- case 43: // LWB
- case 44: // GHK
- case 45: // GHKABS
- case 46: // TK
- case 47: // BG
- bAddNewEffect(64, (sX) * 32, (sY) * 32, NULL, NULL, 0);
- break;
- }
- break;
- case DEF_MSGTYPE_REJECT:
- m_pMapData->bSetOwner(wObjectID, -1, -1, sType, cDir, sAppr1, sAppr2, sAppr3, sAppr4, iApprColor, iStatus, cName, DEF_OBJECTSTOP, NULL, NULL, NULL, 0, 0, iNpcHP);
- break;
- }
- _RemoveChatMsgListByObjectID(wObjectID);
- }
- void XSocket::GetMACaddress(char * buffer)
- {
- ASTAT Adapter;
- NCB Ncb;
- UCHAR uRetCode;
- char NetName[50];
- LANA_ENUM lenum;
- int i;
- memset( &Ncb, 0, sizeof(Ncb) );
- Ncb.ncb_command = NCBENUM;
- Ncb.ncb_buffer = (UCHAR *)&lenum;
- Ncb.ncb_length = sizeof(lenum);
- uRetCode = Netbios( &Ncb );
- //printf( "The NCBENUM return code is: 0x%x \n", uRetCode );
- for(i=0; i < lenum.length ;i++)
- {
- memset( &Ncb, 0, sizeof(Ncb) );
- Ncb.ncb_command = NCBRESET;
- Ncb.ncb_lana_num = lenum.lana[i];
- uRetCode = Netbios( &Ncb );
- //printf( "The NCBRESET on LANA %d return code is: 0x%x \n",
- // lenum.lana[i], uRetCode );
- memset( &Ncb, 0, sizeof (Ncb) );
- Ncb.ncb_command = NCBASTAT;
- Ncb.ncb_lana_num = lenum.lana[i];
- strcpy((char *)Ncb.ncb_callname, "* " );
- Ncb.ncb_buffer = (UCHAR *) &Adapter;
- Ncb.ncb_length = sizeof(Adapter);
- uRetCode = Netbios( &Ncb );
- //printf( "The NCBASTAT on LANA %d return code is: 0x%x \n",
- // lenum.lana[i], uRetCode );
- if ( uRetCode == 0 )
- {
- wsprintf(buffer, "%02x%02x%02x%02x%02x%02x",
- Adapter.adapt.adapter_address[0],
- Adapter.adapt.adapter_address[1],
- Adapter.adapt.adapter_address[2],
- Adapter.adapt.adapter_address[3],
- Adapter.adapt.adapter_address[4],
- Adapter.adapt.adapter_address[5]);
- break;
- }
- }
- }
- char MacAddress[24]
- GetMACaddress(MacAddress);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement