Re-validate the lock side on the server, the client-provided value is not trusted
См. определение в файле ActionInteractCodeLockItem.c строка 153
154 {
156 if (!codeLock)
157 return;
158
159 InteractCodeLockActionData interactActionData = InteractCodeLockActionData.Cast(action_data);
161 return;
162
165
167 {
168 ErrorEx(
string.Format(
"[ActionInteractCodeLockItem] Client claimed backside but server disagrees, physical release rejected! Player=%1 | Lock=%2", action_data.
m_Player, codeLock),
ErrorExSeverity.INFO);
169 return;
170 }
171
173 {
174 codeLock.StartItemSoundServer(SoundConstants.ITEM_DIGITAL_LOCK_ACCESS);
175 }
176
177 DigitalCodeLockUIBase codeLockUI;
179 {
181 {
183 return;
184 }
185
187 {
189 }
190 }
191
193 }
ref ActionTarget m_Target
bool IsPlayerOnBackside(PlayerBase player)
void SetLockState(bool state)
vector m_CodeLockPosition
Перекрестные ссылки DigitalCodeLock::CanBeLocked(), DigitalCodeLock::CanBeUnlocked(), ErrorEx, DigitalCodeLock::HasPIN(), DigitalCodeLock::IsLocked(), DigitalCodeLock::IsPlayerOnBackside(), InteractCodeLockActionData::m_CodeLockPosition, InteractCodeLockActionData::m_IsFacingBackside, ActionData::m_Player, ActionData::m_Target, DigitalCodeLock::SetLockState() и vector::Zero.