Posts
2017 March Miles
- cycle: 115 miles
- run: 77 miles
I took off an entire week mid-month, but I still managed to beat my February running miles. I’m gradually increasing my distance per outing, and for April I’ll be focusing more on cycling.
This photograph of Utah Valley was taken at the very end of the month during a bike ride.
Continue reading...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...