void CDevilSquareGround::SendRankingInfo(LPOBJ lpObj) { if(ReadConfig.SCFRSON == FALSE) { if ( lpObj->m_nEventScore <= 0 ) { return; } PMSG_ANS_EVENTUSERSCORE pMsg; pMsg.h.c = 0xC1; pMsg.h.headcode = 0x01; pMsg.h.size = sizeof(pMsg); pMsg.Score = lpObj->m_nEventScore; pMsg.SquareNum = lpObj->m_bDevilSquareIndex; pMsg.Class = lpObj->Class; pMsg.ServerCode = gGameServerCode; memcpy(pMsg.AccountID, lpObj->AccountID, MAX_ACCOUNT_LEN); memcpy(pMsg.GameID, lpObj->Name, MAX_ACCOUNT_LEN); DataSendRank((char *)&pMsg, pMsg.h.size); }else { DS_SendRankingInfo(lpObj->m_Index); } }
void CDevilSquare::SendLiveCall() { PMSG_ANS_EVENTLIVE pMsg; pMsg.h.c = 0xC1; pMsg.h.headcode = 0x03; pMsg.h.size = sizeof(pMsg); DataSendRank((char *)&pMsg, pMsg.h.size); }
void CIllusionTempleEvent::GEReqIllusionTempleIncEnterCount(LPOBJECTSTRUCT lpObj) { PMSG_REQ_ILLUSION_TEMPLE_INC_COUNT pMsg; PHeadSetB((LPBYTE)&pMsg, 0x13, sizeof(pMsg)); memcpy(pMsg.AccountID, lpObj->AccountID, MAX_IDSTRING); memcpy(pMsg.GameID, lpObj->Name, MAX_IDSTRING); pMsg.ServerCode = gGameServerCode; DataSendRank((char *)&pMsg, pMsg.h.size); }
void CDevilSquare::DieProcDevilSquare(LPOBJ lpObj) { char msg[255]; wsprintf(msg, "Failed. Your score is %d. Try again next time.", lpObj->m_nEventScore); GCServerMsgStringSend(msg, lpObj->m_Index, 1); if ( lpObj->m_nEventScore <= 0 ) return; PMSG_ANS_EVENTUSERSCORE pMsg; pMsg.h.c = 0xC1; pMsg.h.headcode = 0x01; pMsg.h.size = sizeof(pMsg); pMsg.SquareNum = lpObj->m_bDevilSquareIndex; pMsg.Class = lpObj->Class; pMsg.h.subcode = 0x01; if ( lpObj->Class == 1 ) { if ( lpObj->Class >= 0 && lpObj->Class < MAX_TYPE_PLAYER ) { if ( DS_LEVEL_RANGE(lpObj->m_bDevilSquareIndex) != FALSE ) { lpObj->m_nEventScore+= this->m_BonusScoreTable[lpObj->Class][lpObj->m_bDevilSquareIndex]/100; } } pMsg.Score = lpObj->m_nEventScore; } else { pMsg.Score = lpObj->m_nEventScore; } pMsg.ServerCode = gGameServerCode; memcpy(pMsg.AccountID, lpObj->AccountID, sizeof(pMsg.AccountID)); memcpy(pMsg.GameID, lpObj->Name, sizeof(pMsg.GameID)); DataSendRank((char *)&pMsg, pMsg.h.size); LogAdd("[DevilSquare] Dead [%s][%s][%d][%d]", lpObj->AccountID, lpObj->Name, lpObj->m_nEventExp, lpObj->m_nEventScore); lpObj->m_nEventScore = 0; lpObj->m_nEventMoney = 0; lpObj->m_nEventExp = 0; }
void CIllusionTempleEvent::EGReqIllusionTempleEnterCount(int iIndex) { PMSG_REQ_ILLUSIONTEMPLE_ENTERCOUNT pMsg; // [sp+4Ch] [bp-24h]@2 if ( gObjIsConnected(iIndex) ) { pMsg.h.c = -63; pMsg.h.headcode = 20; memcpy(pMsg.AccountID, gObj[iIndex].AccountID, 0xAu); memcpy(pMsg.GameID, gObj[iIndex].Name, 0xAu); pMsg.ServerCode = gGameServerCode / 20; pMsg.iObjIndex = iIndex; DataSendRank((char*)&pMsg, pMsg.h.size); } }
BOOL CIllusionTempleEvent::GEReqIllusionTempleEnterCountCheck(int aIndex, BYTE btTempleIndex, BYTE btItemPos, int nItemLevel) { if(DevilSquareEventConnect) return FALSE; PMSG_REQ_ILLUSION_TMPLE_ENTERCOUNTCHECK pMsg; PHeadSetB((LPBYTE)&pMsg, 0x12, sizeof(pMsg)); memcpy(pMsg.AccountID, gObj[aIndex].AccountID, MAX_IDSTRING); memcpy(pMsg.GameID, gObj[aIndex].Name, MAX_IDSTRING); pMsg.ServerCode = gGameServerCode; pMsg.iObjIndex = aIndex; pMsg.iItemPos = btItemPos; pMsg.iItemLevel = nItemLevel; pMsg.iTempleNumber = btTempleIndex; DataSendRank((char *)&pMsg, pMsg.h.size); return TRUE; }