![]() |
Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
|
Go to the source code of this file.
Data Structures | |
| class | DeferredEvent |
| class | DeferredHandEvent |
| class | DeferredSwapEntities |
Variables | |
| m_DeferredEvent = NULL | |
| ref HandEventBase | m_DeferredPostedHandEvent = NULL |
| ref WeaponEventBase | m_DeferredWeaponEvent = NULL |
| deferred hand event | |
| ref Timer | m_DeferredWeaponTimer = new Timer |
| ref InventoryLocation | m_dst |
| ref InventoryLocation | m_dst1 |
| ref InventoryLocation | m_dst2 |
| ref HandEventBase | m_event |
| ref HandAnimatedForceSwapping | m_FSwapping |
| ref HandAnimatedForceSwapping_Inst | m_FSwappingInst |
| DeferredSwapEntities | m_item1 |
| EntityAI | m_item2 |
| ref HandAnimatedMovingToAtt | m_MovingTo |
| class DeferredEvent | m_src |
| ref HandAnimatedSwapping | m_Swapping |
| ref HandAnimatedTakingFromAtt | m_Taking |
| deferred weapon event | |
|
protected |
Definition at line 281 of file dayzplayerinventory.c.
References Class::CastTo(), GetDayZPlayerOwner(), LogManager::IsWeaponLogEnable(), and wpnDebugPrint().
Referenced by ManBase::OnCommandClimbStart(), ManBase::OnCommandDeathStart(), ManBase::OnCommandFallStart(), ManBase::OnCommandMelee2Start(), ManBase::OnCommandSwimStart(), ManBase::OnJumpStart(), and ManBase::OnStanceChange().
|
protected |
cancels any handevents that will be executed this frame @NOTE: this is used in situations where the player performs an action that renders the event invalid exactly on the frame it will be executed
Definition at line 269 of file dayzplayerinventory.c.
References m_DeferredPostedHandEvent.
|
protected |
Definition at line 275 of file dayzplayerinventory.c.
References m_DeferredWeaponEvent, and m_DeferredWeaponTimer.
Referenced by DeferredWeaponFailed().
|
protected |
Definition at line 1868 of file dayzplayerinventory.c.
References InventoryLocation::GetItem().
Referenced by ValidateHandEvent(), and ValidateSyncMove().
| override void ClearInventoryReservation | ( | HumanInventory | inventory | ) |
Definition at line 34 of file dayzplayerinventory.c.
References GameInventory::ClearInventoryReservationEx(), and m_dst.
|
protected |
Definition at line 163 of file dayzplayerinventory.c.
| void DeferredForceSwapEntities | ( | InventoryMode | mode, |
| notnull EntityAI | item1, | ||
| notnull EntityAI | item2, | ||
| notnull InventoryLocation | dst1, | ||
| notnull InventoryLocation | dst2 ) |
Definition at line 89 of file dayzplayerinventory.c.
References m_dst1, m_dst2, m_item1, and m_item2.
Referenced by HandleForceSwapEntities(), and PostDeferredForceSwapEntities().
| void DeferredHandEvent | ( | InventoryMode | mode, |
| HandEventBase | e ) |
Definition at line 127 of file dayzplayerinventory.c.
Referenced by HandEvent().
| void DeferredTakeToDst | ( | InventoryMode | mode, |
| notnull InventoryLocation | src, | ||
| notnull InventoryLocation | dst ) |
Definition at line 15 of file dayzplayerinventory.c.
Referenced by HandleTakeToDst(), and PostDeferredEventTakeToDst().
|
protected |
Definition at line 320 of file dayzplayerinventory.c.
References CancelWeaponEvent(), Class::CastTo(), Error(), and m_DeferredWeaponEvent.
|
protected |
Definition at line 1860 of file dayzplayerinventory.c.
Referenced by HandleHandEvent(), HandleSwapEntities(), HandleTakeToDst(), ValidateHandEvent(), ValidateSwap(), and ValidateSyncMove().
|
protected |
Definition at line 2256 of file dayzplayerinventory.c.
References InventoryLocation::DumpToStringNullSafe(), GetDayZPlayerOwner(), Debug::InventoryMoveLog(), LogManager::IsInventoryMoveLogEnable(), GameInventory::MakeSrcAndDstForForceSwap(), PostDeferredForceSwapEntities(), and ToString().
|
protected |
Definition at line 167 of file dayzplayerinventory.c.
Referenced by AbortWeaponEvent(), ForceSwapEntities(), HandEvent(), HandleForceSwapEntities(), HandleHandEvent(), HandleInventory(), HandleSwapEntities(), HandleTakeToDst(), HandleWeaponEvents(), IsServerOrLocalPlayer(), NetSyncCurrentStateID(), OnAfterStoreLoad(), OnEventForRemoteWeapon(), OnHandleStoredInputUserData(), OnHandleStoredJunctureData(), OnHandsStateChanged(), OnInputUserDataForRemote(), OnInputUserDataProcess(), OnInventoryCheck(), OnInventoryJunctureFromServer(), OnServerInventoryCommand(), PlayerCheckDropRequest(), PlayerCheckRequestDst(), PlayerCheckRequestSrc(), PlayerCheckSwapItemsRequest(), ProcessInputData(), SendRepairToClientDst(), StoreInputForRemotes(), SwapEntities(), SyncHandEventToRemote(), TakeToDst(), ValidateDestroy(), ValidateHandEvent(), ValidateSwap(), and ValidateSyncMove().
|
protected |
Let the client know a failure happened
If singleplayer or the client is executing this
Definition at line 2605 of file dayzplayerinventory.c.
References HandEventBase::CanPerformEventEx(), DeferredHandEvent(), g_Game, GetDayZPlayerOwner(), HandEventBase::GetDst(), IsProcessing(), m_DeferredEvent, InventoryValidation::m_Mode, InventoryValidation::m_Reason, OnInventoryFailure(), InventoryInputUserData::SerializeHandEvent(), InventoryLocation::SetHands(), DayZPlayerSyncJunctures::SJ_INVENTORY_FAILURE, and Serializer::Write().
|
protected |
Definition at line 2287 of file dayzplayerinventory.c.
References GameInventory::c_InventoryReservationTimeoutShortMS, DeferredForceSwapEntities(), InventoryLocation::DumpToStringNullSafe(), Error(), g_Game, GetDayZPlayerOwner(), GetPlugin(), inventoryDebugPrint(), Debug::InventoryMoveLog(), LogManager::IsInventoryMoveLogEnable(), InventoryInputUserData::SendInputUserDataSwap(), and ToString().
Referenced by HandleInventoryManipulation().
|
protected |
Default structure suffices
Definition at line 2656 of file dayzplayerinventory.c.
References HandEventBase::CanPerformEventEx(), DeferredHandEvent::ClearInventoryReservation(), HandEventBase::DumpToString(), EnableMovableOverride(), Error(), GetDayZPlayerOwner(), HandEventBase::GetDst(), InventoryLocation::GetItem(), GetPlugin(), hndDebugPrint(), Debug::InventoryHFSMLog(), LogManager::IsInventoryHFSMLogEnable(), HandEventBase::IsServerSideOnly(), DeferredHandEvent::m_event, InventoryValidation::m_Mode, DeferredEvent::m_mode, DeferredHandEvent::ReserveInventory(), InventoryInputUserData::SendInputUserDataHandEvent(), InventoryInputUserData::SendServerHandEventViaInventoryCommand(), SendServerHandEventViaJuncture(), and ToString().
Referenced by HandleInventoryManipulation().
|
protected |
Definition at line 444 of file dayzplayerinventory.c.
References Class::CastTo(), GetDayZPlayerOwner(), HumanCommandWeapons::GetRunningAction(), HumanCommandWeapons::GetRunningActionType(), HandAnimEventFactory(), hndDebugPrint(), hndDebugSpamALot(), HumanCommandWeapons::IsActionFinished(), HumanCommandWeapons::IsEvent(), HandStateBase::IsIdle(), LogManager::IsInventoryHFSMLogEnable(), HandStateBase::IsWaitingForActionFinish(), HandStateBase::OnUpdate(), SyncHandEventToRemote(), and WeaponActionTypeToString().
|
protected |
Definition at line 2793 of file dayzplayerinventory.c.
References ScriptInputUserData::CanStoreInputUserData(), HandleForceSwapEntities(), HandleHandEvent(), HandleSwapEntities(), HandleTakeToDst(), and m_DeferredEvent.
|
protected |
Definition at line 2164 of file dayzplayerinventory.c.
References GameInventory::c_InventoryReservationTimeoutShortMS, DeferredSwapEntities::ClearInventoryReservation(), InventoryLocation::DumpToStringNullSafe(), EnableMovableOverride(), Error(), g_Game, GetDayZPlayerOwner(), InventoryLocation::GetItem(), GetPlugin(), inventoryDebugPrint(), Debug::InventoryMoveLog(), LogManager::IsInventoryMoveLogEnable(), DeferredSwapEntities::m_dst1, DeferredSwapEntities::m_dst2, DeferredSwapEntities::m_item1, DeferredSwapEntities::m_item2, DeferredEvent::m_mode, GameInventory::MakeSrcAndDstForSwap(), InventoryInputUserData::SendInputUserDataSwap(), and ToString().
Referenced by HandleInventoryManipulation().
|
protected |
Definition at line 2005 of file dayzplayerinventory.c.
References GameInventory::c_InventoryReservationTimeoutShortMS, DeferredTakeToDst(), InventoryLocation::DumpToStringNullSafe(), EnableMovableOverride(), Error(), g_Game, GetDayZPlayerOwner(), GetPlugin(), inventoryDebugPrint(), Debug::InventoryHFSMLog(), Debug::InventoryMoveLog(), LogManager::IsInventoryHFSMLogEnable(), LogManager::IsInventoryMoveLogEnable(), InventoryInputUserData::SendInputUserDataMove(), and ToString().
Referenced by HandleInventoryManipulation().
Definition at line 345 of file dayzplayerinventory.c.
References Class::CastTo(), fsmDebugSpam(), GetDayZPlayerOwner(), HumanCommandWeapons::GetRunningAction(), HumanCommandWeapons::GetRunningActionType(), HumanCommandWeapons::IsActionFinished(), HumanCommandWeapons::IsEvent(), LogManager::IsWeaponLogEnable(), m_DeferredWeaponEvent, m_DeferredWeaponTimer, WeaponActionTypeToString(), WeaponAnimEventFactory(), wpnDebugPrint(), and wpnDebugSpamALot().
|
protected |
Definition at line 202 of file dayzplayerinventory.c.
References hndDebugPrint(), LogManager::IsInventoryHFSMLogEnable(), m_FSwapping, m_FSwappingInst, m_MovingTo, m_Swapping, and m_Taking.
|
protected |
Definition at line 169 of file dayzplayerinventory.c.
References Class::CastTo().
|
protected |
Definition at line 180 of file dayzplayerinventory.c.
References Class::CastTo().
|
protected |
Definition at line 2809 of file dayzplayerinventory.c.
References m_DeferredEvent, and m_DeferredPostedHandEvent.
|
protected |
Definition at line 191 of file dayzplayerinventory.c.
References Class::CastTo().
|
protected |
Definition at line 1875 of file dayzplayerinventory.c.
References g_Game, GetDayZPlayerOwner(), and GetInstanceType().
|
protected |
Local, checks only stuff that is in guaranteed sync.
Definition at line 3051 of file dayzplayerinventory.c.
Referenced by ValidateSyncMove().
|
protected |
Definition at line 2452 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), and DayZPlayer::OnItemInHandsChanged().
|
protected |
Definition at line 2465 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), and DayZPlayer::OnItemInHandsChanged().
|
protected |
Definition at line 2473 of file dayzplayerinventory.c.
References CreateWeaponEventFromContext(), Error(), fsmDebugSpam(), GetDayZPlayerOwner(), WeaponEventBase::GetEventID(), and LogManager::IsWeaponLogEnable().
|
protected |
Definition at line 2515 of file dayzplayerinventory.c.
References hndDebugSpam(), and LogManager::IsInventoryHFSMLogEnable().
|
protected |
Definition at line 702 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), LogManager::IsSyncLogEnable(), ProcessInputData(), Serializer::Read(), and syncDebugPrint().
|
protected |
Juncture is only ever Server Req->Client Ack and Perform->Server Perform, never remote
Definition at line 654 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), LogManager::IsSyncLogEnable(), ProcessInputData(), Serializer::Read(), and syncDebugPrint().
|
protected |
Definition at line 2571 of file dayzplayerinventory.c.
References hndDebugPrint(), and LogManager::IsInventoryHFSMLogEnable().
Referenced by OnHandsStateChanged().
|
protected |
Definition at line 2561 of file dayzplayerinventory.c.
References hndDebugPrint(), and LogManager::IsInventoryHFSMLogEnable().
Referenced by OnHandsStateChanged().
|
protected |
Definition at line 2581 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), hndDebugPrint(), HandStateBase::IsIdle(), LogManager::IsInventoryHFSMLogEnable(), OnHandsEnteredStableState(), and OnHandsExitedStableState().
|
protected |
Definition at line 723 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), LogManager::IsSyncLogEnable(), ProcessInputData(), and syncDebugPrint().
|
protected |
Definition at line 685 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), LogManager::IsSyncLogEnable(), StoreInputUserData(), and syncDebugPrint().
|
protected |
Definition at line 3173 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), InventoryLocation::GetItem(), GetPlugin(), INPUT_UDT_INVENTORY_CHECK, Serializer::Read(), InventoryLocation::ReadFromContext(), and InventoryInputUserData::SendServerInventoryCheck().
Referenced by ManBase::OnInputUserDataProcess().
|
protected |
TODO(kumarjac): Notify player here
Definition at line 640 of file dayzplayerinventory.c.
Referenced by HandEvent(), and OnInventoryJunctureFailureFromServer().
|
protected |
Function and setup is still messy due to the switch statement and relation with reading.
It could be cleaner if we used classes to handle each inventory command type, but that comes at a performance cost and will also probably require making a fair amount of changes elsewhere.
The downsides with this system right now:
The new changes at least remove the massive switch block and allow for all inventory commands to respond back to the client if something goes wrong
Definition at line 556 of file dayzplayerinventory.c.
References HandEventBase::ClearInventoryReservation(), g_Game, HandEventBase::GetDst(), InventoryLocation::GetItem(), INPUT_UDT_INVENTORY, OnInventoryFailure(), Serializer::Read(), and InventoryLocation::ReadFromContext().
|
protected |
Definition at line 532 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), LogManager::IsSyncLogEnable(), Serializer::Read(), StoreJunctureData(), and syncDebugPrint().
|
protected |
Definition at line 735 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), LogManager::IsSyncLogEnable(), ProcessInputData(), and syncDebugPrint().
|
protected |
Definition at line 3019 of file dayzplayerinventory.c.
References GetDayZPlayerOwner().
Referenced by ValidateDestroy().
|
protected |
Definition at line 2852 of file dayzplayerinventory.c.
References vector::Distance(), GetDayZPlayerOwner(), and GetPosition().
Referenced by ValidateSyncMove().
|
protected |
Definition at line 2814 of file dayzplayerinventory.c.
References CheckRequestSrc(), vector::Distance(), GetDayZPlayerOwner(), and GetPosition().
Referenced by ValidateDestroy(), ValidateSwap(), and ValidateSyncMove().
|
protected |
Definition at line 2947 of file dayzplayerinventory.c.
References GameInventory::c_MaxItemDistanceRadius, vector::Distance(), GetDayZPlayerOwner(), and GetPosition().
Referenced by ValidateSwap().
|
protected |
Definition at line 1989 of file dayzplayerinventory.c.
References DeferredTakeToDst(), and m_DeferredEvent.
Referenced by TakeToDst().
|
protected |
Definition at line 2148 of file dayzplayerinventory.c.
References DeferredForceSwapEntities(), and m_DeferredEvent.
Referenced by ForceSwapEntities(), and SwapEntities().
|
protected |
Definition at line 303 of file dayzplayerinventory.c.
References WeaponEventBase::DumpToString(), Error(), LogManager::IsWeaponLogEnable(), m_DeferredWeaponEvent, and wpnDebugPrint().
|
protected |
It should be impossible for juncture to be ran on remote
Serializer can be updated and re-written to when we may want to only correct the client instead of denying the inventory command
Only inform client about failure
General purpose serializer change from read to write here if the validation doesn't update it
Only send juncture back to client
Definition at line 1762 of file dayzplayerinventory.c.
References Serializer::CanWrite(), ScriptInputUserData::CopyFrom(), Error(), GetDayZPlayerOwner(), InventoryValidation::m_IsJuncture, InventoryValidation::m_IsRemote, InventoryValidation::m_Mode, InventoryValidation::m_Reason, InventoryValidation::m_Result, Serializer::Read(), DayZPlayerSyncJunctures::SJ_INVENTORY, DayZPlayerSyncJunctures::SJ_INVENTORY_FAILURE, StoreInputForRemotes(), ValidateHandEvent(), ValidateSwap(), ValidateSyncMove(), and Serializer::Write().
Referenced by OnHandleStoredInputUserData(), OnHandleStoredJunctureData(), OnInputUserDataForRemote(), and OnServerInventoryCommand().
|
protected |
Definition at line 1853 of file dayzplayerinventory.c.
Referenced by ValidateHandEvent(), ValidateSwap(), and ValidateSyncMove().
| override bool ReserveInventory | ( | HumanInventory | inventory | ) |
Definition at line 22 of file dayzplayerinventory.c.
References GameInventory::AddInventoryReservationEx(), GameInventory::c_InventoryReservationTimeoutShortMS, GameInventory::HasInventoryReservation(), and m_dst.
|
protected |
Definition at line 2896 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), CargoBase::GetItem(), CargoBase::GetItemCount(), GetPlugin(), and InventoryInputUserData::SendServerInventoryCheck().
Referenced by ValidateHandEvent(), ValidateSwap(), and ValidateSyncMove().
|
staticprotected |
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
Definition at line 2376 of file dayzplayerinventory.c.
References GameInventory::c_InventoryReservationTimeoutMS, HandEventBase::DumpToString(), InventoryLocation::DumpToStringNullSafe(), Error(), g_Game, HandEventBase::GetDst(), InventoryLocation::GetItem(), InventoryLocation::GetParent(), HandEventBase::IsServerSideOnly(), LogManager::IsSyncLogEnable(), InventoryLocation::IsValid(), InventoryInputUserData::SerializeHandEvent(), DayZPlayerSyncJunctures::SJ_INVENTORY, and syncDebugPrint().
Referenced by HandleHandEvent().
|
protected |
Definition at line 1880 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), GetInstanceType(), Debug::InventoryMoveLog(), LogManager::IsInventoryMoveLogEnable(), and ToString().
|
protected |
Referenced by OnInputUserDataProcess().
|
protected |
Referenced by OnInventoryJunctureFromServer().
|
protected |
Local, checks only stuff that is in guaranteed sync.
Definition at line 3062 of file dayzplayerinventory.c.
Referenced by ValidateSwap().
|
protected |
Definition at line 2119 of file dayzplayerinventory.c.
References GetDayZPlayerOwner(), Debug::InventoryMoveLog(), LogManager::IsInventoryMoveLogEnable(), GameInventory::MakeSrcAndDstForSwap(), PostDeferredForceSwapEntities(), and ToString().
|
protected |
Definition at line 2647 of file dayzplayerinventory.c.
References m_DeferredEvent, DeferredHandEvent::m_event, and SyncHandEventToRemote().
|
protected |
Definition at line 2542 of file dayzplayerinventory.c.
References HandEventBase::DumpToString(), GetDayZPlayerOwner(), hndDebugPrint(), INPUT_UDT_HAND_REMOTE_EVENT, LogManager::IsInventoryHFSMLogEnable(), Serializer::Write(), and HandEventBase::WriteToContext().
Referenced by HandleInventory(), and SyncDeferredEventToRemotes().
|
protected |
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
Definition at line 1898 of file dayzplayerinventory.c.
References GameInventory::c_InventoryReservationTimeoutMS, InventoryLocation::DumpToStringNullSafe(), g_Game, GetDayZPlayerOwner(), Debug::InventoryMoveLog(), LogManager::IsInventoryMoveLogEnable(), LogManager::IsSyncLogEnable(), PostDeferredEventTakeToDst(), InventoryInputUserData::SerializeMove(), DayZPlayerSyncJunctures::SJ_INVENTORY, syncDebugPrint(), and ToString().
|
protected |
TODO(kumarjac): Probably should be called through inventory juncture, we shouldn't allow the client to delete until the server says it is okay as there can be more reasons than "cheater" for it to be rejected such as desync
Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync
Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync
Definition at line 3079 of file dayzplayerinventory.c.
References GameInventory::c_MaxItemDistanceRadius, InventoryLocation::DumpToStringNullSafe(), Error(), g_Game, GetDayZPlayerOwner(), InventoryLocation::GetItem(), InventoryLocation::GetParent(), Debug::InventoryMoveLog(), LogManager::IsInventoryMoveLogEnable(), InventoryValidation::m_IsJuncture, InventoryValidation::m_IsRemote, InventoryValidation::m_Result, PlayerCheckDropRequest(), PlayerCheckRequestSrc(), InventoryLocation::ReadFromContext(), and ToString().
|
protected |
Pass partial information to guards so guards can do minimal checks if needed The guards can't prevent event so it would be incorrect to pass full InventoryValidation struct. We have to make sure guards don't inadvertantly produce different results in the FSM as that will create desync (two players attempting to put a rag into the same fireplace slot at the same time)
kumarjac: This indicates a failure in replication relationships as player full inventory should be synchronized always if player exists on the remote
TODO(kumarjac): Is this one correct to be 'RemoveMovableOverride' or are the other Validate methdos wrong with 'EnableMovableOverride'?
Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync
'HandEventBase.CheckRequestEx' updates failure reason
if it already happened on server, remote just needs to comply TODO(kumarjac): Move m_IsRemote check to inside of HandEventBase.CanPerformEventEx
'HandEventBase.CanPerformEventEx' updates failure reason
Check if this this is being executed on the server and not by a juncture or AI
Continuing on with execution of rest of the function
Is called twice unfortunately... but it works so won't change
TODO(kumarjac): We should probably set the result to failure like so
Definition at line 1048 of file dayzplayerinventory.c.
References HandEventBase::AcquireInventoryJunctureFromServer(), HandEventBase::CanPerformEventEx(), CheckForRope(), HandEventBase::CheckRequestSrc(), HandEventBase::ClearInventoryReservation(), InventoryLocation::Copy(), HandEventBase::DumpToString(), EnableMovableOverride(), Error(), g_Game, GetDayZPlayerOwner(), HandEventBase::GetDst(), GetInstanceType(), GetPlugin(), HandEventBase::GetSecondDst(), HandEventBase::GetSecondSrc(), HandEventBase::GetSecondSrcEntity(), Debug::InventoryMoveLog(), LogManager::IsInventoryMoveLogEnable(), LogManager::IsSyncLogEnable(), InventoryValidation::m_IsJuncture, InventoryValidation::m_IsRemote, InventoryValidation::m_Reason, InventoryValidation::m_Result, RemoveMovableOverride(), SendRepairToClientDst(), InventoryInputUserData::SendServerInventoryCheck(), InventoryInputUserData::SerializeHandEvent(), and syncDebugPrint().
Referenced by ProcessInputData().
|
protected |
kumarjac: This indicates a failure in replication relationships as player full inventory should be synchronized always if player exists on the remote
Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync
Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync
Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync
Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync
Check if this this is being executed on the server and not by a juncture or AI
Continuing on with execution of rest of the function
Check whether the juncture for the related player and items has been acquired.
Definition at line 1344 of file dayzplayerinventory.c.
References GameInventory::c_InventoryReservationTimeoutShortMS, GameInventory::c_MaxItemDistanceRadius, GameInventory::CanForceSwapEntitiesEx(), InventoryLocation::DumpToStringNullSafe(), EnableMovableOverride(), Error(), g_Game, GetDayZPlayerOwner(), GetInstanceType(), GetPlugin(), Debug::InventoryMoveLog(), LogManager::IsInventoryMoveLogEnable(), LogManager::IsSyncLogEnable(), InventoryLocation::IsValid(), InventoryJunctureSwapValidation::m_Dst1, InventoryJunctureSwapValidation::m_Dst2, InventoryJunctureSwapValidation::m_DstItem1, InventoryJunctureSwapValidation::m_DstItem2, InventoryValidation::m_IsJuncture, InventoryValidation::m_IsRemote, InventoryValidation::m_Reason, InventoryValidation::m_Result, InventoryJunctureSwapValidation::m_SkippedSwap, InventoryJunctureSwapValidation::m_Src1, InventoryJunctureSwapValidation::m_Src2, InventoryJunctureSwapValidation::m_SrcItem1, InventoryJunctureSwapValidation::m_SrcItem2, InventoryJunctureSwapValidation::m_Success, PlayerCheckRequestSrc(), PlayerCheckSwapItemsRequest(), RemoveMovableOverride(), SendRepairToClientDst(), InventoryInputUserData::SendServerInventoryCheck(), InventoryInputUserData::SerializeSwap(), SwapCheckExclusionMaskLocal(), syncDebugPrint(), ToString(), and TryAcquireTwoInventoryJuncturesFromServer().
Referenced by ProcessInputData().
|
protected |
kumarjac: This indicates a failure in replication relationships as player full inventory should be synchronized always if player exists on the remote
Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync
kumarjac: This indicates a failure in replication relationships as player full inventory should be synchronized always if player exists on the remote
Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync
Check if this this is being executed on the server and not by a juncture or AI so we can lock the item and ensure replication relationships are setup
TODO(kumarjac): We should continue with the execution and not have this special block but making a change here now will require testing
Is called twice unfortunately...
Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync
Definition at line 747 of file dayzplayerinventory.c.
References GameInventory::c_MaxItemDistanceRadius, CheckForRope(), InventoryLocation::DumpToStringNullSafe(), EnableMovableOverride(), Error(), g_Game, GetDayZPlayerOwner(), GetInstanceType(), InventoryLocation::GetItem(), GetPlugin(), Debug::InventoryMoveLog(), LogManager::IsInventoryMoveLogEnable(), LogManager::IsSyncLogEnable(), GameInventory::LocationCanMoveEntity(), GameInventory::LocationCanMoveEntitySyncCheck(), InventoryValidation::m_IsJuncture, InventoryValidation::m_IsRemote, InventoryValidation::m_Reason, InventoryValidation::m_Result, MoveCheckExclusionMaskLocal(), PlayerCheckRequestDst(), PlayerCheckRequestSrc(), InventoryLocation::ReadFromContext(), RemoveMovableOverride(), SendRepairToClientDst(), InventoryInputUserData::SendServerInventoryCheck(), syncDebugPrint(), ToString(), and TryAcquireInventoryJunctureFromServer().
Referenced by ProcessInputData().
| m_DeferredEvent = NULL |
|
protected |
Definition at line 154 of file dayzplayerinventory.c.
Referenced by CancelHandEvent(), and IsProcessing().
|
protected |
deferred hand event
Definition at line 155 of file dayzplayerinventory.c.
Referenced by CancelWeaponEvent(), DeferredWeaponFailed(), HandleWeaponEvents(), and PostWeaponEvent().
Definition at line 150 of file dayzplayerinventory.c.
Referenced by CancelWeaponEvent(), and HandleWeaponEvents().
| ref InventoryLocation m_dst |
Definition at line 13 of file dayzplayerinventory.c.
Referenced by ClearInventoryReservation(), DeferredTakeToDst(), and ReserveInventory().
| ref InventoryLocation m_dst1 |
Definition at line 86 of file dayzplayerinventory.c.
Referenced by DeferredForceSwapEntities().
| ref InventoryLocation m_dst2 |
Definition at line 87 of file dayzplayerinventory.c.
Referenced by DeferredForceSwapEntities().
| ref HandEventBase m_event |
Definition at line 126 of file dayzplayerinventory.c.
|
protected |
Definition at line 160 of file dayzplayerinventory.c.
Referenced by Init().
|
protected |
Definition at line 161 of file dayzplayerinventory.c.
Referenced by Init().
| DeferredSwapEntities m_item1 |
Referenced by DeferredForceSwapEntities().
| EntityAI m_item2 |
Definition at line 85 of file dayzplayerinventory.c.
Referenced by DeferredForceSwapEntities().
|
protected |
Definition at line 158 of file dayzplayerinventory.c.
Referenced by Init().
| class DeferredEvent m_src |
Referenced by DeferredTakeToDst().
|
protected |
Definition at line 159 of file dayzplayerinventory.c.
Referenced by Init().
|
protected |