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
1666 {
1667 if (GetManOwner().IsAlive() == false)
1668 return super.TakeToDst(mode, src, dst);
1669
1670 #ifdef ENABLE_LOGGING
1672 {
1674 }
1675 #endif
1676
1677 switch (mode)
1678 {
1680 if (RedirectToHandEvent(mode, src, dst))
1681 {
1682 #ifdef ENABLE_LOGGING
1684 {
1686 }
1687 #endif
1688
1689 return true;
1690 }
1691
1692
1693 if (
GetDayZPlayerOwner().NeedInventoryJunctureFromServer(src.GetItem(), src.GetParent(), dst.GetParent()))
1694 {
1696 {
1697#ifdef ENABLE_LOGGING
1699 {
1701 }
1702#endif
1703 }
1704 else
1705 {
1706#ifdef ENABLE_LOGGING
1708 {
1710 }
1711
1713 {
1715 }
1716#endif
1717
1718 return false;
1719 }
1720
1721 }
1722
1725
1727
1728#ifdef ENABLE_LOGGING
1730 {
1732 }
1733#endif
1734
1736
1737 #ifdef ENABLE_LOGGING
1739 {
1741 }
1742 #endif
1743 return true;
1744
1746 LocationSyncMoveEntity(src, dst);
1747 return true;
1748 }
1749 if (!super.TakeToDst(mode,src,dst))
1750 {
1752 }
1753 return true;
1754 }
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()