📄 dragonserver2.cpp
字号:
#include "..\stdafx.h"
#include "DefaultHeader.h"
#include "Scrp_int.h"
#include "Scrp_Exe.h"
#include "NPC_Pattern.h"
#include "map.h"
#include "CItem.h"
#include "teambattle.h" // 010210 YGI
#include "dungeon.h" // 020620 YGI
#include "ArenaManager.h"
#include "UserManager.h"
// 020620 YGI
extern int MenuFunctions( t_packet *p, short int cn );
int CheckHandleByKein( t_packet *p, t_connection c[], int cn )
{
switch (p->h.header.type)
{
case CMD_RESEND_ITEM:
{
RecvResendItem(cn);
break;
}
case CMD_RESEND_ITEM_EQUIP : SendItemEquip( c, cn ); break;
case CMD_RESEND_ITEM_QUICK : SendItemQuick( c, cn ); break;
case CMD_PUBLIC_NOTICE_TITLE_REQ :
case CMD_RANK_TITLE_REQ :
case CMD_FORUM_TITLE_REQ :
case CMD_EVENT_TITLE_REQ :
case CMD_MYDIARY_TITLE_REQ :
case CMD_BBS_TITLE_REQ :
case CMD_ETC_TITLE_REQ : SendMessageTitle( p->h.header.type, p->u.kein.req_bbs_title.count, c, cn ); break;
case CMD_RESEND_CHARLIST : SendCharInfomation( p->h.header.type, c, cn ); break;
case CMD_OTHER_CH_INV : break;
case CMD_DIVIDE_ITEM : RecvDivideItem( &p->u.kein.item_attr_pos, c, cn ); break;
case REQ_MY_DEPOSIT_INFO : RecvBankInfoDeposit(p->u.kein.client_bank_deposit.money, c, cn ); break;
case CMD_DEFRAYAL : RecvBankInfoDefrayal(p->u.kein.client_bank_deposit.money, c, cn ); break;
case REQ_MY_REPAYMENT_INFO : SendBankRepayment( c, cn ); break;
case CMD_CHAR_INFO_BASIC : RecvCharInfoBasic( &p->u.char_info_basic , c, cn ); break;
case CMD_LEARN_SKILL : RecvLearnSkill( &p->u.client_learn_skill, c, cn ); break;
case CMD_LVUP_POINT_EACH : RecvLvUpPointEach( p->u.kein.client_lvup_point_each.type, c, cn ); break;
case CMD_LVDOWN_POINT_EACH : RecvLvDownPointEach( p->u.kein.client_lvup_point_each.type, c, cn ); break;
case REQ_LEVELUP_POINT:
{
c[cn].chrlst.IncReservedPoint(10);
SendLevelUpMsgAndPoint(&c[cn].chrlst);
break;
}
case CMD_LEARN_ITEM : RecvLearnItem( &p->u.kein.client_learn_item, c, cn ); break;
case CMD_ITEMREPAIR_REQ : RecvItemRepair( &p->u.client_item_sell, c, cn ); break;
case CMD_CHAR_INFO_TAC_SKILL_EXP : SendCharInfotac_skillEXP( c, cn ); break;
case CMD_OPEN_STATUS_REQ : SendStatusOpen( c, cn ); break;
case CMD_REQ_CHAR_INFO_PLUS : RecvCharInfoPlus( p->u.kein.client_char_info_plus.type, c, cn ); break;
case CMD_SEND_BANK_INV : {for( int i=0; i<15; i++ ) SendBankInventory( i, c, cn ); break; }
case CMD_DO_PARTY : RecvDoParty( &p->u.kein.client_do_party, c, cn ); break;
case CMD_DELETE_PARTY : RecvDeleteParty( &p->u.kein.client_delete_party, c, cn ); break;
case CMD_REQ_PARTY_MEMBER : break; RecvCharInfoPlus(CMD_PARTY , c, cn); break; // 老窜 哗绊 积阿
case CMD_PREVENTING : RecvPreventing( p->u.kein.client_disease.disease_num, c, cn ); break;
case CMD_CURE_DISEASE : RecvCureDisease( p->u.kein.client_disease.disease_num, c, cn );break;
case CMD_REQ_ITEM_VALUE : SendItemValue( p->u.kein.client_item_no.item_no, cn ); break;
case CMD_REQ_ITEM_VALUE_SELL : SendItemValue_Sell( &p->u.kein.server_delete_item.item_pos, cn ); break;
case CMD_REQ_ITEM_VALUE_REPAIR : SendItemValue_Repair( p->u.kein.client_item_no.item_no, cn ); break;
case CMD_CLIENT_INN : RecvClientInn( p->u.kein.client_inn.type, cn ); break;
case CMD_SERVER_PARTY:
{
CHARLIST* ch = CheckServerId(cn);
if (!ch)
{
break;
}
SendPartyInfo(p->u.kein.client_delete_party.type,
p->u.kein.client_delete_party.ct,
c,
ch->Name );
break;
}
case CMD_SERVER_WAKE_UP : SendServerWeakUp( cn ); break;
case CMD_REQ_JOIN_GAME : SendJoinGameWho( cn ); CheckMyMailOnStartGame( cn ); break;
case CMD_REQ_MY_PARTY : SendMyPartyExist( cn ); break;
case CMD_OPEN_ABILITY : SendAbilityOpen( cn ); break;
case CMD_LEARN_ALL : RecvLearnAll( cn ); break;
case CMD_LEARN_ALL_NOT : RecvLearnAllNot( cn ); break;
case CMD_REQ_AC : SendServerAc( cn ); break;
case CMD_REQ_DMG : SendServerDmg( cn ); break;
case CMD_SERVER_KILLMON : SendServerKillMon( cn ); break;
case CMD_PARTY_ACCESS : RecvPartyInfoServerToServer( &p->u.kein.server_server_party_info ); break; // loginserver俊辑 傈价罐绰促.
case CMD_REQ_PARTY_TOGETHER : RecvPartyTogetherByLoginServer( p->u.kein.rep_party_together.server_id, p->u.kein.rep_party_together.party_name ); break;
case CMD_PARTY_NO_NAME : RecvNoParty( p->u.kein.cmd_party_no_name.name, p->u.kein.cmd_party_no_name.server_id ); break; //肋 给等 捞抚阑 啊瘤绊 乐阑锭... 瘤款促.
case CMD_REQ_MAGERY : SendServerMagery( cn ); break;
case CMD_PUBLIC_NOTICE_BBS_REQ :
case CMD_RANK_BBS_REQ :
case CMD_FORUM_BBS_REQ :
case CMD_EVENT_BBS_REQ :
case CMD_MYDIARY_BBS_REQ :
case CMD_BBS_BBS_REQ :
case CMD_ETC_BBS_REQ : RecvBbsMessageReq( p->h.header.type, p->u.kein.req_bbs_title.count, cn ); break;// 郴侩 傈价 夸没 览翠
case CMD_PREACH_NAME : SendLoginServerPreachName( &p->u.kein.server_preach_name, cn ); break;
case CMD_LOGIN_PREACH_NAME : RecvAndSendPreachName( &p->u.kein.loginserver_preach_name_result ); break;
case CMD_GOD_REGIST_OK : RecvGodRegistOk( p->u.kein.client_god_regist_ok.type, cn ); break;
case CMD_GOD_REGIST_CANCEL : RecvGodRegistCancel( cn ); break;
case CMD_PREACH_NAME_OK : SendLoginServePreachNameOk( &p->u.kein.server_preach_name, cn ); break;
case CMD_TOOL_PASSWORD : RecvToolPassword( p->u.kein.tool_password.password , cn); break;
case CMD_GET_CHARINFO_BY_KEIN : RecvLoginServerGetCharInfoByKein( &p->u.kein.get_char_info ); break;
case CMD_CAN_MEMORIZE : RecvCanMemorize( c, cn ); break; // 皋葛扼捞令 且 荐 乐绰瘤 魄窜
case CMD_SEND_EAR_MESSAGE : RecvEarMessage( p->u.kein.send_ear_message.name, p->u.kein.send_ear_message.message, cn ); break; //1
case CMD_SEND_EAR_MESSAGE_OTHER : FindWhoEarMessageTarget( &p->u.kein.login_to_gameserver_ear_message ); break; // 蓖加富阑 罐阑 荤恩捞 捞 霸烙 辑滚俊 粮犁窍绰瘤 魄窜
case CMD_SEND_EAR_MESSAGE_OK : SendEarMessageResult( CMD_SEND_EAR_MESSAGE_OK, p->u.kein.loginserver_to_gameserver_ear_message.name, p->u.kein.loginserver_to_gameserver_ear_message.server_id); break;
case CMD_SEND_EAR_MESSAGE_RESULT : SendLoginEarMessageResult( &p->u.kein.send_ear_message_result, cn ); break; // 努扼捞攫飘俊辑 罐篮 皋矫瘤 焊辰 搬苞
case CMD_LOGIN2GAME_EAR_MESSAGE_RESULT : RecvLoginToGameEarMessageResult( p->u.kein.login2game_ear_message_result.send_server_id, p->u.kein.login2game_ear_message_result.ret ); break; // 雀脚捞 靛诞 吭促.
case CMD_ISTHERE_CHARNAME : SendGameToLoginExistName( p->u.client_isthere_charname.name, cn ); break;
case CMD_GAME2LOGIN_CHECK_NAME : CallClient( p->u.kein.login2game_ear_message_result.send_server_id, p->u.kein.login2game_ear_message_result.send_server_id ); break;
case CMD_REQ_SKILL_ALL : SendSkillAll( cn ); break;
case CMD_REQ_FAITH_UP : RecvAndSendFaithUp( p->u.kein.req_faith_up.name, p->u.kein.req_faith_up.up_point ); break;
case CMD_DIVINE_UP : RecvDivineUp( cn ); break;
case CMD_OPEN_SUPPER : RecvOpenSupper( cn ); break;
case CMD_I_GET_ITEM_OF_SUPPER : RecvGetItemOfSupper( p->u.kein.i_get_item_of_supper.item_no, cn ); break;
case CMD_CHANGE_MAP_CONFIRM : RecvChangeMapConfirm( cn ); break;
case CMD_REQ_CHAR_INFO : RecvReqCharInfo( cn, p->u.debug_client_req_char_info.id ); break;
case CMD_OH_MY_PARTY : RecvOhMyParty( p->u.kein.oh_my_party.my_name, p->u.kein.oh_my_party.party_name ); break;
case CMD_REQ_PARTY_INFO : RecvRepPartyInfo( p->u.kein.req_party_info.party_name, cn ); break;
case CMD_LOGIN_TO_GAME_PUBLIC_BBS:
{ //< CSD-CN-031213
g_pUserManager->SendPacket(p);
break;
} //> CSD-CN-031213
case CMD_START_GAME_MAIL : CallClient( p->u.kein.server_id.server_id, CMD_START_GAME_MAIL ); break;
case CMD_CALL_PUBLIC_BBS : SendToLoginserver( cn ); break; // 肺弊牢 辑滚肺 弊成 焊辰促.
case CMD_CALL_PUBLIC_BBS_ONLY_ONE : SendLoginToClientPublicBbsOnlyOne( p ); break;
case CMD_HUNTER_REGIST : SendLoginServerHunterRegist( &p->u.kein.hunter_regist, p->h.header.size, cn ); break;
case CMD_GET_HUNTER_LIST : SendLoginServerReqHunterList( p->u.kein.get_hunter_list.list_id, cn ); break;
case CMD_SEND_HUNTER_LIST : RecvLoginServerAndSendHunterList( &p->u.kein.login_game_hunter_list ); break;
case CMD_KILL_HUNTER_LIST : RecvHunterList( p->u.kein.get_hunter_list.list_id, cn ); break;
case CMD_KILL_HUNTER_LIST_OK : RecvHunterListOk( &p->u.kein.send_kill_hunter_list ); break;
case CMD_KILL_HUNTER_LIST_CANCEL : CallClient( p->u.kein.server_id.server_id, CMD_KILL_HUNTER_LIST_CANCEL ); break;
case CMD_KILLED_BY_HUNTER : ReturnResultByName( p->u.kein.kill_who.name, CMD_KILLED_BY_HUNTER ); break;
case CMD_DANGER_OF_HUNTER : ReturnDangerByHunter( p->u.kein.danger_of_hunter.target_id, p->u.kein.danger_of_hunter.type); break;
case CMD_REQ_MAN_TO_MAN : RecvReqManToMan( p->u.kein.default_short_int, cn ); break;
case CMD_REQ_MAN_TO_MAN_RESULT : SendReqManToManResult( p->u.kein.req_man_to_man_result.ret, p->u.kein.req_man_to_man_result.id ); break;
case CMD_REQ_MAN_TO_MAN_CONSENT : RecvManToManConsent( p->u.kein.default_short_int, cn ); break;
case CMD_REQ_MAN_TO_MAN_REFUSAL : RecvReqManToManRefusal( p->u.kein.default_short_int, cn ); break;
case CMD_REQ_QUEST_INDEX : RecvReqQuestIndex( p->u.kein.default_char, cn ); break;
case CMD_SCRIPT_CHANGE : RecvChangeScriptValue( p, cn); break;
case CMD_GUILD_EXIT_COMMAND_GLOBAL_OK :
case CMD_GUILD_EXIT_COMMAND_GLOBAL_NOT :
case CMD_VOTE_NOT :
case CMD_VOTE_OK :
case CMD_REGIST_CANDIDATE_OK :
case CMD_THIS_MAN_IS_CANDIDATE_OK :
case CMD_THIS_MAN_IS_CANDIDATE_NOT :
case CMD_THEREIS_CHARNAME :
case CMD_THEREIS_NO_CHARNAME : CallClient( p->u.kein.default_short_int, p->h.header.type ); break;
case CMD_CHECK_VOTE_NOT : ReturnCheckVoteNot( p->u.kein.default_short_int, -3 ); break; // 捞固 急芭 沁促.
case CMD_ISSAME_MY_NATION : SendCheckNameForNation( p->u.kein.default_name, cn ); break;
case CMD_IS_THIS_MAN_CANDIDATE : RecvAndSendLoginCheckRegistCandidate( cn ); break;
case CMD_CHECK_VOTE : CheckVote( cn ); break;
case CMD_CHECK_VOTE_OK : RecvAndSendCheckVote_Ok( p, cn ); break;
case CMD_REGIST_CANDIDATE : RecvRegistCandidate( cn ); break; // 辑滚肺 殿废且荐 乐绰瘤甫 焊辰促.
case CMD_REGIST_CANDIDATE_NOT : RecvAndSendRegistCandidateResult( p ); break;
case CMD_SET_VALUE_OF_VOTE : RecvSetValueOfVote( p ); break; // 叼厚 单阁俊霸辑 捧钎包访 函荐 蔼阑 啊廉柯促.
case CMD_RESET_VOTE_VALUE : CallClient( DB_DEMON, CMD_SET_VALUE_OF_VOTE ); break; // 券版 促矫 佬扁
case CMD_VOTE_GAME2LOGIN : SendVoteGame2Login( p, cn ); break;
case CMD_REQ_VOTE_SCORE : ReqVoteScore( cn); break;
case CMD_REP_VOTE_SCORE : SendClientRepVoteScore( p ); break;
case CMD_GET_SKILL_INFO : RecvGetSkillInfo( p, cn ); break;
case CMD_SEND_ALL_MSG : RecvClienNationMassage( p, cn ); break; // 努扼捞攫飘俊辑 罐酒辑 肺弊牢 辑滚肺
case CMD_RECV_ALL_MSG : RecvAndSendNationMassage( p ); break; // 肺弊牢辑滚俊辑 罐酒辑 努扼捞攫飘肺
case CMD_YOU_ARE_KING_LOG2LOG : RecvDemonYouAreKing( p, CMD_YOU_ARE_KING_LOG2CLIENT ); break; // 5000锅 器飘肺 焊郴滚赴促.
case CMD_YOU_ARE_KING_LOG2CLIENT : RecvLoginYouAreKing( p, CMD_YOU_ARE_KING_LOG2CLIENT ); break; // 茫酒辑 乐栏搁 努扼捞攫飘肺 焊郴霖促.
case CMD_YOU_ARE_NO_KING_LOG2LOG : RecvDemonYouAreKing( p, CMD_YOU_ARE_NO_KING_LOG2CLIENT ); break;
case CMD_YOU_ARE_NO_KING_LOG2CLIENT : RecvLoginYouAreKing( p, CMD_YOU_ARE_NO_KING_LOG2CLIENT ); break;
case CMD_GUILD_EXIT_COMMAND : RecvGuildExit( p, cn ); break;
case CMD_GUILD_JOIN_SERVER : RecvGuildJoin( p, cn ); break;
case CMD_GUILD_JOIN_SERVER_OK :
case CMD_GUILD_JOIN_SERVER_NOT : RecvGuildJoinResult( p ); break;
case CMD_GUILD_JOIN_CONFIRM_OK : RecvGuildJoinConfirmOk( p, cn ); break;
case CMD_GUILD_JOIN_CONFIRM_NOT : RecvGuildJoinConfirmNot( p, cn ); break;
case CMD_SCAN_TARGET : RecvScanTarget( cn ); break;
case CMD_GUILD_ALL_MSG : RecvGuildAllMsg( p, cn ); break;
case CMD_GUILD_ALL_MSG_RECV : RecvGuildAllMsg_FromServer( p ); break;
case CMD_GUILD_EACH_LEVEL : RecvChangeGuildEachLevel( p, cn ); break;
case CMD_GM_REGIST_GAMEMAKEMODE : RecvGmRegist( p, cn, 1 ); break;
case CMD_GM_REGIST2 :
case CMD_GM_REGIST : RecvGmRegist( p, cn ); break;
case CMD_BBS_ALL : DirectSend( p ); break;
case CMD_COME_OUT_GM_FROM_LOGIN : DirectSend( p, p->h.header.type ); break;
case CMD_REQ_STOP_WAR_TO_LOGIN : RecvReqStopWarGame2Login( p, cn ); break;
case CMD_REQ_STOP_WAR_TO_CLIENT : RecvReqStopWarGame2Client( p ); break; // 肺弊牢辑滚俊辑 罐篮 屈怕
case CMD_REP_STOP_WAR_REFUSAL_TO_LOGIN : RecvRepStopWarRefusal( p ); break; // 绒傈 夸没捞 芭例寸沁促.
case CMD_REP_STOP_WAR_REFUSAL_TO_CLIENT : CallClient( p->u.kein.default_short_int, CMD_REP_STOP_WAR_REFUSAL_TO_CLIENT ); break; // 努扼捞攫飘肺 焊郴霖促.
case CMD_REP_STOP_WAR_ACCEPT_TO_LOGIN : RecvRepStopWarAccept( p, cn ); break; // 绒傈 夸没 铰倡
case CMD_REP_STOP_WAR_ACCEPT_TO_CLIENT : RecvRepStopWarGame2Client( p ); break; // 葛滴俊霸 谎妨林磊
case CMD_REQ_SALVATION_MONEY : RecvAndReqSalvation( cn ); break; // 努扼捞攫飘俊辑 db肺
case CMD_SALVATION_MONEY : RecvAndSaveSalvation( p, cn ); break; // 努扼捞攫飘俊辑 db肺
case CMD_DB2GAME_SALVATION : Game2ClinetSalvation( p ); break;
case CMD_MSG_ALL_SALVATION_TOTAL_MONEY : DirectSend( p ); break;
case CMD_SERVER_EACH_ITEM : RecvDB2MapItem( p ); break;
case CMD_CHANGE_MONEY : RecvChangeMoney( p, cn ); break;
case CMD_EAT_CHOCOLATE_OK : RecvEatChocolateOk( p ); break;
case CMD_PAY_RUMOR : RecvPayRumor(cn); break;
case CMD_PAY_RUMOR_OK : RecvAndSendRumor( p ); break;
case CMD_OPENSCHOOL_DATA_OK : RecvOpenSchoolResult( p ); break;
case CMD_GUILD_EXIT_COMMAND_GLOBAL : RecvGuildExitGlobal( p, cn ); break;
case CMD_GUILD_EXIT_COMMAND_GLOBAL_LET : RecvGuildExitGlobalFromDB( p ); break;
case CMD_EAT_CANDY_OK:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -