本文整理汇总了C++中Slayer::getZoneID方法的典型用法代码示例。如果您正苦于以下问题:C++ Slayer::getZoneID方法的具体用法?C++ Slayer::getZoneID怎么用?C++ Slayer::getZoneID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Slayer
的用法示例。
在下文中一共展示了Slayer::getZoneID方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execute
////////////////////////////////////////////////////////////////////////////////
// 액션을 실행한다.
////////////////////////////////////////////////////////////////////////////////
void ActionWarpToNoviceZone::execute (Creature * pNPC , Creature * pCreature)
throw(Error)
{
__BEGIN_TRY
__BEGIN_DEBUG
Assert(pCreature != NULL);
Assert(pCreature->isPC());
if (!pCreature->isSlayer() ) return;
Slayer* pSlayer = dynamic_cast<Slayer*>(pCreature);
ZoneID_t ZoneID = pSlayer->getZoneID();
ZoneCoord_t X = pSlayer->getX();
ZoneCoord_t Y = pSlayer->getY();
Attr_t totalAttr = pSlayer->getTotalAttr(ATTR_BASIC);
GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pCreature->getPlayer());
bool bTransport = true;
if (totalAttr <= 40 )
{
ZoneID = m_NoviceZoneID;
X = m_NoviceX;
Y = m_NoviceY;
}
else if (totalAttr <= 60 )
{
ZoneID = m_BeginnerZoneID;
X = m_BeginnerX;
Y = m_BeginnerY;
}
else
{
GCSystemMessage gcSystemMessage;
gcSystemMessage.setMessage(g_pStringPool->getString(STRID_NOT_BEGINNER ));
pGamePlayer->sendPacket (&gcSystemMessage);
bTransport = false;
}
//Zone* pZone = pCreature->getZone();
#if defined(__PAY_SYSTEM_ZONE__) || defined(__PAY_SYSTEM_FREE_LIMIT__)
try {
ZoneInfo* pZoneInfo = g_pZoneInfoManager->getZoneInfo(ZoneID);
// 유료존인데 유료사용자가 아니면...
if (pZoneInfo==NULL
|| pZoneInfo->isPayPlay() && !pGamePlayer->isPayPlaying())
{
string connectIP = pGamePlayer->getSocket()->getHost();
// 유료 서비스 사용이 가능한가?
if (pGamePlayer->loginPayPlay(connectIP, pGamePlayer->getID()))
{
sendPayInfo(pGamePlayer);
}
else
{
// 유료 서비스 사용 불가인 경우
GCSystemMessage gcSystemMessage;
if (g_pConfig->getPropertyInt("IsNetMarble")==0)
{
gcSystemMessage.setMessage(g_pStringPool->getString(STRID_CANNOT_ENTER_PAY_ZONE));
}
else
{
gcSystemMessage.setMessage(g_pStringPool->getString(STRID_CANNOT_ENTER));
}
pGamePlayer->sendPacket (&gcSystemMessage);
bTransport = false;
}
}
} catch (NoSuchElementException&) {
}
#endif
if (bTransport)
{
transportCreature(pCreature, ZoneID, X, Y, true);
}
else
{
if (pNPC != NULL )
{
GCNPCResponse response;
response.setCode(NPC_RESPONSE_QUIT_DIALOGUE);
pGamePlayer->sendPacket(&response);
}
//.........这里部分代码省略.........