TODO(kumarjac): We should continue with the execution and not have this special block but making a change here now will require testing
1137 {
1140 bool success = true;
1141
1143 return false;
1145 return false;
1146
1147#ifdef ENABLE_LOGGING
1149 {
1151 }
1152#endif
1153
1156
1157 if (success && itemSrc != itemDst)
1158 {
1159#ifdef ENABLE_LOGGING
1161 {
1163 }
1164
1166 {
1167 syncDebugPrint(
"[syncinv] ValidateSyncMoveServer Failed - src and dst are for different items src item =" + itemSrc +
" dst item =" + itemDst);
1168 }
1169#endif
1170
1171 success = false;
1172 }
1173
1175
1177 {
1178#ifdef ENABLE_LOGGING
1180 {
1182 }
1183
1185 {
1187 }
1188#endif
1189
1191
1192 success = false;
1193#ifdef DIAG_DEVELOPER
1194 if (PluginInventoryDebug.Cast(
GetPlugin(PluginInventoryDebug)).IsDesyncRepairEnable())
1195 {
1196#endif
1199 src.
GetItem().GetInventory().GetCurrentInventoryLocation(realIl);
1200
1201 if(src != realIl)
1202 {
1203 itemsToRepair.Insert(src.
GetItem());
1205 }
1206#ifdef DIAG_DEVELOPER
1207 }
1208#endif
1209 }
1210
1212 {
1213#ifdef ENABLE_LOGGING
1215 {
1217 }
1218
1220 {
1222 }
1223#endif
1224
1226
1228 success = false;
1229 }
1230
1232
1233#ifdef ENABLE_LOGGING
1235 {
1237 }
1238#endif
1239
1242 {
1243#ifdef ENABLE_LOGGING
1245 {
1247 }
1248#endif
1249 if (success)
1250 {
1252 LocationSyncMoveEntity(src, dst);
1253
1255 }
1256
1257 }
1259 {
1260#ifdef ENABLE_LOGGING
1262 {
1264 }
1265#endif
1266
1268 {
1269#ifdef ENABLE_LOGGING
1270
1271 #ifdef DEVELOPER
1272 DumpInventoryDebug();
1273 #endif
1274
1276 {
1278 }
1279#endif
1281 success = false;
1282 }
1283 else
1284 {
1287 }
1288 }
1289 else
1290 {
1291#ifdef ENABLE_LOGGING
1293 {
1295 }
1296#endif
1297
1300
1301 success = false;
1302
1303 }
1304 return true;
1305 }
void syncDebugPrint(string s)
InventoryValidationResult
InventoryValidationReason
void EnableMovableOverride(EntityAI item)
bool PlayerCheckRequestSrc(notnull InventoryLocation src, float radius)
void RemoveMovableOverride(EntityAI item)
void SendRepairToClientDst(notnull InventoryLocation dst)
DayZPlayer GetDayZPlayerOwner()
bool PlayerCheckRequestDst(notnull InventoryLocation src, notnull InventoryLocation dst, float radius)
bool TryAcquireInventoryJunctureFromServer(notnull Man player, notnull InventoryLocation src, notnull InventoryLocation dst)
PluginBase GetPlugin(typename plugin_type)
static void InventoryMoveLog(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
static proto native bool LocationCanMoveEntity(notnull InventoryLocation src, notnull InventoryLocation dst)
queries if the entity contained in inv_loc.m_item can be moved to another location This is a shorthan...
const float c_MaxItemDistanceRadius
anti-cheats
script counterpart to engine's class Inventory
static string DumpToStringNullSafe(InventoryLocation loc)
bool ReadFromContext(ParamsReadContext ctx)
proto native EntityAI GetItem()
returns item of current inventory location
InventoryValidationResult m_Result
InventoryValidationReason m_Reason
static bool IsSyncLogEnable()
static bool IsInventoryMoveLogEnable()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.