KitStdActivation
Implements activation for kit objects.
Properties
Section titled “Properties”Activatable
Section titled “Activatable”KitStdActivation.Activatable: Attribute<boolean>Whether if a kit object can be activated.
ActivationBehavior
Section titled “ActivationBehavior”KitStdActivation.ActivationBehavior: Attribute<ActivationBehavior>How to handle activation behavior.
ActivationHumanoidStateType
Section titled “ActivationHumanoidStateType”KitStdActivation.ActivationHumanoidStateType: Attribute<Enum.HumanoidStateType?>TBA
ActivationInterval
Section titled “ActivationInterval”KitStdActivation.ActivationInterval: Attribute<number?>TBA
ActivationKeyCode
Section titled “ActivationKeyCode”KitStdActivation.ActivationKeyCode: Attribute<Enum.KeyCode?>TBA
Enabled
Section titled “Enabled”KitStdActivation.Enabled: Attribute<boolean>TBA
MaxActivationDistance
Section titled “MaxActivationDistance”KitStdActivation.MaxActivationDistance: Attribute<number?>TBA
Functions
Section titled “Functions”onActivated
Section titled “onActivated”function KitStdActivation.onActivated( instanceTrove: trove.Trove, instance: T & Instance, onActivated: (trove: trove.Trove, instance: T) -> ()
): ()Calls the callback when the connected instance is activated based on it’s
ActivationMode attribute:
- If
ActivationMode == "Touch" and connectTo:IsA("BasePart"), activates when the supported instances touch the connected instance - If
ActivationMode == "Prompt" and connectTo:IsA("BasePart"), activates when aconnectTo.ActivationProximityPromptProximityPrompt - or creates one - is triggered.MaxActivationDistanceis also set. - If
ActivationMode == "Click" and connectTo:IsA("BasePart"), activates when aconnectTo.ActivationClickDetectorClickDetector - or creates one- is triggered.MaxActivationDistanceis also set. - If
ActivationMode == "KeyCode", it activates whenActivationKeyCodeis triggered.onActivatedreceives the connected instance so callbacks can be cached.onActivatedis only called if theActiveattribute is enabled. Once activated, the consumer should cleanup the given trove and reconnect once it is deactivated. This implements the following attributes for the connected instance: ActivationModeMaxActivationDistanceActivationKeyCodeifActivationMode == "Control"SupportsCharacterifActivationMode == "Control"SupportsBoxesifActivationMode == "Control"BoxesRequiresMatchingIdifActivationMode == "Control"RequiredBoxIdifActivationMode == "Control"
Self:onLoaded(function(trove, self) local activationTrove = trove:extend() local isActivated = false local function onSelfActivated() if not isActivated then isActivated = true activationTrove:clean() print("Activated!") task.delay(3, function() isActivated = false activationTrove = trove:extend() prelude.connectActivation(activationTrove, connectTo, onSelfActivated) print("Deactivated!") end) end end prelude.connectActivation(activationTrove, connectTo, onSelfActivated)end)