BlockActivation - ObjectReference
Member of: ObjectReference Script
Blocks, or unblocks, normal activation processing for this reference. References with blocked activation will still send OnActivate events to scripts attached to them.
Function BlockActivation(bool abBlocked = True) native
- abBlocked: Whether to block or unblock activation.
- Default: True
; Blocks this door from processing activation normally MyDoor.BlockActivation()
; Tells the door to handle activation normally MyDoor.BlockActivation(false)
If you block activation on a reference, the reference will no longer perform its "normal" activation processing. It won't be picked up, opened, etc. However, the script OnActivate block will still run but only on the same script which has the BlockActivation() function set, all other OnActivate() events in other scripts attached to the same reference will be ignored.
Because of the way script events work, chances are that the object has already done (or ignored) its default activation processing by the time the script receives the event, so calling BlockActivation() on the object in the OnActivate block will not affect the current activation.
Also, if a script calls Activate() on an object reference which has blocked activation, the OnActivate block on that script will run, but the object will not process activation normally. (Unless the default processing only parameter is true)
Note that BlockActivation does not disable the 'Activate' UI prompt on the object.
Additionally if an ObjectReference which has BlockActivation() applied to it is linked to another ObjectReference which can be activated normally, this linked object will instead be activated (confirmed with a BlockActivation() applied to a note object that is linked to a book object, the book object was instead activated)