Array Utilites
Massive library of native array functions and I'm still fleshing out types and adding new function types.
There's so many now that I recently had to split _MGF_Array to _MGF_ArrayCreate, _MGF_ArrayEdit, _MGF_ArrayQuery due to function declaration overload...
Super boring but also extremely useful.
_MGF_ArrayCreate:
Spoiler
Scriptname _MGF_ArrayCreate Hidden ;/ Advise 'import'ing all three array scripts for easy access. That way you don't need to remember which function is in which script. Import _MGF_ArrayCreate Import _MGF_ArrayEdit Import _MGF_ArrayQuery /; ; Array Create ========================================================================== ; Returns a new array of the specified size and fill. ; Works with size = 0. Handy if you need to call a function with an empty array. ; SomeFunctionThatNeedsEmptyArray(_MGF_ArrayCreate.ArrayFactionCreate(0)) ; Or just create a single length array with a certain value: ; SomeFunctionThatNeedsAOneElementArray(_MGF_ArrayCreate.ArrayKeywordCreate(1, VendorItemArmor)) Bool[] Function ArrayBoolCreate(Int size, Bool Fill = false, bool Randomize = false) Global Native Int[] Function ArrayIntCreate(Int Size, Int Fill = 0, Bool Randomize = false, Int RandomMin = 0, Int RandomMax = 100) Global Native Float[] Function ArrayFloatCreate(Int Size, Float Fill = 0.0, Bool Randomize = false, Float RandomMin = 0.0, Float RandomMax = 1.0) Global Native String[] Function ArrayStringCreate(Int Size, String Fill = "", Bool Randomize = false) Global Native Form[] Function ArrayFormCreate(Int Size, Form Fill = None) Global Native ObjectReference[] Function ArrayRefCreate(Int Size = 0, ObjectReference Fill = None) Global Native Actor[] Function ArrayActorCreate(Int Size = 0, Actor Fill = None) Global Native ActorBase[] Function ArrayActorBaseCreate(Int Size = 0, ActorBase Fill = None) Global Native Faction[] Function ArrayFactionCreate(Int Size = 0, Faction Fill = None) Global Native Weapon[] Function ArrayWeaponCreate(Int Size = 0, Weapon Fill = None) Global Native Armor[] Function ArrayArmorCreate(Int Size = 0, Armor Fill = None) Global Native ArmorAddon[] Function ArrayArmorAddonCreate(Int Size = 0, ArmorAddon Fill = None) Global Native Spell[] Function ArraySpellCreate(Int Size = 0, Spell Fill = None) Global Native MagicEffect[] Function ArrayMagicEffectCreate(Int Size = 0, MagicEffect Fill = None) Global Native Enchantment[] Function ArrayEnchantmentCreate(Int Size = 0, Enchantment Fill = None) Global Native Potion[] Function ArrayPotionCreate(Int Size = 0, Potion Fill = None) Global Native Ingredient[] Function ArrayIngredientCreate(Int Size = 0, Ingredient Fill = None) Global Native Keyword[] Function ArrayKeywordCreate(Int Size = 0, Keyword Fill = None) Global Native Location[] Function ArrayLocationCreate(Int Size = 0, Location Fill = None) Global Native GlobalVariable[] Function ArrayGlobalCreate(Int Size = 0, GlobalVariable Fill = None) Global Native Book[] Function ArrayBookCreate(Int Size = 0, Book Fill = None) Global Native MiscObject[] Function ArrayMiscObjectCreate(Int Size = 0, MiscObject Fill = None) Global Native Ammo[] Function ArrayAmmoCreate(Int Size = 0, Ammo Fill = None) Global Native Race[] Function ArrayRaceCreate(Int Size = 0, Race Fill = None) Global Native Quest[] Function ArrayQuestCreate(Int Size = 0, Quest Fill = None) Global Native Perk[] Function ArrayPerkCreate(Int Size = 0, Perk Fill = None) Global Native Cell[] Function ArrayCellCreate(Int Size = 0, Cell Fill = None) Global Native ConstructibleObject[] Function ArrayCobjCreate(Int Size = 0, ConstructibleObject Fill = None) Global Native FormList[] Function ArrayFormListCreate(Int size = 0, FormList fillValue = None) Global Native ; Array Conversion ====================================================================== ; Convert an array from Form to x. Or x to Form. Handy for storing or pulling information from StorageUtil which only works on type Form[] ; Also useful if you need to run any array operations on a non-form type array. ; Eg: Convert 2 actor arrays to form arrays. Merge them. Deduplicate them. And then convert back to an actor array. ; (I've since added full type coverage for Merge and Unique but you get the idea) ; Automatically removes any 'Nones' (either Nones passed in or that don't survive casting to the desired type. ; filterDisabled - Remove disabled ObjRefs / Actors from the returned array ; filterDead - Remove dead actors from the returned array ObjectReference[] Function FormsToRefs(Form[] akForms, Bool FilterDisabled = true, Bool FilterDead = true) Global Native Actor[] Function FormsToActors(Form[] akForms, Bool FilterDisabled = true, Bool FilterDead = true) Global Native ActorBase[] Function FormsToActorBases(Form[] akForms) Global Native Faction[] Function FormsToFactions(Form[] akForms) Global Native Weapon[] Function FormsToWeapons(Form[] akForms) Global Native Armor[] Function FormsToArmor(Form[] akForms) Global Native ArmorAddon[] Function FormsToArmorAddons(Form[] akForms) Global Native Spell[] Function FormsToSpells(Form[] akForms) Global Native MagicEffect[] Function FormsToMagicEffects(Form[] akForms) Global Native Enchantment[] Function FormsToEnchantments(Form[] akForms) Global Native Potion[] Function FormsToPotions(Form[] akForms) Global Native Ingredient[] Function FormsToIngredients(Form[] akForms) Global Native Keyword[] Function FormsToKeywords(Form[] akForms) Global Native Location[] Function FormsToLocations(Form[] akForms) Global Native GlobalVariable[] Function FormsToGlobals(Form[] akForms) Global Native Book[] Function FormsToBooks(Form[] akForms) Global Native MiscObject[] Function FormsToMiscObjects(Form[] akForms) Global Native Ammo[] Function FormsToAmmo(Form[] akForms) Global Native Race[] Function FormsToRaces(Form[] akForms) Global Native Quest[] Function FormsToQuests(Form[] akForms) Global Native Perk[] Function FormsToPerks(Form[] akForms) Global Native Cell[] Function FormsToCells(Form[] akForms) Global Native ConstructibleObject[] Function FormsToCobjs(Form[] akForms) Global Native FormList[] Function FormsToFormLists(Form[] akForms) Global Native Form[] Function RefsToForms(ObjectReference[] ObjRefs, Bool FilterDisabled = true, Bool FilterDead = true) Global Native Form[] Function ActorsToForms(Actor[] akActors, Bool FilterDisabled = true, Bool FilterDead = true) Global Native Form[] Function ActorBasesToForms(ActorBase[] akBases) Global Native Form[] Function FactionsToForms(Faction[] akFactions) Global Native Form[] Function WeaponsToForms(Weapon[] akWeapons) Global Native Form[] Function ArmorToForms(Armor[] akArmors) Global Native Form[] Function ArmorAddonsToForms(ArmorAddon[] akArmorAddons) Global Native Form[] Function SpellsToForms(Spell[] akSpells) Global Native Form[] Function MagicEffectsToForms(MagicEffect[] akEffects) Global Native Form[] Function EnchantmentsToForms(Enchantment[] akEnchantments) Global Native Form[] Function PotionsToForms(Potion[] akPotions) Global Native Form[] Function IngredientsToForms(Ingredient[] akIngredients) Global Native Form[] Function KeywordsToForms(Keyword[] akKeywords) Global Native Form[] Function LocationsToForms(Location[] akLocations) Global Native Form[] Function GlobalsToForms(GlobalVariable[] akGlobals) Global Native Form[] Function BooksToForms(Book[] akBooks) Global Native Form[] Function MiscObjectsToForms(MiscObject[] akMiscObjects) Global Native Form[] Function AmmoToForms(Ammo[] akAmmo) Global Native Form[] Function RacesToForms(Race[] akRaces) Global Native Form[] Function QuestsToForms(Quest[] akQuests) Global Native Form[] Function PerksToForms(Perk[] akPerks) Global Native Form[] Function CellsToForms(Cell[] akCells) Global Native Form[] Function CobjsToForms(ConstructibleObject[] akRecipes) Global Native Form[] Function FormListsToForms(FormList[] akFormLists) Global Native ; Two special case conversions ObjectReference[] Function ActorsToRefs(Actor[] akActors) Global Native Actor[] Function RefsToActors(ObjectReference[] ObjRefs, Bool FilteredDisabled = true, Bool FilterDead = true) Global Native
_MGF_ArrayEdit:
Spoiler
Scriptname _MGF_ArrayEdit Hidden ;/ Advise 'import'ing all three array scripts for easy access. That way you don't need to remember which function is in which script. Import _MGF_ArrayCreate Import _MGF_ArrayEdit Import _MGF_ArrayQuery /; ; Array Sanitize ========================================================================= ; Removes None entries from an array. ; Additional parameters for Refs & Actors. Form[] Function ArrayFormSanitize(Form[] Input) Global Native ObjectReference[] Function ArrayRefSanitize(ObjectReference[] Input, Bool FilterDisabled = true) Global Native Actor[] Function ArrayActorSanitize(Actor[] Input, Bool FilterDisabled = true, Bool FilterDead = true) Global Native ActorBase[] Function ArrayActorBaseSanitize(ActorBase[] Input) Global Native Faction[] Function ArrayFactionSanitize(Faction[] Input) Global Native Weapon[] Function ArrayWeaponSanitize(Weapon[] Input) Global Native Armor[] Function ArrayArmorSanitize(Armor[] Input) Global Native ArmorAddon[] Function ArrayArmorAddonSanitize(ArmorAddon[] Input) Global Native Spell[] Function ArraySpellSanitize(Spell[] Input) Global Native MagicEffect[] Function ArrayMagicEffectSanitize(MagicEffect[] Input) Global Native Enchantment[] Function ArrayEnchantmentSanitize(Enchantment[] Input) Global Native Potion[] Function ArrayPotionSanitize(Potion[] Input) Global Native Ingredient[] Function ArrayIngredientSanitize(Ingredient[] Input) Global Native Keyword[] Function ArrayKeywordSanitize(Keyword[] Input) Global Native Location[] Function ArrayLocationSanitize(Location[] Input) Global Native GlobalVariable[] Function ArrayGlobalSanitize(GlobalVariable[] Input) Global Native Book[] Function ArrayBookSanitize(Book[] Input) Global Native MiscObject[] Function ArrayMiscObjectSanitize(MiscObject[] Input) Global Native Ammo[] Function ArrayAmmoSanitize(Ammo[] Input) Global Native Race[] Function ArrayRaceSanitize(Race[] Input) Global Native Quest[] Function ArrayQuestSanitize(Quest[] Input) Global Native Perk[] Function ArrayPerkSanitize(Perk[] Input) Global Native Cell[] Function ArrayCellSanitize(Cell[] Input) Global Native ConstructibleObject[] Function ArrayCobjSanitize(ConstructibleObject[] Input) Global Native FormList[] Function ArrayFormListSanitize(FormList[] Input) Global Native ; Array Append ========================================================================== ; Append a new value to the end of the Input array. Bool[] Function ArrayBoolAppend(Bool[] Input, Bool Value) Global Native Int[] Function ArrayIntAppend(Int[] Input, Int Value) Global Native Float[] Function ArrayFloatAppend(Float[] Input, Float Value) Global Native String[] Function ArrayStringAppend(String[] Input, String Value) Global Native Form[] Function ArrayFormAppend(Form[] Input, Form Value) Global Native ObjectReference[] Function ArrayRefAppend(ObjectReference[] Input, ObjectReference Value) Global Native Actor[] Function ArrayActorAppend(Actor[] Input, Actor Value) Global Native ActorBase[] Function ArrayActorBaseAppend(ActorBase[] Input, ActorBase Value) Global Native Faction[] Function ArrayFactionAppend(Faction[] Input, Faction Value) Global Native Weapon[] Function ArrayWeaponAppend(Weapon[] Input, Weapon Value) Global Native Armor[] Function ArrayArmorAppend(Armor[] Input, Armor Value) Global Native ArmorAddon[] Function ArrayArmorAddonAppend(ArmorAddon[] Input, ArmorAddon Value) Global Native Spell[] Function ArraySpellAppend(Spell[] Input, Spell Value) Global Native MagicEffect[] Function ArrayMagicEffectAppend(MagicEffect[] Input, MagicEffect Value) Global Native Enchantment[] Function ArrayEnchantmentAppend(Enchantment[] Input, Enchantment Value) Global Native Potion[] Function ArrayPotionAppend(Potion[] Input, Potion Value) Global Native Ingredient[] Function ArrayIngredientAppend(Ingredient[] Input, Ingredient Value) Global Native Keyword[] Function ArrayKeywordAppend(Keyword[] Input, Keyword Value) Global Native Location[] Function ArrayLocationAppend(Location[] Input, Location Value) Global Native GlobalVariable[] Function ArrayGlobalAppend(GlobalVariable[] Input, GlobalVariable Value) Global Native Book[] Function ArrayBookAppend(Book[] Input, Book Value) Global Native MiscObject[] Function ArrayMiscObjectAppend(MiscObject[] Input, MiscObject Value) Global Native Ammo[] Function ArrayAmmoAppend(Ammo[] Input, Ammo Value) Global Native Race[] Function ArrayRaceAppend(Race[] Input, Race Value) Global Native Quest[] Function ArrayQuestAppend(Quest[] Input, Quest Value) Global Native Perk[] Function ArrayPerkAppend(Perk[] Input, Perk Value) Global Native Cell[] Function ArrayCellAppend(Cell[] Input, Cell Value) Global Native ConstructibleObject[] Function ArrayCobjAppend(ConstructibleObject[] Input, ConstructibleObject Value) Global Native FormList[] Function ArrayFormListAppend(FormList[] array, FormList element) Global Native ; Array Insert ========================================================================== ; These functions take an input array and insert 'Value' at 'Index' of array 'Input' ; Replace: True: Simply replaces value at index. Array size remains the same. ; Replace: False: Doesn't replace the value at 'index'. Pushes all values from Index ; forward by 1 and inserts 'value' at 'index'. Array size += 1 ; Returns the modified array. ; Attempting to add an element at > array.length will just append it to the end. Bool[] Function ArrayBoolInsert(Bool[] Input, Int Index, Bool Value, Bool Replace = true) Global Native Int[] Function ArrayIntInsert(Int[] Input, Int Index, Int Value, Bool Replace) Global Native Float[] Function ArrayFloatInsert(Float[] Input, Int Index, Float Value, Bool Replace) Global Native String[] Function ArrayStringInsert(String[] Input, Int Index, String Value, Bool Replace) Global Native Form[] Function ArrayFormInsert(Form[] Input, Int Index, Form Value, Bool Replace) Global Native ; Array Pluck =========================================================================== ; Removes the element at 'Index' and returns the shortened array. Bool[] Function ArrayBoolPluck(Bool[] Input, Int Index) Global Native Int[] Function ArrayIntPluck(Int[] Input, Int Index) Global Native Float[] Function ArrayFloatPluck(Float[] Input, Int Index) Global Native String[] Function ArrayStringPluck(String[] Input, Int Index) Global Native Form[] Function ArrayFormPluck(Form[] Input, Int Index) Global Native ; Array Remove ========================================================================== ; Remove occurences of 'Value' from the Input array. ; RemoveAll: True = Remove all occurences. False = Remove first hit. ; Can also be used to remove all 'None's from an array. Int[] Function ArrayIntRemove(Int[] Input, Int Value, Bool RemoveAll = True) Global Native String[] Function ArrayStringRemove(String[] Input, String Value, Bool RemoveAll = True) Global Native Form[] Function ArrayFormRemove(Form[] Input, Form Value, Bool RemoveAll = True) Global Native ObjectReference[] Function ArrayRefRemove(ObjectReference[] Input, ObjectReference Value, Bool RemoveAll = True) Global Native Actor[] Function ArrayActorRemove(Actor[] Input, Actor Value, Bool RemoveAll = True) Global Native ActorBase[] Function ArrayActorBaseRemove(ActorBase[] Input, ActorBase Value, Bool RemoveAll = True) Global Native Faction[] Function ArrayFactionRemove(Faction[] Input, Faction Value, Bool RemoveAll = True) Global Native Weapon[] Function ArrayWeaponRemove(Weapon[] Input, Weapon Value, Bool RemoveAll = True) Global Native Armor[] Function ArrayArmorRemove(Armor[] Input, Armor Value, Bool RemoveAll = True) Global Native ArmorAddon[] Function ArrayArmorAddonRemove(ArmorAddon[] Input, ArmorAddon Value, Bool RemoveAll = True) Global Native Spell[] Function ArraySpellRemove(Spell[] Input, Spell Value, Bool RemoveAll = True) Global Native MagicEffect[] Function ArrayMagicEffectRemove(MagicEffect[] Input, MagicEffect Value, Bool RemoveAll = True) Global Native Enchantment[] Function ArrayEnchantmentRemove(Enchantment[] Input, Enchantment Value, Bool RemoveAll = True) Global Native Potion[] Function ArrayPotionRemove(Potion[] Input, Potion Value, Bool RemoveAll = True) Global Native Ingredient[] Function ArrayIngredientRemove(Ingredient[] Input, Ingredient Value, Bool RemoveAll = True) Global Native Keyword[] Function ArrayKeywordRemove(Keyword[] Input, Keyword Value, Bool RemoveAll = True) Global Native Location[] Function ArrayLocationRemove(Location[] Input, Location Value, Bool RemoveAll = True) Global Native GlobalVariable[] Function ArrayGlobalRemove(GlobalVariable[] Input, GlobalVariable Value, Bool RemoveAll = True) Global Native Book[] Function ArrayBookRemove(Book[] Input, Book Value, Bool RemoveAll = True) Global Native MiscObject[] Function ArrayMiscObjectRemove(MiscObject[] Input, MiscObject Value, Bool RemoveAll = True) Global Native Ammo[] Function ArrayAmmoRemove(Ammo[] Input, Ammo Value, Bool RemoveAll = True) Global Native Race[] Function ArrayRaceRemove(Race[] Input, Race Value, Bool RemoveAll = True) Global Native Quest[] Function ArrayQuestRemove(Quest[] Input, Quest Value, Bool RemoveAll = True) Global Native Perk[] Function ArrayPerkRemove(Perk[] Input, Perk Value, Bool RemoveAll = True) Global Native Cell[] Function ArrayCellRemove(Cell[] Input, Cell Value, Bool RemoveAll = True) Global Native ConstructibleObject[] Function ArrayCobjRemove(ConstructibleObject[] Input, ConstructibleObject Value, Bool RemoveAll = True) Global Native FormList[] Function ArrayFormListRemove(FormList[] input, FormList value, Bool removeAll) Global Native ; Array Reverse ========================================================================= ; Reverse the order of an array. Bool[] Function ArrayBoolReverse(Bool[] Input) Global Native Int[] Function ArrayIntReverse(Int[] Input) Global Native Float[] Function ArrayFloatReverse(Float[] Input) Global Native String[] Function ArrayStringReverse(String[] Input) Global Native Form[] Function ArrayFormReverse(Form[] Input) Global Native ; Array Slice =========================================================================== ; Return a section of Input array starting at StartIndex and up to 'Len' length Bool[] Function ArrayBoolSlice(Bool[] Input, Int StartIndex, Int Len) Global Native Int[] Function ArrayIntSlice(Int[] Input, Int StartIndex, Int Len) Global Native Float[] Function ArrayFloatSlice(Float[] Input, Int StartIndex, Int Len) Global Native String[] Function ArrayStringSlice(String[] Input, Int StartIndex, Int Len) Global Native Form[] Function ArrayFormSlice(Form[] Input, Int StartIndex, Int Len) Global Native ; Array Sort ============================================================================ ; Sorts arrays numerically or alphabetically. In the case of forms, 'none's are dropped. Int[] Function ArrayIntSort(Int[] Input, Bool Ascending = True) Global Native Float[] Function ArrayFloatSort(Float[] Input, Bool Ascending = True) Global Native String[] Function ArrayStringSort(String[] Input, Bool Ascending = True) Global Native Form[] Function ArrayFormSort(Form[] akForms, Bool Ascending = True) Global Native ; Array Shuffle ========================================================================= ; These functions just shuffle the elements around in your array randomly. ; Handles empty arrays and single-element arrays gracefully. Bool[] Function ArrayBoolShuffle(Bool[] Input) Global Native Int[] Function ArrayIntShuffle(Int[] Input) Global Native Float[] Function ArrayFloatShuffle(Float[] Input) Global Native String[] Function ArrayStringShuffle(String[] Input) Global Native Form[] Function ArrayFormShuffle(Form[] Input) Global Native ; Array Merge =========================================================================== ; Append arr2 to the end of arr1 -> arr1 + arr2. Bool[] Function ArrayBoolMerge(Bool[] arr1, Bool[] arr2) Global Native Int[] Function ArrayIntMerge(Int[] arr1, Int[] arr2) Global Native Float[] Function ArrayFloatMerge(Float[] arr1, Float[] arr2) Global Native String[] Function ArrayStringMerge(String[] arr1, String[] arr2) Global Native Form[] Function ArrayFormMerge(Form[] arr1, Form[] arr2) Global Native ObjectReference[] Function ArrayRefMerge(ObjectReference[] arr1, ObjectReference[] arr2) Global Native Actor[] Function ArrayActorMerge(Actor[] arr1, Actor[] arr2) Global Native ActorBase[] Function ArrayActorBaseMerge(ActorBase[] arr1, ActorBase[] arr2) Global Native Faction[] Function ArrayFactionMerge(Faction[] arr1, Faction[] arr2) Global Native Weapon[] Function ArrayWeaponMerge(Weapon[] arr1, Weapon[] arr2) Global Native Armor[] Function ArrayArmorMerge(Armor[] arr1, Armor[] arr2) Global Native ArmorAddon[] Function ArrayArmorAddonMerge(ArmorAddon[] arr1, ArmorAddon[] arr2) Global Native Spell[] Function ArraySpellMerge(Spell[] arr1, Spell[] arr2) Global Native MagicEffect[] Function ArrayMagicEffectMerge(MagicEffect[] arr1, MagicEffect[] arr2) Global Native Enchantment[] Function ArrayEnchantmentMerge(Enchantment[] arr1, Enchantment[] arr2) Global Native Potion[] Function ArrayPotionMerge(Potion[] arr1, Potion[] arr2) Global Native Ingredient[] Function ArrayIngredientMerge(Ingredient[] arr1, Ingredient[] arr2) Global Native Keyword[] Function ArrayKeywordMerge(Keyword[] arr1, Keyword[] arr2) Global Native Location[] Function ArrayLocationMerge(Location[] arr1, Location[] arr2) Global Native GlobalVariable[] Function ArrayGlobalMerge(GlobalVariable[] arr1, GlobalVariable[] arr2) Global Native Book[] Function ArrayBookMerge(Book[] arr1, Book[] arr2) Global Native MiscObject[] Function ArrayMiscObjectMerge(MiscObject[] arr1, MiscObject[] arr2) Global Native Ammo[] Function ArrayAmmoMerge(Ammo[] arr1, Ammo[] arr2) Global Native Race[] Function ArrayRaceMerge(Race[] arr1, Race[] arr2) Global Native Quest[] Function ArrayQuestMerge(Quest[] arr1, Quest[] arr2) Global Native Perk[] Function ArrayPerkMerge(Perk[] arr1, Perk[] arr2) Global Native Cell[] Function ArrayCellMerge(Cell[] arr1, Cell[] arr2) Global Native ConstructibleObject[] Function ArrayCobjMerge(ConstructibleObject[] arr1, ConstructibleObject[] arr2) Global Native FormList[] Function ArrayFormListMerge(FormList[] array1, FormList[] array2) Global Native ; Index-wise coalesce - result[i] = arr1[i] if it's not "unset", else arr2[i]. ; Unset = 'None' for 'form' types (Ref, Actor, Quest etc). String = "". For Int and float there is a configurable parameter. ; Array length mismatch pads to the longest. ; arr1 longer - fills arr1 values. ; arr2 longer - fills arr2 values. Int[] Function ArrayIntBlend(Int[] arr1, Int[] arr2, Int UnsetValue) Global Native Float[] Function ArrayFloatBlend(Float[] arr1, Float[] arr2, Float UnsetValue, Float afTolerance = 0.0) Global Native String[] Function ArrayStringBlend(String[] arr1, String[] arr2) Global Native Form[] Function ArrayFormBlend(Form[] arr1, Form[] arr2) Global Native ObjectReference[] Function ArrayRefBlend(ObjectReference[] arr1, ObjectReference[] arr2) Global Native Actor[] Function ArrayActorBlend(Actor[] arr1, Actor[] arr2) Global Native ActorBase[] Function ArrayActorBaseBlend(ActorBase[] arr1, ActorBase[] arr2) Global Native Faction[] Function ArrayFactionBlend(Faction[] arr1, Faction[] arr2) Global Native Weapon[] Function ArrayWeaponBlend(Weapon[] arr1, Weapon[] arr2) Global Native Armor[] Function ArrayArmorBlend(Armor[] arr1, Armor[] arr2) Global Native ArmorAddon[] Function ArrayArmorAddonBlend(ArmorAddon[] arr1, ArmorAddon[] arr2) Global Native Spell[] Function ArraySpellBlend(Spell[] arr1, Spell[] arr2) Global Native MagicEffect[] Function ArrayMagicEffectBlend(MagicEffect[] arr1, MagicEffect[] arr2) Global Native Enchantment[] Function ArrayEnchantmentBlend(Enchantment[] arr1, Enchantment[] arr2) Global Native Potion[] Function ArrayPotionBlend(Potion[] arr1, Potion[] arr2) Global Native Ingredient[] Function ArrayIngredientBlend(Ingredient[] arr1, Ingredient[] arr2) Global Native Keyword[] Function ArrayKeywordBlend(Keyword[] arr1, Keyword[] arr2) Global Native Location[] Function ArrayLocationBlend(Location[] arr1, Location[] arr2) Global Native GlobalVariable[] Function ArrayGlobalBlend(GlobalVariable[] arr1, GlobalVariable[] arr2) Global Native Book[] Function ArrayBookBlend(Book[] arr1, Book[] arr2) Global Native MiscObject[] Function ArrayMiscObjectBlend(MiscObject[] arr1, MiscObject[] arr2) Global Native Ammo[] Function ArrayAmmoBlend(Ammo[] arr1, Ammo[] arr2) Global Native Race[] Function ArrayRaceBlend(Race[] arr1, Race[] arr2) Global Native Quest[] Function ArrayQuestBlend(Quest[] arr1, Quest[] arr2) Global Native Perk[] Function ArrayPerkBlend(Perk[] arr1, Perk[] arr2) Global Native Cell[] Function ArrayCellBlend(Cell[] arr1, Cell[] arr2) Global Native ConstructibleObject[] Function ArrayCobjBlend(ConstructibleObject[] akarr1, ConstructibleObject[] akarr2) Global Native Formlist[] Function ArrayFormlistBlend(Formlist[] arr1, Formlist[] arr2) Global Native ; Array Difference ====================================================================== ; Removes any occurence of any element of Exclude from input. Returns the remainder. Int[] Function ArrayIntDifference(Int[] Input, Int[] Exclude) Global Native String[] Function ArrayStringDifference(String[] Input, String[] Exclude) Global Native Form[] Function ArrayFormDifference(Form[] Input, Form[] Exclude) Global Native ObjectReference[] Function ArrayRefDifference(ObjectReference[] Input, ObjectReference[] Exclude) Global Native Actor[] Function ArrayActorDifference(Actor[] Input, Actor[] Exclude) Global Native ActorBase[] Function ArrayActorBaseDifference(ActorBase[] Input, ActorBase[] Exclude) Global Native Faction[] Function ArrayFactionDifference(Faction[] Input, Faction[] Exclude) Global Native Weapon[] Function ArrayWeaponDifference(Weapon[] Input, Weapon[] Exclude) Global Native Armor[] Function ArrayArmorDifference(Armor[] Input, Armor[] Exclude) Global Native ArmorAddon[] Function ArrayArmorAddonDifference(ArmorAddon[] Input, ArmorAddon[] Exclude) Global Native Spell[] Function ArraySpellDifference(Spell[] Input, Spell[] Exclude) Global Native MagicEffect[] Function ArrayMagicEffectDifference(MagicEffect[] Input, MagicEffect[] Exclude) Global Native Enchantment[] Function ArrayEnchantmentDifference(Enchantment[] Input, Enchantment[] Exclude) Global Native Potion[] Function ArrayPotionDifference(Potion[] Input, Potion[] Exclude) Global Native Ingredient[] Function ArrayIngredientDifference(Ingredient[] Input, Ingredient[] Exclude) Global Native Keyword[] Function ArrayKeywordDifference(Keyword[] Input, Keyword[] Exclude) Global Native Location[] Function ArrayLocationDifference(Location[] Input, Location[] Exclude) Global Native GlobalVariable[] Function ArrayGlobalDifference(GlobalVariable[] Input, GlobalVariable[] Exclude) Global Native Book[] Function ArrayBookDifference(Book[] Input, Book[] Exclude) Global Native MiscObject[] Function ArrayMiscObjectDifference(MiscObject[] Input, MiscObject[] Exclude) Global Native Ammo[] Function ArrayAmmoDifference(Ammo[] Input, Ammo[] Exclude) Global Native Race[] Function ArrayRaceDifference(Race[] Input, Race[] Exclude) Global Native Quest[] Function ArrayQuestDifference(Quest[] Input, Quest[] Exclude) Global Native Perk[] Function ArrayPerkDifference(Perk[] Input, Perk[] Exclude) Global Native Cell[] Function ArrayCellDifference(Cell[] Input, Cell[] Exclude) Global Native ConstructibleObject[] Function ArrayCobjDifference(ConstructibleObject[] Input, ConstructibleObject[] Exclude) Global Native FormList[] Function ArrayFormListDifference(FormList[] input, FormList[] remove) Global Native ; Array Unique ========================================================================== ; Removes all duplicates from the Input array. Order of occurence is unchanged. Int[] Function ArrayIntUnique(Int[] Input) Global Native String[] Function ArrayStringUnique(String[] Input) Global Native Form[] Function ArrayFormUnique(Form[] Input) Global Native ObjectReference[] Function ArrayRefUnique(ObjectReference[] Input) Global Native Actor[] Function ArrayActorUnique(Actor[] Input) Global Native ActorBase[] Function ArrayActorBaseUnique(ActorBase[] Input) Global Native Faction[] Function ArrayFactionUnique(Faction[] Input) Global Native Weapon[] Function ArrayWeaponUnique(Weapon[] Input) Global Native Armor[] Function ArrayArmorUnique(Armor[] Input) Global Native ArmorAddon[] Function ArrayArmorAddonUnique(ArmorAddon[] Input) Global Native Spell[] Function ArraySpellUnique(Spell[] Input) Global Native MagicEffect[] Function ArrayMagicEffectUnique(MagicEffect[] Input) Global Native Enchantment[] Function ArrayEnchantmentUnique(Enchantment[] Input) Global Native Potion[] Function ArrayPotionUnique(Potion[] Input) Global Native Ingredient[] Function ArrayIngredientUnique(Ingredient[] Input) Global Native Keyword[] Function ArrayKeywordUnique(Keyword[] Input) Global Native Location[] Function ArrayLocationUnique(Location[] Input) Global Native GlobalVariable[] Function ArrayGlobalUnique(GlobalVariable[] Input) Global Native Book[] Function ArrayBookUnique(Book[] Input) Global Native MiscObject[] Function ArrayMiscObjectUnique(MiscObject[] Input) Global Native Ammo[] Function ArrayAmmoUnique(Ammo[] Input) Global Native Race[] Function ArrayRaceUnique(Race[] Input) Global Native Quest[] Function ArrayQuestUnique(Quest[] Input) Global Native Perk[] Function ArrayPerkUnique(Perk[] Input) Global Native Cell[] Function ArrayCellUnique(Cell[] Input) Global Native ConstructibleObject[] Function ArrayCobjUnique(ConstructibleObject[] Input) Global Native FormList[] Function ArrayFormListUnique(FormList[] array) Global Native ; Push / Pull Array ====================================================================== ; Push - Push all elements in the array +1 element and add NewValue at element 0 ; Pull - Pull all elements in the array -1 element and add NewValue at the end of the array ; DropOff: True - Value at start/end drops off. Array remains the same size. ; False - Values aren't removed. Array size +=1. Bool[] Function PushForwardBool(Bool[] InputArray, Bool NewValue, Bool DropOff = true) Global Native Int[] Function PushForwardInt(Int[] InputArray, Int NewValue, Bool DropOff = true) Global Native Float[] Function PushForwardFloat(Float[] InputArray, Float NewValue, Bool DropOff = true) Global Native String[] Function PushForwardString(String[] InputArray, String NewValue, Bool DropOff = true) Global Native Form[] Function PushForwardForm(Form[] InputArray, Form NewValue, Bool DropOff = true) Global Native ObjectReference[] Function PushForwardRef(ObjectReference[] InputArray, ObjectReference NewValue, Bool DropOff = true) Global Native Actor[] Function PushForwardActor(Actor[] InputArray, Actor NewValue, Bool DropOff = true) Global Native ActorBase[] Function PushForwardActorBase(ActorBase[] InputArray, ActorBase NewValue, Bool DropOff = true) Global Native Faction[] Function PushForwardFaction(Faction[] InputArray, Faction NewValue, Bool DropOff = true) Global Native Weapon[] Function PushForwardWeapon(Weapon[] InputArray, Weapon NewValue, Bool DropOff = true) Global Native Armor[] Function PushForwardArmor(Armor[] InputArray, Armor NewValue, Bool DropOff = true) Global Native ArmorAddon[] Function PushForwardArmorAddon(ArmorAddon[] InputArray, ArmorAddon NewValue, Bool DropOff = true) Global Native Spell[] Function PushForwardSpell(Spell[] InputArray, Spell NewValue, Bool DropOff = true) Global Native MagicEffect[] Function PushForwardMagicEffect(MagicEffect[] InputArray, MagicEffect NewValue, Bool DropOff = true) Global Native Enchantment[] Function PushForwardEnchantment(Enchantment[] InputArray, Enchantment NewValue, Bool DropOff = true) Global Native Potion[] Function PushForwardPotion(Potion[] InputArray, Potion NewValue, Bool DropOff = true) Global Native Ingredient[] Function PushForwardIngredient(Ingredient[] InputArray, Ingredient NewValue, Bool DropOff = true) Global Native Keyword[] Function PushForwardKeyword(Keyword[] InputArray, Keyword NewValue, Bool DropOff = true) Global Native Location[] Function PushForwardLocation(Location[] InputArray, Location NewValue, Bool DropOff = true) Global Native GlobalVariable[] Function PushForwardGlobal(GlobalVariable[] InputArray, GlobalVariable NewValue, Bool DropOff = true) Global Native Book[] Function PushForwardBook(Book[] InputArray, Book NewValue, Bool DropOff = true) Global Native MiscObject[] Function PushForwardMiscObject(MiscObject[] InputArray, MiscObject NewValue, Bool DropOff = true) Global Native Ammo[] Function PushForwardAmmo(Ammo[] InputArray, Ammo NewValue, Bool DropOff = true) Global Native Race[] Function PushForwardRace(Race[] InputArray, Race NewValue, Bool DropOff = true) Global Native Quest[] Function PushForwardQuest(Quest[] InputArray, Quest NewValue, Bool DropOff = true) Global Native Perk[] Function PushForwardPerk(Perk[] InputArray, Perk NewValue, Bool DropOff = true) Global Native Cell[] Function PushForwardCell(Cell[] InputArray, Cell NewValue, Bool DropOff = true) Global Native ConstructibleObject[] Function PushForwardCobj(ConstructibleObject[] InputArray, ConstructibleObject NewValue, Bool DropOff = true) Global Native FormList[] Function PushForwardFormList(FormList[] InputArray, FormList NewValue, Bool DropOff = true) Global Native Bool[] Function PullBackBool(Bool[] InputArray, Bool NewValue, Bool DropOff = true) Global Native Int[] Function PullBackInt(Int[] InputArray, Int NewValue, Bool DropOff = true) Global Native Float[] Function PullBackFloat(Float[] InputArray, Float NewValue, Bool DropOff = true) Global Native String[] Function PullBackString(String[] InputArray, String NewValue, Bool DropOff = true) Global Native Form[] Function PullBackForm(Form[] InputArray, Form NewValue, Bool DropOff = true) Global Native ObjectReference[] Function PullBackRef(ObjectReference[] InputArray, ObjectReference NewValue, Bool DropOff = true) Global Native Actor[] Function PullBackActor(Actor[] InputArray, Actor NewValue, Bool DropOff = true) Global Native ActorBase[] Function PullBackActorBase(ActorBase[] InputArray, ActorBase NewValue, Bool DropOff = true) Global Native Faction[] Function PullBackFaction(Faction[] InputArray, Faction NewValue, Bool DropOff = true) Global Native Weapon[] Function PullBackWeapon(Weapon[] InputArray, Weapon NewValue, Bool DropOff = true) Global Native Armor[] Function PullBackArmor(Armor[] InputArray, Armor NewValue, Bool DropOff = true) Global Native ArmorAddon[] Function PullBackArmorAddon(ArmorAddon[] InputArray, ArmorAddon NewValue, Bool DropOff = true) Global Native Spell[] Function PullBackSpell(Spell[] InputArray, Spell NewValue, Bool DropOff = true) Global Native MagicEffect[] Function PullBackMagicEffect(MagicEffect[] InputArray, MagicEffect NewValue, Bool DropOff = true) Global Native Enchantment[] Function PullBackEnchantment(Enchantment[] InputArray, Enchantment NewValue, Bool DropOff = true) Global Native Potion[] Function PullBackPotion(Potion[] InputArray, Potion NewValue, Bool DropOff = true) Global Native Ingredient[] Function PullBackIngredient(Ingredient[] InputArray, Ingredient NewValue, Bool DropOff = true) Global Native Keyword[] Function PullBackKeyword(Keyword[] InputArray, Keyword NewValue, Bool DropOff = true) Global Native Location[] Function PullBackLocation(Location[] InputArray, Location NewValue, Bool DropOff = true) Global Native GlobalVariable[] Function PullBackGlobal(GlobalVariable[] InputArray, GlobalVariable NewValue, Bool DropOff = true) Global Native Book[] Function PullBackBook(Book[] InputArray, Book NewValue, Bool DropOff = true) Global Native MiscObject[] Function PullBackMiscObject(MiscObject[] InputArray, MiscObject NewValue, Bool DropOff = true) Global Native Ammo[] Function PullBackAmmo(Ammo[] InputArray, Ammo NewValue, Bool DropOff = true) Global Native Race[] Function PullBackRace(Race[] InputArray, Race NewValue, Bool DropOff = true) Global Native Quest[] Function PullBackQuest(Quest[] InputArray, Quest NewValue, Bool DropOff = true) Global Native Perk[] Function PullBackPerk(Perk[] InputArray, Perk NewValue, Bool DropOff = true) Global Native Cell[] Function PullBackCell(Cell[] InputArray, Cell NewValue, Bool DropOff = true) Global Native ConstructibleObject[] Function PullBackCobj(ConstructibleObject[] InputArray, ConstructibleObject NewValue, Bool DropOff = true) Global Native FormList[] Function PullBackFormList(FormList[] InputArray, FormList NewValue, Bool DropOff = true) Global Native
_MGF_ArrayQuery:
Spoiler
Scriptname _MGF_ArrayQuery Hidden ;/ Advise 'import'ing all three array scripts for easy access. That way you don't need to remember which function is in which script. Import _MGF_ArrayCreate Import _MGF_ArrayEdit Import _MGF_ArrayQuery /; ; Regular Find for types without support in vanilla papyrus Int Function ArrayRefFind(ObjectReference[] Input, ObjectReference Value, Int StartIndex = 0) Global Native Int Function ArrayActorFind(Actor[] Input, Actor Value, Int StartIndex = 0) Global Native Int Function ArrayActorBaseFind(ActorBase[] Input, ActorBase Value, Int StartIndex = 0) Global Native Int Function ArrayFactionFind(Faction[] Input, Faction Value, Int StartIndex = 0) Global Native Int Function ArrayWeaponFind(Weapon[] Input, Weapon Value, Int StartIndex = 0) Global Native Int Function ArrayArmorFind(Armor[] Input, Armor Value, Int StartIndex = 0) Global Native Int Function ArrayArmorAddonFind(ArmorAddon[] Input, ArmorAddon Value, Int StartIndex = 0) Global Native Int Function ArraySpellFind(Spell[] Input, Spell Value, Int StartIndex = 0) Global Native Int Function ArrayMagicEffectFind(MagicEffect[] Input, MagicEffect Value, Int StartIndex = 0) Global Native Int Function ArrayEnchantmentFind(Enchantment[] Input, Enchantment Value, Int StartIndex = 0) Global Native Int Function ArrayPotionFind(Potion[] Input, Potion Value, Int StartIndex = 0) Global Native Int Function ArrayIngredientFind(Ingredient[] Input, Ingredient Value, Int StartIndex = 0) Global Native Int Function ArrayKeywordFind(Keyword[] Input, Keyword Value, Int StartIndex = 0) Global Native Int Function ArrayLocationFind(Location[] Input, Location Value, Int StartIndex = 0) Global Native Int Function ArrayGlobalFind(GlobalVariable[] Input, GlobalVariable Value, Int StartIndex = 0) Global Native Int Function ArrayBookFind(Book[] Input, Book Value, Int StartIndex = 0) Global Native Int Function ArrayMiscObjectFind(MiscObject[] Input, MiscObject Value, Int StartIndex = 0) Global Native Int Function ArrayAmmoFind(Ammo[] Input, Ammo Value, Int StartIndex = 0) Global Native Int Function ArrayRaceFind(Race[] Input, Race Value, Int StartIndex = 0) Global Native Int Function ArrayQuestFind(Quest[] Input, Quest Value, Int StartIndex = 0) Global Native Int Function ArrayPerkFind(Perk[] Input, Perk Value, Int StartIndex = 0) Global Native Int Function ArrayCellFind(Cell[] Input, Cell Value, Int StartIndex = 0) Global Native Int Function ArrayCobjFind(ConstructibleObject[] Input, ConstructibleObject Value, Int StartIndex = 0) Global Native Int Function ArrayFormListFind(FormList[] Input, FormList Value, Int StartIndex = 0) Global Native ; Array FindAll ========================================================================= ; Return the indices of all elements that match Value ; Note on caseSensitive: Papyrus is case insensitive and depending on the string table ; you may not be able to pass a string with the case format you desire. So the recommended default is false. ; Tolerance: How close a float can be to match - floating point error tolerance. Int[] Function ArrayBoolFindAll(Bool[] Input, Bool Value) Global Native Int[] Function ArrayIntFindAll(Int[] Input, Int Value) Global Native Int[] Function ArrayFloatFindAll(Float[] Input, Float Value, Float Tolerance = 0.0001) Global Native Int[] Function ArrayStringFindAll(String[] Input, String Value, Bool caseSensitive = false) Global Native Int[] Function ArrayFormFindAll(Form[] Input, Form Value) Global Native Int[] Function ArrayRefFindAll(ObjectReference[] Input, ObjectReference Value) Global Native Int[] Function ArrayActorFindAll(Actor[] Input, Actor Value) Global Native Int[] Function ArrayActorBaseFindAll(ActorBase[] Input, ActorBase Value) Global Native Int[] Function ArrayFactionFindAll(Faction[] Input, Faction Value) Global Native Int[] Function ArrayWeaponFindAll(Weapon[] Input, Weapon Value) Global Native Int[] Function ArrayArmorFindAll(Armor[] Input, Armor Value) Global Native Int[] Function ArrayArmorAddonFindAll(ArmorAddon[] Input, ArmorAddon Value) Global Native Int[] Function ArraySpellFindAll(Spell[] Input, Spell Value) Global Native Int[] Function ArrayMagicEffectFindAll(MagicEffect[] Input, MagicEffect Value) Global Native Int[] Function ArrayEnchantmentFindAll(Enchantment[] Input, Enchantment Value) Global Native Int[] Function ArrayPotionFindAll(Potion[] Input, Potion Value) Global Native Int[] Function ArrayIngredientFindAll(Ingredient[] Input, Ingredient Value) Global Native Int[] Function ArrayKeywordFindAll(Keyword[] Input, Keyword Value) Global Native Int[] Function ArrayLocationFindAll(Location[] Input, Location Value) Global Native Int[] Function ArrayGlobalFindAll(GlobalVariable[] Input, GlobalVariable Value) Global Native Int[] Function ArrayBookFindAll(Book[] Input, Book Value) Global Native Int[] Function ArrayMiscObjectFindAll(MiscObject[] Input, MiscObject Value) Global Native Int[] Function ArrayAmmoFindAll(Ammo[] Input, Ammo Value) Global Native Int[] Function ArrayRaceFindAll(Race[] Input, Race Value) Global Native Int[] Function ArrayQuestFindAll(Quest[] Input, Quest Value) Global Native Int[] Function ArrayPerkFindAll(Perk[] Input, Perk Value) Global Native Int[] Function ArrayCellFindAll(Cell[] Input, Cell Value) Global Native Int[] Function ArrayCobjFindAll(ConstructibleObject[] Input, ConstructibleObject Value) Global Native Int[] Function ArrayFormListFindAll(FormList[] Input, FormList Value) Global Native ; Array FindLasr ======================================================================== ; Returns the index of the last occurence of Value in the input array. Returns -1 if not found. Int Function ArrayIntFindLast(Int[] Input, Int Value) Global Native Int Function ArrayStringFindLast(String[] Input, String Value) Global Native Int Function ArrayFormFindLast(Form[] Input, Form Value) Global Native ; Array Count =========================================================================== ; Returns a count of the number of occurences of 'Value' in the Input array Int Function ArrayIntCount(Int[] Input, Int Value) Global Native Int Function ArrayStringCount(String[] Input, String Value) Global Native Int Function ArrayFormCount(Form[] Input, Form Value) Global Native ; Array Intersection ==================================================================== ; Returns indices from arr1 that also exist in arr2 Int[] Function ArrayIntIntersection(Int[] arr1, Int[] arr2) Global Native Int[] Function ArrayFloatIntersection(Float[] arr1, Float[] arr2, Float Tolerance = 0.0001) Global Native Int[] Function ArrayStringIntersection(String[] arr1, String[] arr2, Bool caseSensitive = false) Global Native Int[] Function ArrayFormIntersection(Form[] arr1, Form[] arr2) Global Native ; Array IntersectionValues ============================================================= ; Returns values from arr1 that also exist in arr2. String version is case insensitive. Int[] Function ArrayIntIntersectionValues(Int[] arr1, Int[] arr2) Global Native Float[] Function ArrayFloatIntersectionValues(Float[] arr1, Float[] arr2, Float tolerance = 0.0001) Global Native String[] Function ArrayStringIntersectionValues(String[] arr1, String[] arr2) Global Native Form[] Function ArrayFormIntersectionValues(Form[] arr1, Form[] arr2) Global Native ObjectReference[] Function ArrayRefIntersectionValues(ObjectReference[] arr1, ObjectReference[] arr2) Global Native Actor[] Function ArrayActorIntersectionValues(Actor[] arr1, Actor[] arr2) Global Native ActorBase[] Function ArrayActorBaseIntersectionValues(ActorBase[] arr1, ActorBase[] arr2) Global Native Faction[] Function ArrayFactionIntersectionValues(Faction[] arr1, Faction[] arr2) Global Native Weapon[] Function ArrayWeaponIntersectionValues(Weapon[] arr1, Weapon[] arr2) Global Native Armor[] Function ArrayArmorIntersectionValues(Armor[] arr1, Armor[] arr2) Global Native ArmorAddon[] Function ArrayArmorAddonIntersectionValues(ArmorAddon[] arr1, ArmorAddon[] arr2) Global Native Spell[] Function ArraySpellIntersectionValues(Spell[] arr1, Spell[] arr2) Global Native MagicEffect[] Function ArrayMagicEffectIntersectionValues(MagicEffect[] arr1, MagicEffect[] arr2) Global Native Enchantment[] Function ArrayEnchantmentIntersectionValues(Enchantment[] arr1, Enchantment[] arr2) Global Native Potion[] Function ArrayPotionIntersectionValues(Potion[] arr1, Potion[] arr2) Global Native Ingredient[] Function ArrayIngredientIntersectionValues(Ingredient[] arr1, Ingredient[] arr2) Global Native Keyword[] Function ArrayKeywordIntersectionValues(Keyword[] arr1, Keyword[] arr2) Global Native Location[] Function ArrayLocationIntersectionValues(Location[] arr1, Location[] arr2) Global Native GlobalVariable[] Function ArrayGlobalIntersectionValues(GlobalVariable[] arr1, GlobalVariable[] arr2) Global Native Book[] Function ArrayBookIntersectionValues(Book[] arr1, Book[] arr2) Global Native MiscObject[] Function ArrayMiscObjectIntersectionValues(MiscObject[] arr1, MiscObject[] arr2) Global Native Ammo[] Function ArrayAmmoIntersectionValues(Ammo[] arr1, Ammo[] arr2) Global Native Race[] Function ArrayRaceIntersectionValues(Race[] arr1, Race[] arr2) Global Native Quest[] Function ArrayQuestIntersectionValues(Quest[] arr1, Quest[] arr2) Global Native Perk[] Function ArrayPerkIntersectionValues(Perk[] arr1, Perk[] arr2) Global Native Cell[] Function ArrayCellIntersectionValues(Cell[] arr1, Cell[] arr2) Global Native ConstructibleObject[] Function ArrayCobjIntersectionValues(ConstructibleObject[] arr1, ConstructibleObject[] arr2) Global Native FormList[] Function ArrayFormListIntersectionValues(FormList[] arr1, FormList[] arr2) Global Native ; Array FilterByIndices ================================================================= ; reverse = false: Removes the elements of Input at the specified akIndices ; reverse = true: Return only the elements at the specified akIndices Bool[] Function ArrayBoolFilterByIndices(Bool[] Input, Int[] akIndices, bool reverse = false) Global Native Int[] Function ArrayIntFilterByIndices(Int[] Input, Int[] akIndices, bool reverse = false) Global Native Float[] Function ArrayFloatFilterByIndices(Float[] Input, Int[] akIndices, bool reverse = false) Global Native String[] Function ArrayStringFilterByIndices(String[] Input, Int[] akIndices, bool reverse = false) Global Native Form[] Function ArrayFormFilterByIndices(Form[] Input, Int[] akIndices, bool reverse = false) Global Native ; Reorders akArray by akIndices: result[i] = akArray[akIndices[i]]. ; Output length follows akIndices, not akArray. An out-of-range index is skipped. Bool[] Function ArrayBoolSortByIndices(Bool[] akArray, Int[] akIndices) Global Native Int[] Function ArrayIntSortByIndices(Int[] akArray, Int[] akIndices) Global Native Float[] Function ArrayFloatSortByIndices(Float[] akArray, Int[] akIndices) Global Native String[] Function ArrayStringSortByIndices(String[] akArray, Int[] akIndices) Global Native Form[] Function ArrayFormSortByIndices(Form[] akArray, Int[] akIndices) Global Native ObjectReference[] Function ArrayRefSortByIndices(ObjectReference[] akArray, Int[] akIndices) Global Native Actor[] Function ArrayActorSortByIndices(Actor[] akArray, Int[] akIndices) Global Native ActorBase[] Function ArrayActorBaseSortByIndices(ActorBase[] akArray, Int[] akIndices) Global Native Faction[] Function ArrayFactionSortByIndices(Faction[] akArray, Int[] akIndices) Global Native Weapon[] Function ArrayWeaponSortByIndices(Weapon[] akArray, Int[] akIndices) Global Native Armor[] Function ArrayArmorSortByIndices(Armor[] akArray, Int[] akIndices) Global Native ArmorAddon[] Function ArrayArmorAddonSortByIndices(ArmorAddon[] akArray, Int[] akIndices) Global Native Spell[] Function ArraySpellSortByIndices(Spell[] akArray, Int[] akIndices) Global Native MagicEffect[] Function ArrayMagicEffectSortByIndices(MagicEffect[] akArray, Int[] akIndices) Global Native Enchantment[] Function ArrayEnchantmentSortByIndices(Enchantment[] akArray, Int[] akIndices) Global Native Potion[] Function ArrayPotionSortByIndices(Potion[] akArray, Int[] akIndices) Global Native Ingredient[] Function ArrayIngredientSortByIndices(Ingredient[] akArray, Int[] akIndices) Global Native Keyword[] Function ArrayKeywordSortByIndices(Keyword[] akArray, Int[] akIndices) Global Native Location[] Function ArrayLocationSortByIndices(Location[] akArray, Int[] akIndices) Global Native GlobalVariable[] Function ArrayGlobalSortByIndices(GlobalVariable[] akArray, Int[] akIndices) Global Native Book[] Function ArrayBookSortByIndices(Book[] akArray, Int[] akIndices) Global Native MiscObject[] Function ArrayMiscObjectSortByIndices(MiscObject[] akArray, Int[] akIndices) Global Native Ammo[] Function ArrayAmmoSortByIndices(Ammo[] akArray, Int[] akIndices) Global Native Race[] Function ArrayRaceSortByIndices(Race[] akArray, Int[] akIndices) Global Native Quest[] Function ArrayQuestSortByIndices(Quest[] akArray, Int[] akIndices) Global Native Perk[] Function ArrayPerkSortByIndices(Perk[] akArray, Int[] akIndices) Global Native Cell[] Function ArrayCellSortByIndices(Cell[] akArray, Int[] akIndices) Global Native ConstructibleObject[] Function ArrayCobjSortByIndices(ConstructibleObject[] akArray, Int[] akIndices) Global Native FormList[] Function ArrayFormListSortByIndices(FormList[] akArray, Int[] akIndices) Global Native ; Odd Array Ops ========================================================================= ; Append or prepend a string to every string in Input array. String[] Function ArrayStringConcatElements(String[] Input, String Value, Bool Prefix) Global Native ; Convert a string array into a single string separated by ',' (configurable separator). String Function ArrayStringJoin(String[] Input, String Separator = ",") Global Native ; Convert a comma separated (configurable separator) string into a string array. String[] Function ArrayStringSplit(String Input, String Separator = ",") Global Native ; Searches all elements of Input for Match and replaces according to parameters. ; FullMatch: True -> entire element must equal Match. False: Substring match. ; FullReplace: True -> Entire element is replaced with <Replace>. False -> Only the matched substring(s) within the element are replaced. ; FirstMatchOnly: True -> Only the first occurrence in each element is replaced. False -> Every occurrence within each element are replaced. ; Note: Papyrus is notoriously case insensitive. So this is too. String[] Function ArrayStringFindAndReplace(String[] Input, String Match, String Replace, Bool FullMatch = True, Bool FullReplace = True, Bool FirstMatchOnly = False) Global Native ; Reduces keyword array so it contains at most 1 keyword from the filter list. ; Keywords not in filter list are always kept. ; If multiple matches exist, randomly keeps only one. Keyword[] Function ArrayKeywordReduceToOne(Keyword[] akKwds, Keyword[] akFilterKwds) Global Native ; Returns a sorted copy of the input array by distance from the origin reference. ; Origin: The reference to measure distance from. If this is none then the input array is returned unchanged. ; MinDistance: Minimum distance from the origin reference. -1.0 = No limit. ; MaxDistance: Maximum distance from the origin reference. -1.0 = No limit. ; Ascending: True - Sort nearest to furthest. False - Sort furthest to nearest. ; AllowNones: True - Don't remove any 'Nones' from the array (same array length). False - Remove all 'Nones'. ; Any 'Nones' (if allowed) are sorted to the end of the array. Actor[] Function ArrayActorSortByDistance(Actor[] akActors, ObjectReference Origin, Float MinDistance = -1.0, Float MaxDistance = -1.0, Bool Ascending = True, Bool AllowNones = False) Global Native ObjectReference[] Function ArrayObjRefSortByDistance(ObjectReference[] ObjRefs, ObjectReference Origin, Float MinDistance = -1.0, Float MaxDistance = -1.0, Bool Ascending = True, Bool AllowNones = False) Global Native ; Returns the names of a reference array as a String array. ; DisplayName: False = Gets the base object name. True = Get the display name. ; AllowNones: True = Keep 'Nones' in the array (same array size). False: Discard any 'Nones'. ; StripEmpty: True = Valid refs that resolve to "" are discarded. False: Keep references with empty names (same array size). String[] Function ArrayObjRefGetNames(ObjectReference[] ObjRefs, Bool DisplayName = False, Bool AllowNones = False, Bool StripEmpty = False) Global Native String[] Function ArrayActorGetNames(Actor[] akActors, Bool DisplayName = False, Bool AllowNones = False, Bool StripEmpty = False) Global Native ; Remove children/adults from an array. ; ReturnChildren: False = Adults only. True = Children only. ; Function checks the flag on the race record. Actor[] Function ArrayActorFilterChildren(Actor[] akActors, Bool ReturnChildren = false) Global Native ; Int Array Arithmetic ================================================================== ; Return sum of all elements Int Function ArrayIntSum(Int[] arr) Global Native ; Return average of all elements Int Function ArrayIntAverage(Int[] arr) Global Native ; Return minimum value in array Int Function ArrayIntMin(Int[] arr) Global Native ; Return maximum value in array Int Function ArrayIntMax(Int[] arr) Global Native ; Add value to all elements Int[] Function ArrayIntAdd(Int[] arr, Int value) Global Native ; Subtract value from all elements Int[] Function ArrayIntSubtract(Int[] arr, Int value) Global Native ; Multiply all elements by value Int[] Function ArrayIntMultiply(Int[] arr, Int value) Global Native ; Divide all elements by value (integer division) Int[] Function ArrayIntDivide(Int[] arr, Int value) Global Native ; Clamp all values between min and max Int[] Function ArrayIntClamp(Int[] arr, Int minValue, Int maxValue) Global Native ; Get absolute value of all elements Int[] Function ArrayIntAbs(Int[] arr) Global Native ; Element-wise addition: result[i] = arr1[i] + arr2[i] Int[] Function ArrayIntElementWiseAdd(Int[] arr1, Int[] arr2) Global Native ; Element-wise multiplication: result[i] = arr1[i] * arr2[i] Int[] Function ArrayIntElementWiseMultiply(Int[] arr1, Int[] arr2) Global Native ; Float Array Arithmetic ================================================================ ; Return sum of all elements Float Function ArrayFloatSum(Float[] arr) Global Native ; Return average of all elements Float Function ArrayFloatAverage(Float[] arr) Global Native ; Return minimum value in array Float Function ArrayFloatMin(Float[] arr) Global Native ; Return maximum value in array Float Function ArrayFloatMax(Float[] arr) Global Native ; Add value to all elements Float[] Function ArrayFloatAdd(Float[] arr, Float value) Global Native ; Subtract value from all elements Float[] Function ArrayFloatSubtract(Float[] arr, Float value) Global Native ; Multiply all elements by value Float[] Function ArrayFloatMultiply(Float[] arr, Float value) Global Native ; Divide all elements by value Float[] Function ArrayFloatDivide(Float[] arr, Float value) Global Native ; Clamp all values between min and max Float[] Function ArrayFloatClamp(Float[] arr, Float minValue, Float maxValue) Global Native ; Get absolute value of all elements Float[] Function ArrayFloatAbs(Float[] arr) Global Native ; Round all elements to nearest integer Float[] Function ArrayFloatRound(Float[] arr) Global Native ; Floor all elements (round down) Float[] Function ArrayFloatFloor(Float[] arr) Global Native ; Ceiling all elements (round up) Float[] Function ArrayFloatCeiling(Float[] arr) Global Native ; Normalize array to 0-1 range Float[] Function ArrayFloatNormalize(Float[] arr) Global Native ; Element-wise addition: result[i] = arr1[i] + arr2[i] Float[] Function ArrayFloatElementWiseAdd(Float[] arr1, Float[] arr2) Global Native ; Element-wise multiplication: result[i] = arr1[i] * arr2[i] Float[] Function ArrayFloatElementWiseMultiply(Float[] arr1, Float[] arr2) Global Native
Edited by Monoman1
0
0 Comments
Recommended Comments
There are no comments to display.