#include "stdafx.h" #include #include // #include #include // // LF_ACTIVE_HANDLER_IMPL(S_001800_START_MARK_LF) { DEBUGGING_CODE_L3(""); return LFRET_SUCCESS_DEFAULT; } LF_ACTIVE_HANDLER_IMPL(S_001810_MOVING_LF) { DEBUGGING_CODE_L3(""); return LFRET_SUCCESS_DEFAULT; } LF_ACTIVE_HANDLER_IMPL(S_001820_MOVING_CONTROL_LF) { DEBUGGING_CODE_L3(""); return LFRET_SUCCESS_DEFAULT; } LF_ACTIVE_HANDLER_IMPL(S_001830_KBMOVING_LF) { DEBUGGING_CODE_L3(""); WiseUser* pUser = pDelegator->GetWiseUser(); UserSessionMgr& rMGR = pUser->GetSessionMgr(); SEND_MESSAGE_BLOCK& rSENDMSG = pUser->SEND_MSG(); ZoneControl& rZONE = pUser->ZoneController(); WiseCharacter* pCHAR = pUser->GetSelectedCharacter(); ////////////////////////////////////////////////////////////////////////// static BOOL bINIT_GM = FALSE; if(!bINIT_GM) { MSG_CG_GM_STRING_CMD_SYN& rMsgSYN = rSENDMSG.InstanceOf(); //strncpy(rMsgSYN.m_szStringCmd, "ºÎȰ" ,sizeof(rMsgSYN.m_szStringCmd)); //rMGR.SendPacket(AGENT_SESSION, &rMsgSYN, sizeof(rMsgSYN)); strncpy(rMsgSYN.m_szStringCmd, "ȸº¹" ,sizeof(rMsgSYN.m_szStringCmd)); rMGR.SendPacket(AGENT_SESSION, &rMsgSYN, sizeof(rMsgSYN)); } static float rVec[3] = { -37.32f, 59.3f, -25.14f }; static float rVecSrc[3] = { -37.32f, 59.3f, -25.14f }; static BOOL bINIT_WARP = FALSE; static DWORD dwTeleport = 0; // ---TEST--- if(!bINIT_WARP) // ---TEST--- //if((dwTeleport % 20) == 0) // ---TEST--- { do { MSG_CG_MAP_TELEPORT_SYN& rMsgSYN = rSENDMSG.InstanceOf(); static BOOL bFalse = FALSE; static DWORD dwCC = 0; dwCC = 0x109391*(dwCC>>23) + (0x62999384+dwCC); CHAR cRndCC1 = (CHAR)(dwCC>>24); dwCC = 0x109631*(dwCC>>24) + (0x32999384+dwCC); CHAR cRndCC2 = (CHAR)(dwCC>>24); cRndCC1 %= 10; cRndCC2 %= 10; if(bFalse) { rVec[0] += 1.0f+cRndCC1; rVec[1] += 1.0f+cRndCC2; //rVec[2] += 4.0f; } else { //Sleep(1000); rVec[0] -= 1.0f+cRndCC1; rVec[1] += 1.0f+cRndCC2; ////rVec[2] -= 4.0f; } bFalse = !bFalse; CopyMemory(&rMsgSYN.vPos, &rVec, sizeof(rVec)); rMGR.SendPacket(AGENT_SESSION, &rMsgSYN, sizeof(rMsgSYN)); //if((++dwCC % 5) == 0) { //dwCC = (dwCC+1)%10; CopyMemory(rVec, rVecSrc, sizeof(rVec)); ++dwTeleport; //return LFRET_SUCCESS_LOOP; } } while(0); // ---TEST--- bINIT_WARP = TRUE; // ---TEST--- } ++dwTeleport; //static DWORD mod = 0; // MSG_CG_BATTLE_PLAYER_ATTACK_SYN pATK_SYN[1]; // //memcpy(&msgBASE[0].m_byCategory, protocols, sizeof(WORD)); // pATK_SYN->dwClientSerial = mod; // pATK_SYN->byAttackType = mod%3; // pATK_SYN->dwTargetKey = 50001; // CopyMemory(&pATK_SYN->wvCurPos, rVec, sizeof(rVec)); // CopyMemory(&pATK_SYN->wvDestPos, rVec, sizeof(rVec)); // pATK_SYN->Encode(); // rMGR.SendPacket(AGENT_SESSION, pATK_SYN, sizeof(MSG_CG_BATTLE_PLAYER_ATTACK_SYN)); //++mod; // ---TEST--- //return LFRET_SUCCESS_LOOP; // ---TEST--- return LFRET_SUCCESS_DEFAULT; // ---TEST--- static DWORD dwPOS_CNT = 0; static WORD wDIR = 1; if(dwPOS_CNT % 10 == 0) wDIR = wDIR==1 ? 0 : 1; dwPOS_CNT++; do { static DWORD dwCC = 0; static WORD wAA = 0; static WORD dwI = 0; static BYTE bystate = 1; dwCC = 0x109391*(dwCC>>23) + (0x62999384+dwCC); CHAR cRndCC1 = (CHAR)(dwCC>>24); dwCC = 0x109631*(dwCC>>24) + (0x32999384+dwCC); CHAR cRndCC2 = (CHAR)(dwCC>>24); cRndCC1 %= 360; cRndCC2 %= 10; BYTE byMoveState = 1; static BYTE stateIDs[4] = { KEYBOARDMOVE_FOWARD, KEYBOARDMOVE_BACKWARD, KEYBOARDMOVE_LEFTSTEP, KEYBOARDMOVE_RIGHTSTEP, }; bystate = stateIDs[dwCC%4]; MSG_CG_SYNC_KBMOVE_SYN& rMsgSYN = rSENDMSG.InstanceOf(); rMsgSYN.m_byMoveState = (BYTE)byMoveState; CopyMemory(&rMsgSYN.wvCurPos, rVec, sizeof(rVec)); rMsgSYN.m_wAngle = (WORD) ((60+cRndCC1) * 180.0f / WZ_PI); rMsgSYN.m_wTileIndex = 100+dwI; // g_pHero->GetPathExplorer()->GetTile(); ++dwI; WORD wAngle = rMsgSYN.m_wAngle; BOOL bFastMove = FALSE; WzVector vFinalDir; wAngle = wAngle % 360; vFinalDir.x = g_SinTable.FSIN(wAngle); vFinalDir.y = -g_SinTable.FCOS(wAngle); vFinalDir.z = 0.0f; WzVector wvDir1, wvDir2; //SetVector(&vFinalDir, 0.0f, 0.0f, 0.0f); SetVector(&wvDir1, 0.0f, 0.0f, 0.0f); // ÀüÈÄÁø º¤ÅÍ SetVector(&wvDir2, 0.0f, 0.0f, 0.0f); // ÁÂ¿ì º¤ÅÍ if(bFastMove) { if(byMoveState == CMS_TUMBLING_RIGHT) { wvDir2.x = vFinalDir.y; wvDir2.y = -vFinalDir.x; } else if(byMoveState == CMS_TUMBLING_LEFT) { wvDir2.x = -vFinalDir.y; wvDir2.y = vFinalDir.x; } else if(byMoveState == CMS_TUMBLING_BACK) { wvDir1 = -vFinalDir; } // ÀüÁø ¼ô´ë½Ã else { wvDir1 = vFinalDir; } } else { // ÀüÈÄÁø º¤ÅÍÁß ¼±Åà if(byMoveState & KEYBOARDMOVE_FOWARD) { // ÀüÁø wvDir1 = vFinalDir; } else if(byMoveState & KEYBOARDMOVE_BACKWARD) { // ÈÄÁø wvDir1 = -vFinalDir; } // Á°԰ÉÀ½, ¿ì°Ô°ÉÀ½ º¤ÅÍÁß ¼±Åà if(byMoveState & KEYBOARDMOVE_RIGHTSTEP) { wvDir2.x = vFinalDir.y; // sin(a - 90) = -cos(a) = wvDir.y; wvDir2.y = -vFinalDir.x; // -cos(a - 90) = -sin(a) = -wvDir.x; } else if(byMoveState & KEYBOARDMOVE_LEFTSTEP) { wvDir2.x = -vFinalDir.y; // sin(a + 90) = cos(a) = -wvDir.y; wvDir2.y = vFinalDir.x; // -cos(a + 90) = sin(a) = wvDir.x; } } // ÀüÈÄÁø º¤ÅÍ¿Í ÁÂ¿ì º¤Å͸¦ ´õÇÑ º¤Å͸¦ ³ë¸Ö¶óÀÌÁî ÇÑ °ÍÀÌ ÃÖÁ¾ ¹æÇâ WzVector addVec = wvDir1 + wvDir2; VectorNormalize(&vFinalDir, &addVec); //(*(WzVector*)&rVec) += vFinalDir; (*(WzVector*)&rVec) += addVec; //CopyMemory(rVec, &vFinalDir, sizeof(rVec)); rMsgSYN.Encode(); rMGR.SendPacket(AGENT_SESSION, &rMsgSYN, sizeof(rMsgSYN)); //if((++dwCC % 10) == 0) //{ // wAA += 10; //} } while(0); //DWORD* pD = (DWORD*)&rVec; //static DWORD vTime = GetTickCount(); //if(vTime + 2000 > GetTickCount()) //{ // static DWORD vRnd = GetTickCount(); // vRnd = 0x440392*vRnd + (0x29133849+(vRnd>>8)); // for(DWORD i=0 ; i<3 ; ++i, ++pD) // { // *pD = vRnd; // vRnd = 0x440392*vRnd + (0x29133849+(vRnd>>8)); // } // rMsgSYN.vPos = rVec; // rMGR.SendPacket(AGENT_SESSION, &rMsgSYN, sizeof(rMsgSYN)); //} return LFRET_SUCCESS_LOOP; } LF_ACTIVE_HANDLER_IMPL(S_001840_KBMOVING_CONTROL_LF) { DEBUGGING_CODE_L3(""); return LFRET_SUCCESS_DEFAULT; } LF_ACTIVE_HANDLER_IMPL(S_001900_EOL_FLOW_CONTROL_LF) { //DEBUGGING_CODE_L3(""); // ÇöÀç Á¸ »óÅÂ, ±×¸®°í »õ·Ó°Ô À̵¿ÇÒ °æ¿ì¿¡ ´ëÇÑ Ã³¸®¸¦ ´ã´çÇÏÀÚ. // ±×¿ÜÀÇ »óÅ´ ÇöÀç Á¸ »óŸ¦ À¯ÁöÇϸ鼭 ÇÊ¿äÇÑ ºÎºÐÀ» ó¸®ÇÏÀÚ. return LFRET_SUCCESS_LOOP; }