本文整理汇总了C++中Transport::GetOrientation方法的典型用法代码示例。如果您正苦于以下问题:C++ Transport::GetOrientation方法的具体用法?C++ Transport::GetOrientation怎么用?C++ Transport::GetOrientation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transport
的用法示例。
在下文中一共展示了Transport::GetOrientation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HandlePlayerLoginOpcode
//.........这里部分代码省略.........
struct tm *lt = localtime(&gameTime);
uint32 xmitTime = (lt->tm_year - 100) << 24 | lt->tm_mon << 20 |
(lt->tm_mday - 1) << 14 | lt->tm_wday << 11 |
lt->tm_hour << 6 | lt->tm_min;
data << xmitTime;
data << (uint32)0x3C888889; //(float)0.017f;
SendPacket( &data );
//Show cinematic at the first time that player login
if( !GetPlayer()->getCinematic() )
{
GetPlayer()->setCinematic(1);
ChrRacesEntry const* rEntry = sChrRacesStore.LookupEntry(GetPlayer()->getRace());
if(rEntry)
{
data.Initialize( SMSG_TRIGGER_CINEMATIC,4 );
data << uint32(rEntry->startmovie);
SendPacket( &data );
}
}
QueryResult *result = sDatabase.PQuery("SELECT `guildid`,`rank` FROM `guild_member` WHERE `guid` = '%u'",pCurrChar->GetGUIDLow());
if(result)
{
Field *fields = result->Fetch();
pCurrChar->SetInGuild(fields[0].GetUInt32());
pCurrChar->SetRank(fields[1].GetUInt32());
delete result;
}
MapManager::Instance().GetMap(pCurrChar->GetMapId())->Add(pCurrChar);
ObjectAccessor::Instance().InsertPlayer(pCurrChar);
//sLog.outDebug("Player %s added to Map.",pCurrChar->GetName());
if (pCurrChar->m_transport)
{
Transport* curTrans = pCurrChar->m_transport;
pCurrChar->TeleportTo(curTrans->GetMapId(), curTrans->GetPositionX(), curTrans->GetPositionY(), curTrans->GetPositionZ(), curTrans->GetOrientation(), true, false);
}
sDatabase.PExecute("UPDATE `character` SET `online` = 1 WHERE `guid` = '%u'", pCurrChar->GetGUIDLow());
loginDatabase.PExecute("UPDATE `account` SET `online` = 1 WHERE `id` = '%u'", GetAccountId());
plr->SetInGameTime( getMSTime() );
data.Initialize(SMSG_FRIEND_STATUS, 19);
data<<uint8(FRIEND_ONLINE);
data<<pCurrChar->GetGUID();
data<<uint8(1);
data<<pCurrChar->GetAreaId();
data<<pCurrChar->getLevel();
data<<pCurrChar->getClass();
pCurrChar->BroadcastPacketToFriendListers(&data);
// setting new speed if dead
if ( pCurrChar->m_deathState == DEAD )
{
pCurrChar->SetMovement(MOVE_WATER_WALK);
if (pCurrChar->getRace() == RACE_NIGHTELF)
{
pCurrChar->SetSpeed(MOVE_RUN, 1.5f*1.2f, true);
pCurrChar->SetSpeed(MOVE_SWIM, 1.5f*1.2f, true);
}
else
{
pCurrChar->SetSpeed(MOVE_RUN, 1.5f, true);
pCurrChar->SetSpeed(MOVE_SWIM, 1.5f, true);
}
}
pCurrChar->LoadEnchant();
pCurrChar->_LoadSpellCooldowns();
// Place charcter in world (and load zone) before some object loading
pCurrChar->LoadCorpse();
pCurrChar->LoadPet();
// show time before shutdown if shudown planned.
if(sWorld.IsShutdowning())
sWorld.ShutdownMsg(true,pCurrChar);
result = sDatabase.PQuery("SELECT `leaderGuid` FROM `raidgroup_member` WHERE `memberGuid`='%u'", GUID_LOPART(pCurrChar->GetGUID()));
if(result)
{
uint64 leaderGuid = MAKE_GUID((*result)[0].GetUInt32(),HIGHGUID_PLAYER);
delete result;
pCurrChar->groupInfo.group = objmgr.GetGroupByLeader(leaderGuid);
if(pCurrChar->groupInfo.group)
{
pCurrChar->groupInfo.group->SendInit(this);
pCurrChar->groupInfo.group->SendUpdate();
}
}
if(pCurrChar->isGameMaster())
SendNotification("GM mode is ON");
m_playerLoading = false;
}
示例2: HandlePlayerLoginOpcode
void WorldSession::HandlePlayerLoginOpcode( WorldPacket & recv_data )
{
CHECK_PACKET_SIZE(recv_data,8);
m_playerLoading = true;
uint64 playerGuid = 0;
DEBUG_LOG( "WORLD: Recvd Player Logon Message" );
recv_data >> playerGuid;
Player* plr = new Player(this);
// "GetAccountId()==db stored account id" checked in LoadFromDB (prevent login not own character using cheating tools)
if(!plr->LoadFromDB(GUID_LOPART(playerGuid)))
{
KickPlayer(); // disconnect client, player no set to session and it will not deleted or saved at kick
delete plr; // delete it manually
m_playerLoading = false;
return;
}
//plr->_RemoveAllItemMods();
//set a count of unread mails
time_t cTime = time(NULL);
QueryResult *resultMails = sDatabase.PQuery("SELECT COUNT(id) FROM `mail` WHERE `receiver` = '%u' AND `checked` = 0 AND `deliver_time` <= '" I64FMTD "'", GUID_LOPART(playerGuid),(uint64)cTime);
if (resultMails)
{
Field *fieldMail = resultMails->Fetch();
plr->unReadMails = fieldMail[0].GetUInt8();
delete resultMails;
}
// store nearest delivery time (it > 0 and if it < current then at next player update SendNewMaill will be called)
resultMails = sDatabase.PQuery("SELECT MIN(`deliver_time`) FROM `mail` WHERE `receiver` = '%u' AND `checked` = 0", GUID_LOPART(playerGuid));
if (resultMails)
{
Field *fieldMail = resultMails->Fetch();
plr->m_nextMailDelivereTime = (time_t)fieldMail[0].GetUInt64();
delete resultMails;
}
SetPlayer(plr);
Player *pCurrChar = GetPlayer();
pCurrChar->SendDungeonDifficulty();
WorldPacket data( SMSG_LOGIN_VERIFY_WORLD, 20 );
data << plr->GetMapId();
data << plr->GetPositionX();
data << plr->GetPositionY();
data << plr->GetPositionZ();
data << plr->GetOrientation();
SendPacket(&data);
data.Initialize( SMSG_ACCOUNT_DATA_MD5, 128 );
for(int i = 0; i < 32; i++)
data << uint32(0);
SendPacket(&data);
pCurrChar->LoadIgnoreList();
pCurrChar->SendFriendlist();
pCurrChar->SendIgnorelist();
// Send MOTD
{
data.Initialize(SMSG_MOTD, 50); // new in 2.0.1
data << (uint32)0;
uint32 linecount=0;
string str_motd = sWorld.GetMotd();
string::size_type pos, nextpos;
pos = 0;
while ( (nextpos= str_motd.find('@',pos)) != string::npos )
{
if (nextpos != pos)
{
data << str_motd.substr(pos,nextpos-pos);
linecount++;
}
pos = nextpos+1;
}
if (pos<str_motd.length())
{
data << str_motd.substr(pos);
linecount++;
}
data.put(0, linecount);
SendPacket( &data );
DEBUG_LOG( "WORLD: Sent motd (SMSG_MOTD)" );
}
if(pCurrChar->GetGuildId() != 0)
{
Guild* guild = objmgr.GetGuildById(pCurrChar->GetGuildId());
//.........这里部分代码省略.........