Difference between revisions of "IsFurnitureInUse - ObjectReference"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Jlundin
 
imported>B1gBadDaddy
(Added workaround for no marker being present)
Line 30: Line 30:
   Debug.Trace("Bed is actually being used")
   Debug.Trace("Bed is actually being used")
endIf
endIf
</source>
== Notes ==
# If the furniture object has no marker, or is being activated remotely so no animation plays, IsFurnitureInUse will return false. To workaround this, if the furniture disables looking controls (for example crafting stations), the below example can be used instead.<br/>
<source lang="papyrus">
Event OnUpdate()
if ( ! Game.IsLookingControlsEnabled() )
; Controls disabled, Player must still be using this furniture
RegisterForSingleUpdate(0.5)
return
else
; Furniture no longer in use
endif
EndEvent
</source>
</source>



Revision as of 23:37, 1 July 2017

Member of: ObjectReference Script

Checks to see if any furniture marker on this object is in use, optionally ignoring markers that are reserved, but not currently used.

Syntax

bool Function IsFurnitureInUse(bool abIgnoreReserved = false) native

Parameters

  • abIgnoreReserved: Whether to ignore reserved markers or not.
    • Default: False

Return Value

If any marker on the furniture is in use. (Or reserved, if we aren't ignoring reservations)

Examples

; Is the bed in use (or someone has reserved it)?
if Bed.IsFurnitureInUse()
  Debug.Trace("Bed is being used")
endIf


; Is the bed actually in use (ignoring reservations)?
if Bed.IsFurnitureInUse(true)
  Debug.Trace("Bed is actually being used")
endIf

Notes

  1. If the furniture object has no marker, or is being activated remotely so no animation plays, IsFurnitureInUse will return false. To workaround this, if the furniture disables looking controls (for example crafting stations), the below example can be used instead.
Event OnUpdate()

	if ( ! Game.IsLookingControlsEnabled() )
		; Controls disabled, Player must still be using this furniture
		RegisterForSingleUpdate(0.5)
		return
	else 
		; Furniture no longer in use
	endif

EndEvent

See Also