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
1899 {
1900 if (GetManOwner().IsAlive() == false)
1901 return super.TakeToDst(mode, src, dst);
1902
1903 #ifdef ENABLE_LOGGING
1905 {
1907 }
1908 #endif
1909
1910 switch (mode)
1911 {
1913 if (RedirectToHandEvent(mode, src, dst))
1914 {
1915 #ifdef ENABLE_LOGGING
1917 {
1919 }
1920 #endif
1921
1922 return true;
1923 }
1924
1925
1926 if (
GetDayZPlayerOwner().NeedInventoryJunctureFromServer(src.GetItem(), src.GetParent(), dst.GetParent()))
1927 {
1929 {
1930#ifdef ENABLE_LOGGING
1932 {
1934 }
1935#endif
1936 }
1937 else
1938 {
1939#ifdef ENABLE_LOGGING
1941 {
1943 }
1944
1946 {
1948 }
1949#endif
1950
1951 return false;
1952 }
1953
1954 }
1955
1958
1960
1961#ifdef ENABLE_LOGGING
1963 {
1965 }
1966#endif
1967
1969
1970 #ifdef ENABLE_LOGGING
1972 {
1974 }
1975 #endif
1976 return true;
1977
1979 LocationSyncMoveEntity(src, dst);
1980 return true;
1981 }
1982 if (!super.TakeToDst(mode,src,dst))
1983 {
1985 }
1986 return true;
1987 }
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()