Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Protocol76::ReceiveLoop()
- {
- NetworkMessage msg;
- msg.setEncryptionState(true);
- msg.setEncryptionKey(m_key);
- do
- {
- while(pendingLogout == false && msg.ReadFromSocket(s))
- {
- parsePacket(msg);
- }
- if(s)
- {
- closesocket(s);
- s = 0;
- }
- // logout by disconnect? -> kick
- if(pendingLogout == false){
- game->playerSetAttackedCreature(player, 0);
- while(player->inFightTicks >= 1000 && player->isRemoved == false && s == 0)
- {
- OTSYS_SLEEP(250);
- }
- OTSYS_THREAD_LOCK(game->gameLock, "Protocol76::ReceiveLoop()")
- if(player->isRemoved == false)
- {
- if(s == 0)
- {
- game->removeCreature(player);
- }
- else
- {
- msg.setEncryptionKey(m_key);
- }
- }
- OTSYS_THREAD_UNLOCK(game->gameLock, "Protocol76::ReceiveLoop()")
- }
- }
- while(s != 0 && player->isRemoved == false);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement