chaoplexity Posted October 26, 2012 Share Posted October 26, 2012 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 More sharing options...
Ghaunadaur Posted October 26, 2012 Share Posted October 26, 2012 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 More sharing options...
chaoplexity Posted October 30, 2012 Author Share Posted October 30, 2012 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 More sharing options...
KingsGambit Posted November 13, 2012 Share Posted November 13, 2012 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 More sharing options...
Recommended Posts