How do i create a mod that increases smithing skill when sme

Post » Thu Jun 21, 2012 6:03 pm

I know there is already a mod out there that does this, but i want to learn how to do this myself for one, and i feel the other mod just gives too much exp for smelting... So does anyone know how i can have your smithing skill increased when you smelt ore into ingots?
User avatar
Naomi Lastname
 
Posts: 3390
Joined: Mon Sep 25, 2006 9:21 am

Post » Thu Jun 21, 2012 8:59 pm

Find Furniture object CraftingSmelterMarker1 in the CK, open it, and change the "Uses Skill" dropdown from None to Smithing.
User avatar
Miss Hayley
 
Posts: 3414
Joined: Tue Jun 27, 2006 2:31 am

Post » Fri Jun 22, 2012 1:20 am

Find Furniture object CraftingSmelterMarker1 in the CK, open it, and change the "Uses Skill" dropdown from None to Smithing.

Many thanks! :biggrin:

Do you know if maybe there would be a way to add a condition to that? such as, Player must have at least 1 perk in smithing for this item to use the smithing perk?
User avatar
Christine Pane
 
Posts: 3306
Joined: Mon Apr 23, 2007 2:14 am

Post » Thu Jun 21, 2012 1:08 pm

Nope. You can't conditionalize that option. You can conditionalize the recipes, though, so you might try doing what you want to do from there.
User avatar
Code Affinity
 
Posts: 3325
Joined: Wed Jun 13, 2007 11:11 am

Post » Fri Jun 22, 2012 1:12 am

There would be another, "artificial" approach to this, that would not only let you use simply your Perk as condition, but also offer an high compatibility with modded smeltable objects, and even let you choose the XP value depending on the object, with no alterations at all.

ScriptName PlayerSmeltingScript extends ReferenceAliasFurniture Property CraftingSmelterMarker1 AutoEVENT OnItemAdded(Form Object, Int ObjectCount, ObjectReference ObjectRef, ObjectReference ContainerRef)if ( PlayerRef.HasPerk(YourPerk) )if ( Object as MiscObject )	 ObjectReference SmelterRef = FindClosestReferenceOfTypeFromRef(CraftingSmelterMarker1, PlayerRef, 200.0)if ( SmelterRef ) && ( SmelterRef.IsFurnitureInUse() )if ( !IsInMenuMode() ) && ( !IsFightingControlsEnabled() ) && ( PlayerRef.GetAnimationVariableBool("bAnimationDriven") )	 AdvanceSkill("Smithing", ((Object.GetGoldValue()/100)*ObjectCount) as float) ; XP linked to Gold Value, for example	 Notification("Player has smelted "+ObjectCount+" "+Object.GetName()+"  XP = "+((Object.GetGoldValue()/100)*ObjectCount) as float)endifendifendifendifEndEVENT
User avatar
Rik Douglas
 
Posts: 3385
Joined: Sat Jul 07, 2007 1:40 pm

Post » Thu Jun 21, 2012 10:37 pm

There would be another, "artificial" approach to this, that would not only let you use simply your Perk as condition, but also offer an high compatibility with modded smeltable objects, and even let you choose the XP value depending on the object, with no alterations at all.

ScriptName PlayerSmeltingScript extends ReferenceAliasFurniture Property CraftingSmelterMarker1 AutoEVENT OnItemAdded(Form Object, Int ObjectCount, ObjectReference ObjectRef, ObjectReference ContainerRef)if ( PlayerRef.HasPerk(YourPerk) )if ( Object as MiscObject )	 ObjectReference SmelterRef = FindClosestReferenceOfTypeFromRef(CraftingSmelterMarker1, PlayerRef, 200.0)if ( SmelterRef ) && ( SmelterRef.IsFurnitureInUse() )if ( !IsInMenuMode() ) && ( !IsFightingControlsEnabled() ) && ( PlayerRef.GetAnimationVariableBool("bAnimationDriven") )	 AdvanceSkill("Smithing", ((Object.GetGoldValue()/100)*ObjectCount) as float) ; XP linked to Gold Value, for example	 Notification("Player has smelted "+ObjectCount+" "+Object.GetName()+"  XP = "+((Object.GetGoldValue()/100)*ObjectCount) as float)endifendifendifendifEndEVENT

Yes, this is awesome. thank you! Where do i attach this script? On the smelter itself?
User avatar
JESSE
 
Posts: 3404
Joined: Mon Jul 16, 2007 4:55 am


Return to V - Skyrim