[req] Help With Noticement Msg

Submit your code requests, and if you are good at coding come help others with their requests.
Post Reply
diuuude
Outpost bitch
Posts: 592
Joined: Wed Dec 28, 2005 11:57 pm

Post by diuuude »

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 ;)
<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 !
juggalo2
Spamtastic
Posts: 1144
Joined: Sun Jul 17, 2005 5:28 pm

Post by juggalo2 »

here u go dude

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);
	}
	// ¿¡·¯ ¹ß»ýÇصµ ²÷Ã￾ö ¾Ê´Â´Ù.	
}
this is whats makes it use teh noticement box teh window in clietn im prity sure

Code: Select all

DEF_INDEX2_MSGTYPE
hopes this helps you
<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>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Post Reply