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
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
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}
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
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
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
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