SetKeywords - InstanceData

Revision as of 18:08, 14 October 2022 by GELUXRUM (talk | contribs) (→‎Examples)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
This article has been flagged as incomplete.
Please help improve the wiki by learning how to contribute.

F4SE Member of: InstanceData Script
Requires F4SE version 0.6.0 or higher.

Placeholder Description.

SyntaxEdit

Function SetKeywords(Owner akOwner, Keyword[] akKwds) Native Global

ParametersEdit

  • akOwner: Placeholder Description.
  • akKwds: Placeholder Description.

Return ValueEdit

  • None

ExamplesEdit

; set up the weapon instance
int slotIndex = Game.GetPlayer().GetEquippedItemType(0) + 32
instanceData:Owner myInstance = Game.GetPlayer().GetInstanceOwner(slotIndex)

; we want to add the keyword MyKeyword to our instance using an easy-to-use function
instanceData.SetKeywords(myInstance, editKeywords(instancedata.GetKeywords(myInstance), MyKeyword, "add"))

; we want to remove the keyword MyKeyword from our instance using an easy-to-use function
instanceData.SetKeywords(myInstance, editKeywords(instancedata.GetKeywords(myInstance), MyKeyword, "remove"))

; this will add / remove a keyword from a chosen array
Keyword[] Function editKeywords(Keyword[] mainArray, keyword keywordToUse, string sAction)
	; generate an empty array
	Keyword[] tempArray = new Keyword[0]
	; populate the empty array with the array on the instance
	tempArray = mainArray
	; options on how to modify the array
	if sAction == "add"
		; add the keyword into the array
		tempArray.Add(keywordToUse)
        ; return our array with the keyword added
		return tempArray
	elseIf sAction == "remove"
		; find the position of the keyword 
		int removeFrom = tempArray.Find(keywordToUse)
		; remove the keyword from that position
		tempArray.Remove(removeFrom)
        ; return our array with the keyword removed
		return tempArray
    endIf
endFunction

See AlsoEdit