Skip to content

Instantly share code, notes, and snippets.

@MicahZoltu
Last active April 27, 2022 16:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MicahZoltu/81023db32ffe15c08ecd5e0b76fdaf0b to your computer and use it in GitHub Desktop.
Save MicahZoltu/81023db32ffe15c08ecd5e0b76fdaf0b to your computer and use it in GitHub Desktop.
Skyrim Auto-Level Crafting Mod
  1. Install Creation Kit (via Bethesda Launcher).
  2. File > Data > Skyrim.esm
  3. Character > Quests > right click anywhere on right > New
  4. Assign ID, Quest Name, check Start Game Enabled and Run Once
  5. Click OK
  6. Double click new quest in list.
  7. Scripts > Add > New Script
  8. Assign name, Extends Quest, Hidden, OK
  9. Right click script > Edit Source
  10. Paste source.
  11. File > Save
  12. Right click script > Edit Properties
  13. Auto-Fill All > OK
  14. OK back to main page
  15. File SaveSave
Scriptname ZoltuAutoLevelCrafting extends Quest Hidden
Actor Property PlayerRef Auto
String[] allNonCraftingSkills
Int version
event OnInit()
RegisterForSingleUpdate(5)
endevent
event OnUpdate()
if version < 1
version = 1
InitializeNonCraftingSkillsArray()
endif
EqualizeCraftingSkills()
RegisterForSingleUpdate(5)
endevent
function InitializeNonCraftingSkillsArray()
allNonCraftingSkills = new String[15]
allNonCraftingSkills[0] = "Illusion"
allNonCraftingSkills[1] = "Conjuration"
allNonCraftingSkills[2] = "Destruction"
allNonCraftingSkills[3] = "Restoration"
allNonCraftingSkills[4] = "Alteration"
allNonCraftingSkills[5] = "HeavyArmor"
allNonCraftingSkills[6] = "Block"
allNonCraftingSkills[7] = "TwoHanded"
allNonCraftingSkills[8] = "OneHanded"
allNonCraftingSkills[9] = "Marksman"
allNonCraftingSkills[10] = "LightArmor"
allNonCraftingSkills[11] = "Sneak"
allNonCraftingSkills[12] = "Lockpicking"
allNonCraftingSkills[13] = "Pickpocket"
allNonCraftingSkills[14] = "Speechcraft"
endfunction
function EqualizeCraftingSkills()
; find highest level skill
Int maxSkill = 0
Int index = allNonCraftingSkills.Length
while index
index -= 1
Int thisSkill = PlayerRef.GetBaseActorValue(allNonCraftingSkills[index]) as Int
if (thisSkill > maxSkill)
maxSkill = thisSkill
endif
endwhile
; update enchanting to equal highest level skill
Int currentEnchantingSkill = PlayerRef.GetBaseActorValue("Enchanting") as Int
if (currentEnchantingSkill < maxSkill)
Game.IncrementSkillBy("Enchanting", maxSkill - currentEnchantingSkill)
endif
; update smithing to equal highest level skill
Int currentSmithingSkill = PlayerRef.GetBaseActorValue("Smithing") as Int
if (currentSmithingSkill < maxSkill)
Game.IncrementSkillBy("Smithing", maxSkill - currentSmithingSkill)
endif
; update alchemy to equal highest level skill
Int currentAlchemySkill = PlayerRef.GetBaseActorValue("Alchemy") as Int
if (currentAlchemySkill < maxSkill)
Game.IncrementSkillBy("Alchemy", maxSkill - currentAlchemySkill)
endif
endfunction
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment