Remote inputs are processed in sync juncture once performed on the server - this code below was executing the inventory command before the player simulation timeestamp for remotes which is illegal
3729 {
3730 if (GetManOwner().IsAlive() == false)
3731 return super.TakeToDst(mode, src, dst);
3732
3733 #ifdef ENABLE_LOGGING
3735 {
3737 }
3738 #endif
3739
3740 switch (mode)
3741 {
3743 if (RedirectToHandEvent(mode, src, dst))
3744 {
3745 #ifdef ENABLE_LOGGING
3747 {
3749 }
3750 #endif
3751
3752 return true;
3753 }
3754
3755
3756 if (
GetDayZPlayerOwner().NeedInventoryJunctureFromServer(src.GetItem(), src.GetParent(), dst.GetParent()))
3757 {
3759 {
3760#ifdef ENABLE_LOGGING
3762 {
3764 }
3765#endif
3766 }
3767 else
3768 {
3769#ifdef ENABLE_LOGGING
3771 {
3773 }
3774
3776 {
3778 }
3779#endif
3780
3781 return false;
3782 }
3783
3784 }
3785
3788
3790
3791#ifdef ENABLE_LOGGING
3793 {
3795 }
3796#endif
3797
3799
3800 #ifdef ENABLE_LOGGING
3802 {
3804 }
3805 #endif
3806 return true;
3807
3809 LocationSyncMoveEntity(src, dst);
3810 return true;
3811 }
3812 if (!super.TakeToDst(mode,src,dst))
3813 {
3815 }
3816 return true;
3817 }
void syncDebugPrint(string s)
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
DayZPlayer GetDayZPlayerOwner()
override bool PostDeferredEventTakeToDst(InventoryMode mode, notnull InventoryLocation src, notnull InventoryLocation dst)
static const int SJ_INVENTORY
static void InventoryMoveLog(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
const int c_InventoryReservationTimeoutMS
reservations
script counterpart to engine's class Inventory
static string DumpToStringNullSafe(InventoryLocation loc)
static bool IsSyncLogEnable()
static bool IsInventoryMoveLogEnable()