cgstashlisthandler.cpp
来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 100 行
CPP
100 行
//////////////////////////////////////////////////////////////////////////////// Filename : CGStashListHandler.cpp// Written By : 辫己刮// Description : //////////////////////////////////////////////////////////////////////////////#include "CGStashList.h"#ifdef __GAME_SERVER__ #include "GamePlayer.h" #include "Slayer.h" #include "Vampire.h" #include "Ousters.h" #include "Stash.h" #include "Gpackets/GCStashList.h"#endifvoid CGStashListHandler::execute(CGStashList* pPacket , Player* pPlayer) throw (ProtocolException , Error){ __BEGIN_TRY __BEGIN_DEBUG_EX __BEGIN_DEBUG#ifdef __GAME_SERVER__ Assert(pPacket != NULL); Assert(pPlayer != NULL); ObjectID_t PlayerOID = pPacket->getObjectID(); GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer); Creature* pPC = pGamePlayer->getCreature(); // 菩哦俊辑狼 object id客 PC狼 object id啊 促福搁 救 登瘤. if (PlayerOID != pPC->getObjectID()) return; if (pPC->isSlayer()) { Slayer* pSlayer = dynamic_cast<Slayer*>(pPC); Stash* pStash = pSlayer->getStash(); Item* pItem = NULL; GCStashList pkt; pkt.setStashNum(pSlayer->getStashNum()); for (BYTE r=0; r<pSlayer->getStashNum(); r++) { for (BYTE i=0; i<STASH_INDEX_MAX; i++) { pItem = pStash->get(r, i); if (pItem != NULL) pkt.setStashItem(r, i, pItem); } } pkt.setStashGold(pSlayer->getStashGold()); pPlayer->sendPacket(&pkt); } else if (pPC->isVampire()) { Vampire* pVampire = dynamic_cast<Vampire*>(pPC); Stash* pStash = pVampire->getStash(); Item* pItem = NULL; GCStashList pkt; pkt.setStashNum(pVampire->getStashNum()); for (BYTE r=0; r<pVampire->getStashNum(); r++) { for (BYTE i=0; i<STASH_INDEX_MAX; i++) { pItem = pStash->get(r, i); if (pItem != NULL) pkt.setStashItem(r, i, pItem); } } pkt.setStashGold(pVampire->getStashGold()); pPlayer->sendPacket(&pkt); } else if (pPC->isOusters()) { Ousters* pOusters = dynamic_cast<Ousters*>(pPC); Stash* pStash = pOusters->getStash(); Item* pItem = NULL; GCStashList pkt; pkt.setStashNum(pOusters->getStashNum()); for (BYTE r=0; r<pOusters->getStashNum(); r++) { for (BYTE i=0; i<STASH_INDEX_MAX; i++) { pItem = pStash->get(r, i); if (pItem != NULL) pkt.setStashItem(r, i, pItem); } } pkt.setStashGold(pOusters->getStashGold()); pPlayer->sendPacket(&pkt); }#endif __END_DEBUG __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?