actionwarplevelwarzone.cpp
来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 123 行
CPP
123 行
////////////////////////////////////////////////////////////////////////////////// Filename : ActionWarpLevelWarZone.cpp// Written By : // Description :////////////////////////////////////////////////////////////////////////////////#include "ActionWarpLevelWarZone.h"#include "Creature.h"#include "GamePlayer.h"#include "NPC.h"#include "Utility.h"#include "ZoneInfo.h"#include "ZoneUtil.h"#include "PacketUtil.h"#include "Properties.h"#include "StringPool.h"#include "VariableManager.h"#include "ZoneInfoManager.h"#include "LevelWarManager.h"#include "LevelWarZoneInfoManager.h"#include "Gpackets/GCSystemMessage.h"////////////////////////////////////////////////////////////////////////////////// read from PropertyBuffer////////////////////////////////////////////////////////////////////////////////void ActionWarpLevelWarZone::read (PropertyBuffer & propertyBuffer) throw (Error){ __BEGIN_TRY __END_CATCH}////////////////////////////////////////////////////////////////////////////////// 咀记阑 角青茄促.////////////////////////////////////////////////////////////////////////////////void ActionWarpLevelWarZone::execute (Creature * pCreature1 , Creature * pCreature2) throw (Error){ __BEGIN_TRY Assert( pCreature2 != NULL ); Assert( pCreature2->isPC() ); GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pCreature2->getPlayer()); GCSystemMessage gcSystemMessage; if ( g_pVariableManager->getVariable( ACTIVE_LEVEL_WAR ) == 0 ) { gcSystemMessage.setMessage( g_pStringPool->getString( STRID_CANNOT_ENTER ) ); pGamePlayer->sendPacket( &gcSystemMessage ); return; } // 饭骇 呈公 臭篮 某腐磐绰 甸绢哎 荐 绝促 if ( g_pLevelWarZoneInfoManager->getCreatureLevelGrade( pCreature2 ) == -1 ) { gcSystemMessage.setMessage( g_pStringPool->getString( STRID_TO_HIGH_LEVEL_FOR_LEVEL_WAR ) ); pGamePlayer->sendPacket (&gcSystemMessage); return; } // 农府媚 沥焊 焊绊 舅酒辑 屁败林磊 =_=;; ZONE_COORD pos(g_pLevelWarZoneInfoManager->getCreatureZoneID( pCreature2 )); if ( pCreature2->isSlayer() ) { pos.x = 12; pos.y = 9; } else if ( pCreature2->isVampire() ) { pos.x = 117; pos.y = 8; } else if ( pCreature2->isOusters() ) { pos.x = 9; pos.y = 111; } #if defined(__PAY_SYSTEM_ZONE__) || defined(__PAY_SYSTEM_FREE_LIMIT__) Zone* pZone = getZoneByZoneID( pos.id ); Assert( pZone != NULL ); LevelWarManager* pLevelWarManager = pZone->getLevelWarManager(); Assert( pLevelWarManager != NULL ); if ( !pLevelWarManager->hasWar() && !g_pVariableManager->canEnterLevelWarZoneFree() && !pGamePlayer->isPayPlaying() && !pLevelWarManager->canEnterFreeUser() ) { gcSystemMessage.setMessage( g_pStringPool->getString( STRID_CANNOT_ENTER_LEVEL_WAR_ZONE ) ); pGamePlayer->sendPacket (&gcSystemMessage); return; }#endif transportCreature(pCreature2, pos.id, pos.x, pos.y, false); return; __END_CATCH}////////////////////////////////////////////////////////////////////////////////// get debug string////////////////////////////////////////////////////////////////////////////////string ActionWarpLevelWarZone::toString () const throw (){ __BEGIN_TRY StringStream msg; msg << "ActionWarpLevelWarZone(" << ")"; return msg.toString(); __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?