0 of 0

File information

Last updated

Original upload

Created by

epinter

Uploaded by

epinter

Virus scan

Safe to use

Tags for this mod

Documentation

Readme

View as plain text

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 https://en.uesp.net/wiki/Skyrim_Mod:Mod_File_Format/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 https://en.uesp.net/wiki/Skyrim_Mod:Mod_File_Format/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.

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: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-5.1

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

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

- 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

- 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 ALL ARMA(ArmorAddon) RECORDS GROUPING BY SLOT (how many records using each slot)
.\armoraddon-slot-count.ps1

KNOWN ISSUES
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