Posts
Werewolf Meter Papyrus Script Overview
Article #6 in a 10-part series.
- 1 - Skyrim Special Edition Released
- 2 - Convert Old Skyrim Mods for SE
- 3 - How to Disable Random Dragons in Skyrim
- 4 - Convert Black Sacrament Armor to SE Step-by-Step
- 5 - How to Update Meshes for Skyrim SE
- 6 - this article
- 7 - Skyrim SE - XPMSSE: Modify Weapon Positions
- 8 - Show Your Tail With Campfire Cloak In Skyrim
- 9 - Skyrim Frostfall and Survival Armor Edit for Warmth
- 10 - Frostfall SE with SKSE64
updated 2020 January for Werewolf Time Meter version 2
This article introduces some Papyrus scripting techniques and reviews my scripts for “Werewolf Time Meter” mod for Skyrim Special Edition. In a nutshell, the “Werewolf Time Meter” borrows the blue magicka bar as a countdown meter during beast form transformation. If you have limited experience writing scripts or programs, please see introduction and tutorials on Papyrus Reference.
resources
- Werewolf Time Meter on nexusmods.com includes script sources in archive (BSA) or on GitHub
- Creation Kit Papyrus Reference on creationkit.com
- Setup for Script Work with Creation Kit and Notepad++
intro
Instead of focusing on learning Papyrus, I go over technique and the workings of the two scripts making up “Werewolf Time Meter.” See “Creation Kit Papyrus Reference” for brief examples and tutorials.
The mod includes three script files (actually four): a spell-effect script allows the player to enable and disable the meter and the other controls, a main controller to display the meter, and a player-alias script to handle events. In the plugin there exists a spell effect to disable (damage) magicka regeneration preventing the time meter bar growing until beast form ends. This means upon detecting the player’s character has become a beast, the spell effect must be added. Remove if exists when not in beast form.
The player-alias OnRaceChangeEvent alerts the main script to check if beast or not to start or stop updating the magicka bar. During transformation the main script polls infrequently to calculate time remaining and update the meter. Since checking the player’s condition is very fast, we could probably get away with more frequent updates but only needs to be fast enough to update bar. 3-7 seconds seems acceptable.
Since the player cannot normally use power spells in beast form, we could probably forget the case of enable/disable toggle during beast form. However, mods may exist allowing it so we should at least consider the possibility. We should also consider odd scenarios and try to make the script as robust as possible.
Continue reading...2017 February Miles
Programming Problem: Pangram
Article #9 in a 9-part series.
- 1 - Programming Problem: Determine if Two Strings Are Anagrams
- 2 - Programming Problem: Sum-Zero Triplet
- 3 - Programming Problem: Palindromes
- 4 - Problem: Validate a Phone Number
- 5 - Programming Problem: Single-Edit Difference
- 6 - Prime Factors Problem 1: LCM
- 7 - Prime Factors Problem 2: Largest Prime Factor
- 8 - How-To: Substrings in Swift
- 9 - this article
Goal: write a method to determine if a string is a pangram.
observations
A pangram is a phrase using all the letters of the alphabet.
- The quick brown fox jumps over the lazy dog.
- The five boxing wizards jump quickly.
- Bright vixens jump; dozy fowl quack.
assumptions
For this problem let the alphabet consist of only letters ignoring case, and let’s assume our input may include punctuation, digits, or spaces.
program
Give it a try in your programming language of choice, and try to be brief. Test negative case by removing words from the pangram. Below I share my solutions in Swift and C#.
Continue reading...How to Update Meshes for Skyrim SE
Article #5 in a 10-part series.
- 1 - Skyrim Special Edition Released
- 2 - Convert Old Skyrim Mods for SE
- 3 - How to Disable Random Dragons in Skyrim
- 4 - Convert Black Sacrament Armor to SE Step-by-Step
- 5 - this article
- 6 - Werewolf Meter Papyrus Script Overview
- 7 - Skyrim SE - XPMSSE: Modify Weapon Positions
- 8 - Show Your Tail With Campfire Cloak In Skyrim
- 9 - Skyrim Frostfall and Survival Armor Edit for Warmth
- 10 - Frostfall SE with SKSE64
Goal: scan mesh files (nif) to ensure compatibility with Skyrim Special Edition and update unsupported meshes.
This tutorial is aimed at the beginner using “Blades Hakama” by atomec as an example, and assumes familiarity working with folders and files. I do not cover HDT outfits here.
prerequisites
- SSE Nif Optimizer by ousnius
- (optional)Nifscan by zilav - a console (Command Prompt) application
- (optional)NifSkope by Niftools
- Your mod of choice - this example uses Blades Hakama by atomec
There are alternative tools available including automated batching.
What’s a mesh? It’s shape data that may be a piece of armor, a wall, a backpack, or a weapon. The files have the extension .nif.
Note: you do not need to scan or update FaceGen nif-files. Let Creation Kit generate new FaceGen data. See “Convert Old Skyrim Mods to SE” for more about FaceGen files.
Continue reading...Convert Black Sacrament Armor to SE Step-by-Step
Article #4 in a 10-part series.
- 1 - Skyrim Special Edition Released
- 2 - Convert Old Skyrim Mods for SE
- 3 - How to Disable Random Dragons in Skyrim
- 4 - this article
- 5 - How to Update Meshes for Skyrim SE
- 6 - Werewolf Meter Papyrus Script Overview
- 7 - Skyrim SE - XPMSSE: Modify Weapon Positions
- 8 - Show Your Tail With Campfire Cloak In Skyrim
- 9 - Skyrim Frostfall and Survival Armor Edit for Warmth
- 10 - Frostfall SE with SKSE64
This tutorial example converts “Arise - Chapter 1 - Black Sacrament Armor” by AmethystDeceiver for use with Skyrim Special Edition. The same steps apply to basic mods that only require converting ESP and BSA files. Loose files may be included, and this example contains several. This article assumes understanding of file manipulation and manual mod installation.
(Updated 2018 to cover new sofware)
Remember: For personal use only. Please do not repost or re-distribute converted mods without the author’s consent.
Keep in mind that modding your game comes with risks, so backup your saves and the files you’re working on. This tutorial shows a complete step-by-step conversion of “Black Sacrament Armor” for use with Skyrim SE. Mods like this that include new meshes should be scanned to ensure 64-bit compatibility. If a mod includes custom NPCs then Creation Kit will generate the new FaceGenData for you, but be aware customized faces may require extra handling.
prerequisites
It’s assumed you have experience working with mods including managing load order, checking for conflicts, and working with files.
- download zip-archive of “Black Sacrament Armor” from Nexus (I’m using “Black Sacrament Armor v4-1 - High Def-5696-4-1.7z”)
- BSABrowser to open and extract BSA-file
- (optional) SSE Nif Optimizer to scan and optimize meshes for 64-bit compatibility
- Creation Kit 64-bit for SE obtained using Bethesda.net launcher
For installation of Creation Kit 64-bit, see “Convert Old Skyrim Mods to SE” (article #2).
important notes
- BSA-file must be spelled exactly like the ESP-file (you may have extra BSA files for textures).
- BSA archive follows the same folder structure beneath the “Data” folder (meshes, textures, scripts, etc).
outline
Goal: create ESP-file(s) and BSA-file(s) compatible with Skyrim SE then install for play.
These steps will work in general for a mod archive containing ESP and BSA files without new animations or NPCs. Review “Convert Old Skyrim Mods to SE” (article #2) to see what to watch out for when converting a mod in general.
- Unpack the zipped archive to an empty folder for inspection.
- Use BSABrowser to Unpack the BSA-file to an empty data-folder, I refer to as the out-folder.
- Check files that may need extra tools to update.
- Load the ESP-file in Creation Kit and save.
- Pack new BSA-file using Archive (included with CK) from your out-folder.
- Place all necessary files in your Skyrim Special Edition Data folder including any loose files in appropriate sub-folders.