View Issue Details

IDProjectCategoryView StatusLast Update
0004968The Dark ModCodingpublic09.03.2020 11:20
ReporterSTiFU Assigned Tostgatilov  
PrioritynormalSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
Product VersionTDM 2.07 
Target VersionTDM 2.08Fixed in VersionTDM 2.08 
Summary0004968: Lockpicking: Running away from the lock does not cancel the sequence when you press and hold the frob-button
Descriptionstgatilov: "By the way, I just checked that you can look around while lockpicking without losing progress.

Of course, you don't progress with the lockpicking itself (which makes some sense: you cannot concentrate on the lock).

Moreover, the system allows you to cheat: you can not only look around, you can go to the other end of the map and return. As long as you don't release the button, your lockpicking progress will not be lost."
Additional InformationDiscussion: http://forums.thedarkmod.com/topic/19833-4628-dont-interrupt-lock-picking-when-looking-away/?p=433159
TagsNo tags attached.

Relationships

related to 0003643 resolvedgrayman AI need to use switches to open and close doors 
related to 0001438 confirmed Grabber: Can manipulate at infinite distance if object is not stuck 

Activities

stgatilov

stgatilov

04.01.2020 04:14

administrator   ~0012050

Fixed in svn rev 8494.

The problem is that frob system is one-side communication. When player frobs something, a method UseBy us called on that entity. It can be called with "press", "repeat", and "release" signals. Neither the lock nor the player saves information about the other side during frobbing. So when player breaks frob by moving or turning away, the signals simply stop coming: there is no place in the code which handles this situation explicitly.

The solution was implemented by Grayman in 0003643, and it sounds like what people do with HTTP protocol. There is a event scheduled 300 ms in the future, and this event is rescheduled everytime player frobs the lock (aka keep-alive). If player stops frobbing, then the event is not refreshed, and triggers pretty soon. This event was used only to raise weapon back (until now). Now it also sends a "release" signal to the lock.

As the result, whenever player breaks frob for 300 ms, lockpicking is canceled automatically.

Issue History

Date Modified Username Field Change
19.01.2019 17:09 STiFU New Issue
04.01.2020 03:54 stgatilov Relationship added related to 0003643
04.01.2020 04:14 stgatilov Note Added: 0012050
04.01.2020 04:14 stgatilov Assigned To => stgatilov
04.01.2020 04:14 stgatilov Status new => resolved
04.01.2020 04:14 stgatilov Resolution open => fixed
04.01.2020 04:14 stgatilov Fixed in Version => TDM 2.08
04.01.2020 04:35 stgatilov Relationship added related to 0001438
09.03.2020 11:20 stgatilov Target Version => TDM 2.08