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
1656 {
1657 if (GetManOwner().IsAlive() == false)
1658 return super.TakeToDst(mode, src, dst);
1659
1660 #ifdef ENABLE_LOGGING
1662 {
1664 }
1665 #endif
1666
1667 switch (mode)
1668 {
1670 if (RedirectToHandEvent(mode, src, dst))
1671 {
1672 #ifdef ENABLE_LOGGING
1674 {
1676 }
1677 #endif
1678
1679 return true;
1680 }
1681
1682
1683 if (
GetDayZPlayerOwner().NeedInventoryJunctureFromServer(src.GetItem(), src.GetParent(), dst.GetParent()))
1684 {
1686 {
1687#ifdef ENABLE_LOGGING
1689 {
1691 }
1692#endif
1693 }
1694 else
1695 {
1696#ifdef ENABLE_LOGGING
1698 {
1700 }
1701
1703 {
1705 }
1706#endif
1707
1708 return false;
1709 }
1710
1711 }
1712
1715
1717
1718#ifdef ENABLE_LOGGING
1720 {
1722 }
1723#endif
1724
1726
1727 #ifdef ENABLE_LOGGING
1729 {
1731 }
1732 #endif
1733 return true;
1734
1736 LocationSyncMoveEntity(src, dst);
1737 return true;
1738 }
1739 if (!super.TakeToDst(mode,src,dst))
1740 {
1742 }
1743 return true;
1744 }
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()
proto native CGame GetGame()