forked from teamnwah/openmw-tes3coop
[Server] Send large ID_CONTAINER packets on a need-to-know basis
This commit is contained in:
parent
791089d342
commit
24251cafd0
2 changed files with 9 additions and 2 deletions
|
@ -50,7 +50,7 @@ void Cell::sendToLoaded(mwmp::WorldPacket *worldPacket, mwmp::BaseEvent *baseEve
|
|||
for (auto pl : plList)
|
||||
{
|
||||
if (pl->guid == baseEvent->guid) continue;
|
||||
worldPacket->Send(baseEvent, pl->guid);
|
||||
worldPacket->Send(baseEvent, pl->guid);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -598,7 +598,14 @@ void Networking::processWorldPacket(RakNet::Packet *packet)
|
|||
player->npc.mName.c_str());
|
||||
|
||||
myPacket->Read(baseEvent);
|
||||
myPacket->Send(baseEvent, true);
|
||||
|
||||
// Until we have a timestamp-based system, send packets pertaining to more
|
||||
// than one container (i.e. replies to server requests for container contents)
|
||||
// only to players who have the container's cell loaded
|
||||
if (baseEvent->action == BaseEvent::SET && baseEvent->objectChanges.count > 1)
|
||||
CellController::get()->getCell(&baseEvent->cell)->sendToLoaded(myPacket, baseEvent);
|
||||
else
|
||||
myPacket->Send(baseEvent, true);
|
||||
|
||||
Script::Call<Script::CallbackIdentity("OnContainer")>(
|
||||
player->getId(),
|
||||
|
|
Loading…
Reference in a new issue