Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

epinter

Uploaded by

epinter

Virus scan

Safe to use

Tags for this mod

About this mod

SSEEdit script to export ARMO and ARMA records to CSV file. Powershell scripts are provided to query and filter the data.

Requirements
Permissions and credits
DESCRIPTION
SSEEdit script to export ARMO and ARMA records to CSV file. Powershell scripts are provided to query and filter the data.

ARMO(ARMOR) AND ARMA(ARMOR ADDON) RECORDS
Explanation from UESP ARMO:
An ARMO record is an individual equippable piece, the most obvious of which is armor but includes shields, jewelry, clothing.
Models as they exist here are specifically referring to ground and inventory models, ARMA models cover worn.

Explanation from UESP ARMA:
ARMA records contain armature data, which is how armor (or similar) is displayed on a model. These also contain information on bare (ie unarmored) models, presumably combined with specific armor/addons. For creatures, this can be potentially only 1 record.
Each record has the potential for gender-separated models, as well as 1st person vs. 3rd person and also a list of races that this qualifies for.

INSTALLATION
Extract the files to SSEEDIT directory, the "Export armor to CSV.pas" should stay in Edit Script folder. The PS-Scripts folder should be in the same directory as SSEEdit.exe, like this:
Edit Script
PS-Scripts
SSEEdit.exe

HOW TO USE
Open SSEEdit, click on the plugin area on the left over any plugin, use CTRL+A to select ALL plugins. Then right-click in over any of the selected plugin, and click on "Apply Script". Select the script "Export armor to CSV", and click "OK".
A load order with 2.2M records can take more than 4 minutes to finish. The script will generate 4 CSV files on SSEEdit directory.

HOW TO USE SSEEdit
Please use the guide from Step: https://stepmodifications.org/wiki/Guide:XEdit

WHY NOT USE THE SSEEDIT SPREADSHEETS ?
Powershell and CSV's are flexible, permits any kind of filter.

POWERSHELL IS DISABLED
By default, Powershell script can't be executed on Windows. If you want to execute the scripts, you need to execute the command Set-ExecutionPolicy, as described in the official document: about_Execution_Policies

It is common to set the policy to Unrestricted, but it will open your PC to any powershell execution. The Windows default is Restricted.
You can set to Unrestricted, use the scripts and set back to Restricted.

Example:
Set-ExecutionPolicy -ExecutionPolicy Restricted

THE POWERSHELL SCRIPTS
These powershell scripts reads the CSV files and shows data, nothing is written. No application is executed, only builtin powershell commands are used.

POWERSHELL SCRIPTS EXAMPLES
To use the scripts open Powershell, go to the PS-Scripts directory and run the commands below. The scripts open the CSV files from the directory where SSEEdit.exe is located (parent directory of PS-Script), if you move the CSV files or the scripts, they won't work.

- GET ALL ARMO(Armor)
.\get-armor.ps1


- GET ALL ARMA(ArmorAddon)
.\get-armoraddon.ps1 -all
Spoiler:  
Show

Plugin: [0] Skyrim.esm
RecordType : ARMO
FormID: 00000D64
EditorID : SkinNaked
Slot : 30,32,33,37
Race : NordRace "Nord" [RACE:00013746]
Name :
MaleModel:
FemaleModel :
Type : None
Enchantment :
ArmorRating : 0
Weight: 0
Value : 0
Keywords : {}
ArmorAddon : {NakedTorsoChild, NakedHorseAA, NakedSabreCatSnowyAA, NakedTorsoDarkElf...}

Plugin: [0] Skyrim.esm
RecordType : ARMO
FormID: 00012E46
EditorID : ArmorIronGauntlets
Slot : 33
Race : DefaultRace "Default Race" [RACE:00000019]
Name : Iron Gauntlets
MaleModel: Armor\Iron\Male\GauntletsGND.nif
FemaleModel :
Type : Heavy
Enchantment :
ArmorRating : 10
Weight: 5
Value : 25
Keywords : {PerkFistsIron, ArmorHeavy, ArmorMaterialIron, ArmorGauntlets...}
ArmorAddon : {IronGlovesAA}



- GET SOME ARMO(Armor)
.\get-armor.ps1 | ?{ $_.FormID -in '0005DB85', '0005DB86', '0005DB87','0005DB86' }

- GET AN ARMO(Armor) WITH SLOT FIELD CONVERTED TO ARRAY
.\get-armor.ps1 -formId 00013940 -slotAsArray

- GET AN ARMO(Armor) WITH RECORDS SPLITTED BY SLOT FIELD. WHEN A RECORD USES 2 SLOT, THIS WILL RETURN 2 RECORDS
.\get-armor.ps1 -formId 00013940 -splitBySlot

- GET ALL ARMO(Armor) RECORDS FROM 'Skyrim.esm' WITH 'steel gauntlets' IN THE NAME WITH ENCHANTMENTS
.\get-armor.ps1 | ?{ $_.Plugin -imatch ' Skyrim.esm' -and $_.Name -imatch 'steel gauntlets' -and $_.Enchantment}
Spoiler:  
Show

Plugin: [0] Skyrim.esm
RecordType : ARMO
FormID: 000B50BE
EditorID : EnchArmorSteelGauntletsMarksman01
Slot : 33
Race : DefaultRace "Default Race" [RACE:00000019]
Name : Steel Gauntlets of Minor Archery
MaleModel: Armor\Steel\GauntletsSteelGO.nif
FemaleModel : Armor\Steel\GauntletsSteelGO.nif
Type : Heavy
Enchantment : EnchArmorFortifyMarksman01 "Fortify Archery" [ENCH:0007A113]
ArmorRating : 12
Weight: 4
Value : 55
Keywords : {ArmorHeavy, ArmorMaterialSteel, ArmorGauntlets, VendorItemArmor...}
ArmorAddon : {SteelGlovesAA, SteelGlovesArgAA, SteelGlovesKhaAA}



- GET ALL ARMA(ArmorAddon) RECORDS FROM EXAMPLE ABOVE
.\get-armor.ps1 | ?{ $_.Plugin -imatch ' Skyrim.esm' -and $_.Name -imatch 'steel gauntlets' -and $_.Enchantment} | .\get-armoraddon.ps1
Spoiler:  
Show

Plugin: [0] Skyrim.esm
RecordType : ARMA
FormID: 000179AF
EditorID : SteelGlovesAA
Slot : 33,34
Race : DefaultRace "Default Race" [RACE:00000019]
MaleModel: Armor\Steel\Gauntlets_1.nif
FemaleModel : Armor\Steel\F\Gauntlets_1.nif
MaleModel1stPerson: Armor\Steel\1stPersonGauntlets_1.nif
FemaleModel1stPerson : Armor\Steel\F\1stPersonGauntlets_1.nif
AdditionalRaces: {}
_ArmoRef : EnchArmorSteelGauntletsSmithing03 "Steel Gauntlets of Major Smithing" [ARMO:0008B695]

 
- GET AN ARMO(Armor) RECORD BY EDITORID
.\get-armor.ps1 -editorId EnchArmorImperialLightGauntletsMarksman03

- GET AN ARMO(Armor) RECORD BY FORMID
.\get-armor.ps1 -formId 000B9745

- GET ARMA(ArmorAddon) RECORDS FROM AN ARMO(Armo) RECORD (here you can view the slots used by the item)
.\get-armor.ps1 -formId 000B9745 | .\get-armoraddon.ps1
or
.\get-armor.ps1 | ?{ $_.FormID -in '000B9745' } | .\get-armoraddon.ps1

- GET AN ARMA(ArmorAddon) RECORD BY EDITORID
.\get-armoraddon.ps1 -editorId ImperialGlovesLightAA

- GET AN ARMA(ArmorAddon) RECORD BY EDITORID WITH SLOT FIELD CONVERTED TO ARRAY
.\get-armoraddon.ps1 -editorId ImperialGlovesLightAA -slotAsArray

- GET AN ARMA(ArmorAddon) RECORD BY FORMID
.\get-armoraddon.ps1 -formId 00013ED4

- GET ARMA RECORDS FROM ARMO(Armor) BY FILTERING BY TWO KEYWORDS
.\armor-by-keyword.ps1 -keyword ArmorHeavy | ?{$_.Keywords -contains 'ArmorHelmet'} | .\get-armoraddon.ps1

- LIST PLUGINS, FORMID AND EDITORID WITH ARMA(ArmorAddon) RECORDS USING SLOT 55
.\armoraddon-by-slot.ps1 -slot 55 | ft plugin,formid,editorid

- LIST PLUGINS, FORMID AND EDITORID WITH ARMO(Armor) RECORDS USING SLOT 55
.\armor-by-slot.ps1 -slot 55 | ft plugin,formid,editorid

- COUNT ALL ARMO(Armor) RECORDS GROUPING BY SLOT (how many records using each slot)
.\armor-slot-count.ps1
Spoiler:  
Show


Count Name
----- ----
686  30
1736 31
3181 32
1353 33
  81 34
 316 35
 277 36
1429 37
  73 38
 842 39
  28 40
 115 41
1553 42
 305 43
  92 44
 220 45
 108 46
  68 47
  58 48
 351 49
   8 50
  10 51
 185 52
 178 53
  45 54
  22 55
 174 56
 150 57
 132 58
 107 59
  44 60
  33 61


- COUNT ALL ARMA(ArmorAddon) RECORDS GROUPING BY SLOT (how many records using each slot)
.\armoraddon-slot-count.ps1
Spoiler:  
Show

Count Name
----- ----
601  30
1238 31
1681 32
600  33
1211 34
438  35
256  36
589  37
1232 38
433  39
40   40
640  41
338  42
470  43
106  44
144  45
80   46
55   47
191  48
277  49
 5   50
 7   51
166  52
129  53
228  54
 43  55
 96  56
 79  57
 65  58
 61  59
 20  60
 29  61



NOTES
Export all records with 'Additional Races' field takes a long time (more than 20 minutes), so this field is disabled. If you want it, edit the script and change the last line of Initialize function:
RetrieveAddRaces := False
to
RetrieveAddRaces := True