I need help with code used to send the noticement from HG to client.
If anyone can help me in anyway, it would save a lot of my (limited) free time...
Need to know how the msg is sent (commented func + params). I really don't have time to look at it and i need it for Friends list
Thx
[req] Help With Noticement Msg
<a href='http://www.technohell.net' target='_blank'><b><span style='color:red'>>>> Helbreath Ressources Website Here <<<</span></b></a><br>C++ Sources, Tools, Server Files, Help on Forum, C++ Snippets, Toplist... Updated often, come visit us !
here u go dude
this is whats makes it use teh noticement box teh window in clietn im prity sure
hopes this helps you
Code: Select all
case MSGID_REQUEST_NOTICEMENT:
RequestNoticementHandler(iClientH, pData);
break;
Code: Select all
case MSGID_NOTICEMENTFILECONTENTS:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_LOGSERVER -> MSGID_NOTICEMENTFILECONTENTS");
PutLogList("(!) Noticement file contents received. Now decoding...");
_bDecodeNoticementFileContents((char *)(pData + DEF_INDEX2_MSGTYPE + 2), dwMsgSize);
break;
Code: Select all
void CGame::ClientCommonHandler(int iClientH, char * pData)
{
WORD * wp, wCommand;
short * sp, sX, sY;
int * ip, iV1, iV2, iV3, iV4;
char * cp, cDir, * pString;
if (m_pClientList[iClientH] == NULL) return;
if (m_pClientList[iClientH]->m_bIsInitComplete == FALSE) return;
if (m_pClientList[iClientH]->m_bIsKilled == TRUE) return;
wp = (WORD *)(pData + DEF_INDEX2_MSGTYPE);
wCommand = *wp;
cp = (char *)(pData + DEF_INDEX2_MSGTYPE + 2);
sp = (short *)cp;
sX = *sp;
cp += 2;
sp = (short *)cp;
sY = *sp;
cp += 2;
cDir = *cp;
cp++;
ip = (int *)cp;
iV1 = *ip;
cp += 4;
ip = (int *)cp;
iV2 = *ip;
cp += 4;
ip = (int *)cp;
iV3 = *ip;
cp += 4;
pString = cp;
cp += 30;
ip = (int *)cp;
iV4 = *ip;
cp += 4;
switch (wCommand) {
// New 15/05/2004
case DEF_COMMONTYPE_REQ_CREATESLATE:
ReqCreateSlateHandler(iClientH, pData);
break;
// 2.06 - by KLKS
case DEF_COMMONTYPE_REQ_CHANGEPLAYMODE:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> MSGID_REQUEST_CIVILRIGHT");
RequestChangePlayMode(iClientH);
break;
//
case DEF_COMMONTYPE_SETGUILDTELEPORTLOC:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_SETGUILDTELEPORTLOC");
RequestSetGuildTeleportLocHandler(iClientH, iV1, iV2, m_pClientList[iClientH]->m_iGuildGUID, "middleland");
break;
case DEF_COMMONTYPE_SETGUILDCONSTRUCTLOC:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_SETGUILDCONSTRUCTLOC");
RequestSetGuildConstructLocHandler(iClientH, iV1, iV2, m_pClientList[iClientH]->m_iGuildGUID, pString);
break;
case DEF_COMMONTYPE_GUILDTELEPORT:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_GUILDTELEPORT");
RequestGuildTeleportHandler(iClientH);
break;
case DEF_COMMONTYPE_SUMMONWARUNIT:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_SUMMONWARUNIT");
RequestSummonWarUnitHandler(iClientH, sX, sY, iV1, iV2, iV3);
break;
case DEF_COMMONTYPE_REQUEST_HELP:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQUEST_HELP");
RequestHelpHandler(iClientH);
break;
case DEF_COMMONTYPE_REQUEST_MAPSTATUS:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQUEST_MAPSTATUS");
MapStatusHandler(iClientH, iV1, pString);
break;
case DEF_COMMONTYPE_REQUEST_SELECTCRUSADEDUTY:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQUEST_SELECTCRUSADEDUTY");
SelectCrusadeDutyHandler(iClientH, iV1);
break;
case DEF_COMMONTYPE_REQUEST_CANCELQUEST:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQUEST_CANCELQUEST");
CancelQuestHandler(iClientH);
break;
case DEF_COMMONTYPE_REQUEST_ACTIVATESPECABLTY:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQUEST_ACTIVATESPECABLTY");
ActivateSpecialAbilityHandler(iClientH);
break;
case DEF_COMMONTYPE_REQUEST_JOINPARTY:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQUEST_JOINPARTY");
JoinPartyHandler(iClientH, iV1, pString);
break;
case DEF_COMMONTYPE_GETMAGICABILITY:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_GETMAGICABILITY");
GetMagicAbilityHandler(iClientH);
break;
case DEF_COMMONTYPE_BUILDITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_BUILDITEM");
BuildItemHandler(iClientH, pData);
break;
case DEF_COMMONTYPE_QUESTACCEPTED:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_QUESTACCEPTED");
QuestAcceptedHandler(iClientH);
break;
case DEF_COMMONTYPE_CANCELEXCHANGEITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_CANCELEXCHANGEITEM");
CancelExchangeItem(iClientH);
break;
case DEF_COMMONTYPE_CONFIRMEXCHANGEITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_CONFIRMEXCHANGEITEM");
ConfirmExchangeItem(iClientH);
break;
case DEF_COMMONTYPE_SETEXCHANGEITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_SETEXCHANGEITEM");
SetExchangeItem(iClientH, iV1, iV2);
break;
case DEF_COMMONTYPE_REQ_GETHEROMANTLE:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_GETHEROMANTLE");
GetHeroMantleHandler(iClientH, iV1, pString);
break;
case DEF_COMMONTYPE_REQ_GETOCCUPYFLAG:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_GETOCCUPYFLAG");
GetOccupyFlagHandler(iClientH);
break;
case DEF_COMMONTYPE_REQ_SETDOWNSKILLINDEX:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_SETDOWNSKILLINDEX");
SetDownSkillIndexHandler(iClientH, iV1);
break;
case DEF_COMMONTYPE_TALKTONPC:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_TALKTONPC");
// works for client, but for npc it returns middleland
// if ((m_pMapList[m_pNpcList[iV1]->m_cMapIndex]->m_cName) != (m_pMapList[m_pClientList[iClientH]->m_cMapIndex]->m_cName)) break;
NpcTalkHandler(iClientH, iV1);
break;
case DEF_COMMONTYPE_REQ_CREATEPORTION:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_CREATEPORTION");
ReqCreatePortionHandler(iClientH, pData);
break;
case DEF_COMMONTYPE_REQ_GETFISHTHISTIME:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_GETFISHTHISTIME");
ReqGetFishThisTimeHandler(iClientH);
break;
case DEF_COMMONTYPE_REQ_REPAIRITEMCONFIRM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_REPAIRITEMCONFIRM");
ReqRepairItemCofirmHandler(iClientH, iV1, pString);
break;
case DEF_COMMONTYPE_REQ_REPAIRITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_REPAIRITEM");
ReqRepairItemHandler(iClientH, iV1, iV2, pString);
break;
case DEF_COMMONTYPE_REQ_SELLITEMCONFIRM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_SELLITEMCONFIRM");
ReqSellItemConfirmHandler(iClientH, iV1, iV2, pString);
break;
case DEF_COMMONTYPE_REQ_SELLITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_SELLITEM");
ReqSellItemHandler(iClientH, iV1, iV2, iV3, pString);
break;
case DEF_COMMONTYPE_REQ_USESKILL:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_USESKILL");
UseSkillHandler(iClientH, iV1, iV2, iV3);
break;
case DEF_COMMONTYPE_REQ_USEITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_USEITEM");
UseItemHandler(iClientH, iV1, iV2, iV3, iV4);
break;
case DEF_COMMONTYPE_REQ_GETREWARDMONEY:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_GETREWARDMONEY");
GetRewardMoneyHandler(iClientH);
break;
case DEF_COMMONTYPE_ITEMDROP:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_ITEMDROP");
DropItemHandler(iClientH, iV1, iV2, pString, TRUE);
break;
case DEF_COMMONTYPE_EQUIPITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_EQUIPITEM");
// ¿©±â¼Â´Â Ư¼ºÄ¡ º¯È¸¸À» ´Ù·é´Ù.
bEquipItemHandler(iClientH, iV1);
// ¹Ù²ï ¿ÜÇü¿¡ ´ëÇÑ Ã¤º¸¸¦ ¿©±â¼ Àü¼ÛÇÑ´Ù.
// .....
break;
case DEF_COMMONTYPE_REQ_PURCHASEITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_PURCHASEITEM");
// ¾ÆÀÌÅÛ ±¸ÀÔ ¿ä±¸. »ç½Ç ¾ÆÀÌÅÛÀº Àå¼Ò¿¡ »ó°ü¾øÀÌ ¾îµð¼Â¶óµµ ±¸ÀÔÇÒ ¼ö ÀÖ´Ù.
RequestPurchaseItemHandler(iClientH, pString, iV1);
break;
case DEF_COMMONTYPE_REQ_STUDYMAGIC:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_STUDYMAGIC");
// ¸¶¹ýÀ» ¹è¿î´Ù
RequestStudyMagicHandler(iClientH, pString);
break;
case DEF_COMMONTYPE_REQ_TRAINSKILL:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_TRAINSKILL");
//RequestTrainSkillHandler(iClientH, pString);
break;
case DEF_COMMONTYPE_GIVEITEMTOCHAR:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_GIVEITEMTOCHAR");
// ¾ÆÀÌÅÛÀ» ´Ù¸¥ ij¸¯Åÿ¡°Ô Àü´ÞÇÑ´Ù.
GiveItemHandler(iClientH, cDir, iV1, iV2, iV3, iV4, pString);
break;
case DEF_COMMONTYPE_EXCHANGEITEMTOCHAR:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_EXCHANGEITEMTOCHAR");
ExchangeItemHandler(iClientH, cDir, iV1, iV2, iV3, iV4, pString);
break;
case DEF_COMMONTYPE_JOINGUILDAPPROVE:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_JOINGUILDAPPROVE");
JoinGuildApproveHandler(iClientH, pString);
break;
case DEF_COMMONTYPE_JOINGUILDREJECT:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_JOINGUILDREJECT");
JoinGuildRejectHandler(iClientH, pString);
break;
case DEF_COMMONTYPE_DISMISSGUILDAPPROVE:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_DISMISSGUILDAPPROVE");
DismissGuildApproveHandler(iClientH, pString);
break;
case DEF_COMMONTYPE_DISMISSGUILDREJECT:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_DISMISSGUILDREJECT");
DismissGuildRejectHandler(iClientH, pString);
break;
case DEF_COMMONTYPE_RELEASEITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_RELEASEITEM");
// Ŭ¶óÀ̾ðÆ®°¡ ÀåÂøµÈ ¾ÆÀÌÅÛÀ» ÇØæÇß´Ù.
ReleaseItemHandler(iClientH, iV1, TRUE);
break;
case DEF_COMMONTYPE_TOGGLECOMBATMODE:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_TOGGLECOMBATMODE");
ToggleCombatModeHandler(iClientH);
break;
case DEF_COMMONTYPE_MAGIC:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_MAGIC");
PlayerMagicHandler(iClientH, iV1, iV2, (iV3 - 100));
break;
case DEF_COMMONTYPE_TOGGLESAFEATTACKMODE:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_TOGGLESAFEATTACKMODE");
ToggleSafeAttackModeHandler(iClientH);
break;
// v1.4311-3 Ãß°¡ ÀÔÀå±Ç ¹Þ±â case DEF_COMMONTYPE_REQ_GETOCCUPYFIGHTZONETICKET:
case DEF_COMMONTYPE_REQ_GETOCCUPYFIGHTZONETICKET:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQ_GETOCCUPYFIGHTZONETICKET");
GetFightzoneTicketHandler(iClientH);
break;
// Upgrade Item
case DEF_COMMONTYPE_UPGRADEITEM:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_UPGRADEITEM");
RequestItemUpgradeHandler(iClientH,iV1);
break;
case DEF_COMMONTYPE_REQGUILDNAME:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQGUILDNAME");
RequestGuildNameHandler(iClientH, iV1, iV2);
break;
case DEF_COMMONTYPE_REQUEST_ACCEPTJOINPARTY:
//DbgWnd->AddEventMsg("RECV -> DEF_MSGFROM_CLIENT -> MSGID_COMMAND_COMMON -> DEF_COMMONTYPE_REQUEST_ACCEPTJOINPARTY");
RequestAcceptJoinPartyHandler(iClientH, iV1);
break;
default:
wsprintf(G_cTxt,"Unknown message received! (0x%.8X)",wCommand);
PutLogList(G_cTxt);
break;
}
}
Code: Select all
void CGame::RequestNoticementHandler(int iClientH, char * pData)
{
char * cp, cData[120];
int * ip, iRet, iClientSize;
DWORD * dwp;
WORD * wp;
if (m_pClientList[iClientH] == NULL) return;
if (m_dwNoticementDataSize < 10) return;
ip = (int *)(pData + DEF_INDEX2_MSGTYPE + 2);
iClientSize = *ip;
if (iClientSize != m_dwNoticementDataSize) {
// Ŭ¶óÀ̾ðÆ®°¡ °®°à ÀÖ´Â ÆÄÀà »çÀÌÃî¿à ´Ù¸£¸é ³»¿ëÀ» ¸ðµÎ º¸³½´Ù.
cp = new char[m_dwNoticementDataSize + 2 + DEF_INDEX2_MSGTYPE + 2];
ZeroMemory(cp, m_dwNoticementDataSize + 2 + DEF_INDEX2_MSGTYPE + 2);
memcpy((cp + DEF_INDEX2_MSGTYPE + 2), m_pNoticementData, m_dwNoticementDataSize);
dwp = (DWORD *)(cp + DEF_INDEX4_MSGID);
*dwp = MSGID_RESPONSE_NOTICEMENT;
wp = (WORD *)(cp + DEF_INDEX2_MSGTYPE);
*wp = DEF_MSGTYPE_REJECT;
iRet = m_pClientList[iClientH]->m_pXSock->iSendMsg(cp, m_dwNoticementDataSize + 2 + DEF_INDEX2_MSGTYPE + 2);
delete cp;
}
else {
ZeroMemory(cData, sizeof(cData));
dwp = (DWORD *)(cData + DEF_INDEX4_MSGID);
*dwp = MSGID_RESPONSE_NOTICEMENT;
wp = (WORD *)(cData + DEF_INDEX2_MSGTYPE);
*wp = DEF_MSGTYPE_CONFIRM;
iRet = m_pClientList[iClientH]->m_pXSock->iSendMsg(cData, 6);
}
// ¿¡·¯ ¹ß»ýÇصµ ²÷Ãö ¾Ê´Â´Ù.
}
Code: Select all
DEF_INDEX2_MSGTYPE
<img src='http://lifeplaysu420.com/unknow/nightsign.png' border='0' alt='user posted image' /><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>Wanna make money for surfing the net sing up at <br><a href='http://www.cashfiesta.com/php/join.php? ... yprivitera' target='_blank'>cash fiesta</a><br>its all free hey why ntot make money while fucking around on the computer<br><br><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~