bool ZSurvival::OnCommand(MCommand* pCommand) { switch (pCommand->GetID()) { HANDLE_COMMAND(MC_QUEST_GAME_INFO ,OnQuestGameInfo); HANDLE_COMMAND(MC_MATCH_RESPONSE_MONSTER_BIBLE_INFO ,OnSetMonsterBibleInfo); } return false; }
void RealmSession::handle_command(int code, int cookie, const uint8_t* payload, size_t payload_length) { if (!tokenValidated && code != CHello::code) return; #define HANDLE_COMMAND(name_) case name_::code: {\ name_ msg;\ if (!msg.decode(payload, payload_length)) return;\ this->handle(msg);\ break;\ } switch (code) { HANDLE_COMMAND(CChatSay); HANDLE_COMMAND(CHello); HANDLE_COMMAND(CEnterWorld); HANDLE_COMMAND(CPlayerMovement); HANDLE_COMMAND(CPong); HANDLE_COMMAND(CZoneLoaded); default: ; } }
bool ZSurvival::OnGameCommand(MCommand* pCommand) { switch (pCommand->GetID()) { HANDLE_COMMAND(MC_QUEST_NPC_LOCAL_SPAWN ,OnNPCSpawn); HANDLE_COMMAND(MC_QUEST_NPC_SPAWN ,OnNPCSpawn); HANDLE_COMMAND(MC_QUEST_NPC_DEAD ,OnNPCDead); HANDLE_COMMAND(MC_QUEST_PEER_NPC_DEAD ,OnPeerNPCDead); HANDLE_COMMAND(MC_QUEST_ENTRUST_NPC_CONTROL ,OnEntrustNPCControl); HANDLE_COMMAND(MC_QUEST_PEER_NPC_BASICINFO ,OnPeerNPCBasicInfo); HANDLE_COMMAND(MC_QUEST_PEER_NPC_HPINFO ,OnPeerNPCHPInfo); HANDLE_COMMAND(MC_QUEST_PEER_NPC_ATTACK_MELEE ,OnPeerNPCAttackMelee); HANDLE_COMMAND(MC_QUEST_PEER_NPC_ATTACK_RANGE ,OnPeerNPCAttackRange); HANDLE_COMMAND(MC_QUEST_PEER_NPC_SKILL_START ,OnPeerNPCSkillStart); HANDLE_COMMAND(MC_QUEST_PEER_NPC_SKILL_EXECUTE ,OnPeerNPCSkillExecute); HANDLE_COMMAND(MC_QUEST_PEER_NPC_BOSS_HPAP ,OnPeerNPCBossHpAp); HANDLE_COMMAND(MC_QUEST_REFRESH_PLAYER_STATUS ,OnRefreshPlayerStatus); HANDLE_COMMAND(MC_QUEST_NPC_ALL_CLEAR ,OnClearAllNPC); HANDLE_COMMAND(MC_QUEST_ROUND_START ,OnQuestRoundStart); HANDLE_COMMAND(MC_MATCH_QUEST_PLAYER_DEAD ,OnQuestPlayerDead); HANDLE_COMMAND(MC_QUEST_COMBAT_STATE ,OnQuestCombatState); HANDLE_COMMAND(MC_QUEST_MOVETO_PORTAL ,OnMovetoPortal); HANDLE_COMMAND(MC_QUEST_READYTO_NEWSECTOR ,OnReadyToNewSector); HANDLE_COMMAND(MC_QUEST_SECTOR_START ,OnSectorStart); HANDLE_COMMAND(MC_QUEST_OBTAIN_QUESTITEM ,OnObtainQuestItem); HANDLE_COMMAND(MC_QUEST_OBTAIN_ZITEM ,OnObtainZItem); HANDLE_COMMAND(MC_QUEST_SECTOR_BONUS ,OnSectorBonus); HANDLE_COMMAND(MC_QUEST_COMPLETED ,OnQuestCompleted); HANDLE_COMMAND(MC_QUEST_FAILED ,OnQuestFailed); HANDLE_COMMAND(MC_QUEST_PING ,OnQuestPing); HANDLE_COMMAND(MC_QUEST_SURVIVAL_RESULT ,OnSurvivalResult); HANDLE_COMMAND(MC_SURVIVAL_RANKINGLIST ,OnSurvivalRankingList); HANDLE_COMMAND(MC_SURVIVAL_PRIVATERANKING ,OnSurvivalPrivateRanking); #ifdef _QUEST_ITEM //HANDLE_COMMAND(MC_MATCH_USER_REWARD_QUEST ,OnRewardQuest); HANDLE_COMMAND(MC_MATCH_NEW_MONSTER_INFO ,OnNewMonsterInfo ); #endif } return false; }