mirror of
https://github.com/TES3MP/TES3MP.git
synced 2025-09-26 14:36:40 -04:00
[Server] Send large ID_CONTAINER packets on a need-to-know basis
This commit is contained in:
parent
791089d342
commit
24251cafd0
@ -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…
x
Reference in New Issue
Block a user