Jump to content

Trying to make a mod to make books advance skill


chaoplexity

Recommended Posts

I want to make a mod to convert books add skill property to an advance skill property so that no matter what your level in the skill you gain the same benefit. this would remove the absurdity of carrying them around till your a high level to get the best benefit.

 

Why don't books scripts show up under the papyrus script manager, ie there are scripts i can add to books that don't show up in the manager, how can i view/edit these scripts

 

Is a script called when a book adds a point of skill, or is this hard-coded, i cant find a script that does this

 

When is a script attached to a book ran, is it when its picked up, when its read, every time or the first time only.

 

Is it possible to make a script call only the first time something is read, i imagine i could do this somehow by setting each book a quest but i'm thinking that's gonna be really long winded, and it will make the mod less compatible how does the game know you've read a book before, is there a script to get this information

 

Any ideas about implementation, or suggestions..

 

Thank you for your consideration. :thumbsup:

Link to comment
Share on other sites

Why don't books scripts show up under the papyrus script manager, ie there are scripts i can add to books that don't show up in the manager, how can i view/edit these scripts

 

Skill books usually don't have a script on them, they just have the field 'Teaches Skill' ticked. More information about books can be found here.

 

 

 

Is it possible to make a script call only the first time something is read, i imagine i could do this somehow by setting each book a quest but i'm thinking that's gonna be really long winded, and it will make the mod less compatible how does the game know you've read a book before, is there a script to get this information

 

It's possible. You could use a script like this:

 

Scriptname BookScript extends ObjectReference

Auto State NotRead
Event OnActivate(ObjectReference akActionRef)
	if akActionRef == Game.GetPlayer()
		;do something
		GotoState("")
	endif
EndEvent
EndState

 

Or this:

 

Scriptname BookScript extends ObjectReference

Auto State NotRead
Event OnRead()                
          ;do something
          GotoState("")
EndEvent
EndState

Link to comment
Share on other sites

First of all thanks for the reply :)

 

Skill books usually don't have a script on them, they just have the field 'Teaches Skill' ticked. More information about books can be found here.

 

Yes i know, i only wish i could usurp whatever that does, which would save me editing all the books individually, what i meant is that when i select to add a script to book it comes up with a list of scripts not in the papyrus script manager, so im not sure how to edit those scripts.

 

Thank you for the sample scripts ill have a closer look when i have a moment.

Link to comment
Share on other sites

  • 2 weeks later...

I'm not sure how the game tracks if a particular book is read or not. there are mods already that manage this somehow....possibly they change the name. You could use a global variable, or the data field in a given books keyword (though whether that affects all copies of that book or only a particular copy I'm also uncertain of).

 

The function in a script you would be interested in for the skill advancing is AdvanceSkill. Rather than just add a flat one level, you can add XP as though the skill were used a given amount, similar to the in-game console command advskill. If it's too low, it may not trigger a level up. Also, the amount of XP to increase skills differs; Speech for example will gain a larger increase from 1000 XP than any of the magic schools or combat skills.

 

OnRead(), or OnActivate() as suggested above will be the useful events.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...