[Client] Avoid sending repeated ObjectDelete packets about an object

pull/526/head
David Cernat 5 years ago
parent 7523a73346
commit f6db7d4fc5

@ -778,10 +778,14 @@ namespace MWScript
Start of tes3mp addition
Send an ID_OBJECT_DELETE packet every time an object is deleted
through a script
through a script, as long as we haven't already communicated
a deletion for it
*/
if (mwmp::Main::get().getLocalPlayer()->isLoggedIn())
if (mwmp::Main::get().getLocalPlayer()->isLoggedIn() &&
ptr.getRefData().getLastCommunicatedState() != MWWorld::RefData::StateCommunication::Deleted)
{
ptr.getRefData().setLastCommunicatedState(MWWorld::RefData::StateCommunication::Deleted);
mwmp::ObjectList *objectList = mwmp::Main::get().getNetworking()->getObjectList();
objectList->reset();
objectList->packetOrigin = ScriptController::getPacketOriginFromContextType(runtime.getContext().getContextType());

@ -150,7 +150,8 @@ namespace MWWorld
{
None = 0,
Enabled = 1,
Disabled = 2
Disabled = 2,
Deleted = 3
};
private:

Loading…
Cancel
Save