#ifndef _RYL_ADMIN_MGR_DISPATCH_H_ #define _RYL_ADMIN_MGR_DISPATCH_H_ #include #include #include namespace PktAdminMgr { struct PktCreateItem; struct PktUpdateItem; struct PktRemoveItem; struct PktItemReset; }; namespace ItemData { class CDepositLock; }; /*! \class CRylAdminMgrDispatch ¿î¿µ Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ ¹ÞÀº ÆÐŶ ó¸® */ class CRylAdminMgrDispatch : public CRylServerDispatch { public: CRylAdminMgrDispatch(CSession& Session); virtual void Destroy(void); // °´Ã¼ ÆÄ±« À̺¥Æ® virtual void Disconnected(void); // Á¢¼Ó ²÷±è À̺¥Æ® virtual void Connected(void); bool SendResult(unsigned char cResult); // °á°ú ÆÐŶ º¸³»±â bool SendResultnRequestKey(unsigned char cResult, unsigned long dwRequestKey); // °á°ú ÆÐŶ°ú ¸®Äù½ºÆ® Ű º¸³»±â private: virtual bool DispatchPacket(PktBase* lpPktBase); // ¹ÞÀº ÆÐŶ ó¸® bool PktAuthority(); // »ç¿ë ±ÇÇÑ ¾øÀ½ ¾Ë¸®±â bool PktUnkonwnPacket(); // ¾Ë ¼ö ¾ø´Â ÆÐŶÀ» ¹Þ¾ÒÀ» °æ¿ì ó¸® // ¿î¿µ °èÁ¤ °ü¸® bool PktLogin (PktBase* lpPktBase); // ¿î¿µÀÚ ·Î±×ÀÎ bool PktNewAdmin (PktBase* lpPktBase); // »õ ¿î¿µ °èÁ¤ »ý¼º bool PktAdminList (PktBase* lpPktBase=0); // µî·ÏµÈ ¿î¿µ °èÁ¤ ¸®½ºÆ® ¿äû bool PktDelAdmin (PktBase* lpPktBase); // ¿î¿µ °èÁ¤ »èÁ¦ bool PktUpdateLev (PktBase* lpPktBase); // ¿î¿µ °èÁ¤LV º¯°æ bool PktUpdateIP (PktBase* lpPktBase); // ¿î¿µ °èÁ¤ Á¢¼Ó Á¦ÇÑ IPº¯°æ bool PktUpdatePasswd (PktBase* lpPktBase); // ¿î¿µ°èÁ¤ ÆÐ½º º¯°æ bool PktLogList (PktBase* lpPktBase); // Åø »ç¿ë³»¿ª ¿äû bool PktDetailLog (PktBase* lpPktBase); // »ó¼¼ »ç¿ë³»¿ª ¿äû bool PktBeforAfter (PktBase* lpPktBase); // ¼öÁ¤ÀüÈÄ ³»¿ª ¿äû bool PktLogUseMessage (PktBase* lpPktBase); // Åø »ç¿ë³»¿ª ±â·Ï // ij¸¯ÅÍ Á¤º¸ ¼öÁ¤ bool PktSearchID (PktBase* lpPktBase); // ij¸¯ÅÍ °Ë»ö (UID, CID) bool PktSearchName (PktBase* lpPktBase); // ij¸¯ÅÍ °Ë»ö (°èÁ¤¸í, ij¸¯¸í) bool PktCloseCharacter (PktBase* lpPktBase); // ij¸¯ ¼öÁ¤ µ¶Á¡±Ç ÇØÁ¦ bool PktUpdateStatus (PktBase* lpPktBase); // ij¸¯ÅÍ ½ºÅ×ÀÌÅͽº ¼öÁ¤ bool PktCreateItem (PktBase* lpPktBase); // ¾ÆÀÌÅÛ »ý¼º bool PktUpdateItem (PktBase* lpPktBase); // ¾ÆÀÌÅÛ ¼öÁ¤ bool PktRemoveItem (PktBase* lpPktBase); // ¾ÆÀÌÅÛ »èÁ¦ bool PktItemReset (PktBase* lpPktBase); // °¢Á¾ ¾ÆÀÌÅÛ ÄÁÅ×ÀÌ³Ê ÃʱâÈ­ bool PktSkillEdit (PktBase* lpPktBase); // ½ºÅ³ °ü·Ã (¼öÁ¤, Ãß°¡, »èÁ¦) bool PktChangePos (PktBase* lpPktBase); // ij¸¯ÅÍ À§Ä¡ Á¤º¸ ¼öÁ¤ bool PktDepositPasswd (PktBase* lpPktBase); // â°í ÆÐ½º¿öµå º¯°æ bool PktChangeName (PktBase* lpPktBase); // ij¸¯¸í º¯°æ bool PktSetGold (PktBase* lpPktBase); // Àκ¥Å丮 °ñµå ¼öÁ¤ bool PktInvenGold (PktBase* lpPktBase); // Àκ¥Å丮 °ñµå ¼öÁ¤ 2 bool PktStoreGoldUpdate (PktBase* lpPktBase); // â°í °ñµå ¼öÁ¤ bool PktCancelExecuteQuest (PktBase* lpPktBase); // ¼öÇà ÁßÀÎ Äù½ºÆ® Ãë¼Ò bool PktDeleteHistoryQuest (PktBase* lpPktBase); // ¿Ï·áÇÑ Äù½ºÆ® ¸ñ·Ï¿¡¼­ Á¦°Å bool PktUserNation (PktBase* lpPktBase); // °èÁ¤ÀÇ ±¹Àû ¾ò±â bool PktStoreTabEdit (PktBase* lpPktBase); // â°í ÅÇ ¼öÁ¤ bool PktNameChangeCount (PktBase* lpPktBase); // ij¸¯¸í º¯°æ ±âȸ ¼öÁ¤ bool PktGetCharacter (PktBase* lpPktBase); // ij¸¯ÅÍ Á¤º¸ ¾ò±â bool PktSetCharacter (PktBase* lpPktBase); // ij¸¯Å͸¦ ¼öÁ¤ÇÑ Á¤º¸ ÀúÀå bool PktDelCharacter (PktBase* lpPktBase); // ij¸¯ÅÍ »èÁ¦ (º¸·ù±â´É) // ±æµå bool PktGuildSearch (PktBase* lpPktBase); // ±æµå °Ë»ö bool PktRequestGuildMemberList (PktBase* lpPktBase); // ±æµå ¸â¹ö ¸®½ºÆ® ¿äû bool PktGuildRestoreDataList (PktBase* lpPktBase); // Áö¿öÁø ±æµå ¸®½ºÆ® ¿äû bool PktGuildRight (PktBase* lpPktBase); // ±æµå ±ÇÇÑ bool PktGuildMemberEdit (PktBase* lpPktBase); // ±æµå ¸â¹ö ±ÇÇÑ ¼öÁ¤, ÃàÃâ //¿ä»õ bool PktFortSearch (PktBase* lpPktBase); // ¿ä»õ °Ë»ö bool PktMiningCamp (PktBase* lpPktBase); // ä±¼¿ä»õ Á¤º¸ ¾ò±â bool PktShopCamp (PktBase* lpPktBase); // »óÁ¡¿ä»õ Á¤º¸ ¾ò±â bool PktShopCampGold (PktBase* lpPktBase); // »óÁ¡¿ä»õ °ñµå ¼öÁ¤ bool PktShopCampTax (PktBase* lpPktBase); // »óÁ¡¿ä»õ ¼¼±Ý ¼öÁ¤ //¼º bool PktCastleSearch (PktBase* lpPktBase); // ¼º °Ë»ö bool PktCastleCreature (PktBase* lpPktBase); // ¼º °Ë»ö // ¿î¿µ â°í bool SendAdminStoreList (void); // ¿î¿µÀÚ Ã¢°í Á¤º¸ º¸³»±â bool PktAdminStoreInsert (PktBase* lpPktBase); // ¿î¿µÀÚ Ã¢°í »ç¿ë (¾ÆÀÌÅÛ µî·Ï) bool PktAdminStoreDelete (PktBase* lpPktBase); // ¿î¿µÀÚ Ã¢°í »ç¿ë (¾ÆÀÌÅÛ »èÁ¦) bool PktGetAdminStoreItem (PktBase* lpPktBase); // ¿î¿µÀÚ Ã¢°í ¾ÆÀÌÅÛ Á¤º¸ ¿äû bool PktUpdateAdminStore (PktBase* lpPktBase); // ¿î¿µÀÚ Ã¢°í »ç¿ë (¾ÆÀÌÅÛ ¼öÁ¤) // º¹±¸ ¹× ºí·° bool PktDelCharList (PktBase* lpPktBase); // »èÁ¦µÈ ij¸¯ÅÍ ¸ñ·Ï °Ë»ö bool PktCharRestore (PktBase* lpPktBase); // ij¸¯ÅÍ º¹±¸ bool PktSearchBlock (PktBase* lpPktBase); // ºí·° ¸ñ·Ï °Ë»ö bool PktAddBlockUser (PktBase* lpPktBase); // ºí·° bool PktDelBlockUser (PktBase* lpPktBase); // ºí·° ÇØÁ¦ // ¼­¹ö ÅëÇÕ °ü·Ã bool PktUnifiedCharInfo (PktBase* lpPktBase); // ÅëÇÕ Ä³¸¯ÅÍ Á¤º¸ bool PktUnifiedGuildInfo (PktBase* lpPktBase); // ÅëÇÕ ±æµå Á¤º¸ bool PktDetailCharInfo (PktBase* lpPktBase); // ÅëÇÕ Ä³¸¯ÅÍ »ó¼¼ Á¤º¸ // ±âŸ bool PktGameAdmin (PktBase* lpPktBase); // °ÔÀÓ ¿î¿µÀÚ °ü·Ã bool PktItemQtyControlData (PktBase* lpPktBase); // À̺¥Æ® ¾ÆÀÌÅÛ ¼ö·® Á¦¾î bool PktCheckName (PktBase* lpPktBase); // ij¸¯¸í Áߺ¹ üũ bool PktForcedDis (PktBase* lpPktBase); // °­Á¦ Á¢¼Ó ²÷±â bool PktUserBillingLogRequest (PktBase* lpPktBase); // À¯Àú °ú±Ý ³»¿ª ·Î±× ¿äû bool PktSetZoneList (PktBase* lpPktBase); // Á¸ ÁÂÇ¥ ÅÛÇø´ ÀúÀå bool SendZoneList (void); // Á¸ ÁÂÇ¥ ÅÛÇø´ ¸®½ºÆ® º¸³»±â bool PktConnectAllServerz (PktBase* lpPktBase); // ¿î¿µ¼­¹ö¿¡¼­ ¸ðµç Áß°è¼­¹ö Á¢¼Ó bool SendConnectedServerIndex (void); // Á¢¼Ó ÁßÀÎ Áß°è¼­¹ö ¸®½ºÆ® º¸³»±â bool PktInterestedUser (PktBase* lpPktBase); // °ü½É À¯Àú °ü·Ã (µî·Ï, »èÁ¦, ¸®½ºÆ® ¿äû) bool ReqInterestedUserList (char* szQuery); // °ü½É À¯Àú ¸®½ºÆ® ¿äû bool PktConnectionChk (PktBase* lpPktBase); // Á¢¼Ó È®ÀÎ ¹× Á¢¼Ó Á¤º¸ ¿äû bool PktConnectedUserList (void); // Á¢¼ÓÇÑ °ü½É À¯Àú ¸®½ºÆ® º¸³»±â bool PktDuplicatedItem (PktBase* lpPktBase); // Áߺ¹ ¾ÆÀÌÅÛ °ü·Ã ÆÐŶ bool PktItemDistribute (PktBase* lpPktBase); // ¾ÆÀÌÅÛ ºÐ¹è bool PktShiftToUID (PktBase* lpPktBase); // UID, °èÁ¤¸í°£ º¯È¯ bool PktAmountOfGold (PktBase* lpPktBase); // ¼­¹ö±×·ì °ñµå·® È®ÀÎ bool PktGMLogMsg (PktBase* lpPktBase); // GM ·Î±× ¸Þ¼¼Áö (UID, CID ´ÜÀ§ ·Î±×) bool PktSearchCharInfoTime (PktBase* lpPktBase); // ij¸¯ÅÍ »ý¼º/¼öÁ¤ Á¤º¸ È®ÀÎ // Ack Àü¿ë bool PktNewAdminAck(char* szAccount); // ¿î¿µ °èÁ¤ »ý¼º Ack bool PktDelAdminAck(char* szAccount); // ¿î¿µ °èÁ¤ »èÁ¦ Ack bool PktUpdateLevAck(char* szAccount, unsigned char Level); // ¿î¿µ °èÁ¤LV º¯°æ Ack bool PktUpdateIPAck(char* szAccount, char* szIP); // ¿î¿µ °èÁ¤ Á¢¼Ó Á¦ÇÑ IPº¯°æ Ack bool PktSearchUIDAck(unsigned long UID, unsigned int nOldServerID, unsigned long dwKey, bool& bResult); // UID °Ë»ö Ack bool PktSearchCIDAck(unsigned long CID, unsigned long dwGroup, unsigned long dwKey, bool& bResult); // CID °Ë»ö Ack bool PktSearchResultAck (unsigned char Result, unsigned long dwRequestKey); // °Ë»ö °á°ú Ack CBuffer* MakeCreateItemAck(unsigned long dwRequestKey, unsigned long dwCID, unsigned __int64 dwItemID, unsigned short dwPrototypeID, PktAdminMgr::PktCreateItem* lpCreateItem); CBuffer* MakeUpdateItemAck(unsigned long dwRequestKey, unsigned long dwCID, unsigned __int64 dwItemID, unsigned short dwPrototypeID, PktAdminMgr::PktUpdateItem* lpUpdateItem); CBuffer* MakeRemoveItemAck(unsigned long dwRequestKey, unsigned long dwCID, unsigned __int64 dwItemID, unsigned short dwPrototypeID, PktAdminMgr::PktRemoveItem* lpRemoveItem); CBuffer* MakeItemResetAck(unsigned long dwRequestKey, unsigned long dwCID, PktAdminMgr::PktItemReset* lpPktItemReset); bool DepositCheckIt(ItemData::CDepositLock& DepositLock, unsigned long dwUID, unsigned long dwCID); // â°í »ç¿ë °¡´É ¿©ºÎ ÆÇº° bool m_bLogin; // ·Î±×ÀÎ ¿©ºÎ unsigned char m_MyAuthority; // ÇöÀç ·Î±×ÀÎµÈ °ü¸®ÀÚÀÇ ±ÇÇѸ¶½ºÅ© unsigned int m_MyUID; // Ŭ¶óÀÌ¾ðÆ® ½Äº°ÀÚ unsigned int m_MyLogID; // ¾÷µ¥ÀÌÆ®ÇÒ LogID unsigned int m_nAgentType; // Áß°è¼­¹ö ŸÀÔ unsigned int m_nIPCheck; // ¿î¿µÀÚ ·Î±×Àνà IP üũ char m_szToolNation[256]; // ±¹°¡ ŸÀÔ CDetailLog m_DetailLog; // DB¿¡ ·Î±× ³²±â±â À§ÇÑ ÀνºÅϽº char m_szAccount[20]; // Dispatch¸¦ »ç¿ëÇϰí ÀÖ´Â °ü¸®ÀÚ °èÁ¤ bool SendLoginInfo(char* szAccount); // °èÁ¤Á¤·Î¸¦ Ŭ¶óÀÌÀÌ¾ðÆ®·Î º¸³¿ bool SendAgentServerInfo(void); // Áß°è¼­¹ö¸í°ú À妽º¸¦ º¸³¿ char* GetItemState(unsigned char cTake); // ¾ÆÀÌÅÛ À§Ä¡ Á¤º¸ ¹®ÀÚ¿­ ¾ò±â unsigned char SetAuthorityMask(unsigned char cLV); }; #endif