mirror of
				https://github.com/TES3MP/openmw-tes3mp.git
				synced 2025-10-31 07:56:42 +00:00 
			
		
		
		
	[Server] Don't crash server every time a player disconnects. Again.
This commit is contained in:
		
							parent
							
								
									13a47b400d
								
							
						
					
					
						commit
						ec4d016100
					
				
					 3 changed files with 6 additions and 7 deletions
				
			
		|  | @ -169,9 +169,8 @@ void CellController::removePlayer(Cell *cell, Player *player) | |||
| 
 | ||||
| void CellController::deletePlayer(Player *player) | ||||
| { | ||||
|     std::deque<Cell *> playerCells = player->getCells(); | ||||
| 
 | ||||
|     for_each(playerCells.begin(), playerCells.end(), [&player](Cell *cell) { | ||||
|     for_each(player->getCells()->begin(), player->getCells()->end(), [&player](Cell *cell) { | ||||
|         for (auto it = cell->begin(); it != cell->end(); ++it) | ||||
|         { | ||||
|             if (*it == player) | ||||
|  |  | |||
|  | @ -138,16 +138,16 @@ std::chrono::steady_clock::time_point Player::getLastAttackerTime() | |||
|     return lastAttackerTime; | ||||
| } | ||||
| 
 | ||||
| CellController::TContainer Player::getCells() | ||||
| CellController::TContainer *Player::getCells() | ||||
| { | ||||
|     return cells; | ||||
|     return &cells; | ||||
| } | ||||
| 
 | ||||
| void Player::sendToLoaded(mwmp::PlayerPacket *myPacket) | ||||
| { | ||||
|     std::list <Player*> plList; | ||||
| 
 | ||||
|     for (auto cell : getCells()) | ||||
|     for (auto cell : *getCells()) | ||||
|         for (auto pl : *cell) | ||||
|             plList.push_back(pl); | ||||
| 
 | ||||
|  | @ -165,7 +165,7 @@ void Player::forEachLoaded(std::function<void(Player *pl, Player *other)> func) | |||
| { | ||||
|     std::list <Player*> plList; | ||||
| 
 | ||||
|     for (auto cell : getCells()) | ||||
|     for (auto cell : *getCells()) | ||||
|         for (auto pl : *cell) | ||||
|             plList.push_back(pl); | ||||
| 
 | ||||
|  |  | |||
|  | @ -70,7 +70,7 @@ public: | |||
| 
 | ||||
|     virtual ~Player(); | ||||
| 
 | ||||
|     CellController::TContainer getCells(); | ||||
|     CellController::TContainer *getCells(); | ||||
|     void sendToLoaded(mwmp::PlayerPacket *myPacket); | ||||
| 
 | ||||
|     void forEachLoaded(std::function<void(Player *pl, Player *other)> func); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue