1
0

- Default Notchian Ping (static until ping implemented through keepalive send/receive)

- Player "left" message regardless of exit reason

git-svn-id: http://mc-server.googlecode.com/svn/trunk@119 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
mtilden@gmail.com 2011-12-26 03:05:31 +00:00
parent 0321819ce8
commit f029b905d5
2 changed files with 12 additions and 4 deletions

View File

@ -124,6 +124,7 @@ cClientHandle::cClientHandle(const cSocket & a_Socket)
, m_bKeepThreadGoing( true ) , m_bKeepThreadGoing( true )
, m_bSendLoginResponse( false ) , m_bSendLoginResponse( false )
, m_pState( new sClientHandleState ) , m_pState( new sClientHandleState )
, m_Ping(1000)
{ {
LOG("cClientHandle::cClientHandle"); LOG("cClientHandle::cClientHandle");
@ -183,9 +184,16 @@ cClientHandle::~cClientHandle()
{ {
if ((*itr) && (*itr)->GetClientHandle() && strlen(GetUsername()) > 0) if ((*itr) && (*itr)->GetClientHandle() && strlen(GetUsername()) > 0)
{ {
cPacket_PlayerListItem *PlayerList = new cPacket_PlayerListItem(m_Player->GetColor() + GetUsername(), false, (short)9999); cPacket_PlayerListItem PlayerList(m_Player->GetColor() + GetUsername(), false, (short)9999);
(*itr)->GetClientHandle()->Send( *PlayerList ); (*itr)->GetClientHandle()->Send( PlayerList );
} }
}
if (m_pState && m_pState->Username.size() > 0)
{
cPacket_Chat Left( m_pState->Username + " left the game!");
cRoot::Get()->GetServer()->Broadcast( Left, this );
} }
// First stop sending thread // First stop sending thread

View File

@ -239,8 +239,8 @@ void cPlayer::Tick(float a_Dt)
for( cWorld::PlayerList::iterator itr = PlayerList.begin(); itr != PlayerList.end(); ++itr ) for( cWorld::PlayerList::iterator itr = PlayerList.begin(); itr != PlayerList.end(); ++itr )
{ {
if ((*itr) && (*itr)->GetClientHandle() && !((*itr)->GetClientHandle()->IsDestroyed())) { if ((*itr) && (*itr)->GetClientHandle() && !((*itr)->GetClientHandle()->IsDestroyed())) {
cPacket_PlayerListItem *PlayerList = new cPacket_PlayerListItem(GetColor() + GetName(), true, (*itr)->GetClientHandle()->GetPing()); cPacket_PlayerListItem PlayerList(GetColor() + GetName(), true, (*itr)->GetClientHandle()->GetPing());
(*itr)->GetClientHandle()->Send( *PlayerList ); (*itr)->GetClientHandle()->Send( PlayerList );
} }
} }