This is the script that i used to test with, in fact i didn't actually think about this until i saw you post. I like the idea so much, i am going to leave it in. Any one know if there is a way a way to check to see if the player reads all the pages first?
Spoiler Event OnRead()Player = Game.GetPlayer()utility.wait(1) if !NMQ001.IsCompleted() while Utility.IsInMenuMode() debug.notification("Reading") endwhile Player.AddSpell(SP_AshmelechArmour_NECMAS, False) Player.AddPerk(Pk_AshmelechArmour_NECMAS) Player.AddSpell(SP_AvronsShield_NECMAS, False) Player.Addperk(Pk_AvronsShield_NECMAS) Player.Addperk(PK_ModSpellCost_NECMAS) UISpellLearned_NECMAS.Play(player) debug.notification("You have learnt how to conjure magical armour") EndIf EndEvent
The lines to note are Event OnRead(), utility.wait(1), and most importantly while Utility.IsInMenuMode and EndWhile
Until the while event is filled, the rest of the script will not complete. The script completes once out of menu mode. Reading a document is classed as being in menu mode.
UPDATE - After testing this in game, i found that this works ok for a single item, however noticed issues occurring when used on multiple scripts and also if used on items that were included within quests