I want to test if the player is a thane of a certain hold, preferably through a script. I have little knowledge of scripting however, so I would appreciate help.
I want to test if the player is a thane of a certain hold, preferably through a script. I have little knowledge of scripting however, so I would appreciate help.
There is probably a Quest for each hold that leads up to the player becoming a thane. If you find the quest associated with the hold you want to check, you should be able to do a simple http://www.creationkit.com/GetStage check to find out if the Quest has been completed up to the stage where the player becomes a thane.
Yeah but the problem is after the civil war is competed certain thanes are changed depending on which side they were on, so you have to talk to them again to become thane.
I found a some code in an old thread that uses guard dialogue to test if the player is thane. (The let me go I'm thane dialogue option)
Here it is:
Scriptname TestIfPlayerThane extends Quest Int Property Hold Auto{1 = Reach2 = Rift3 = Haafingar4 = Whiterun5 = Eastmarch6 = Hjaalmarch7 = Pale8 = Winterhold9 = Falkreath} FavorJarlsMakeFriendsScript Property ThaneScript Auto Hidden Event OnInit()ThaneScript = Game.GetForm(0x00087E24) As FavorJarlsMakeFriendsScriptEndEvent Event OnUpdate()If(Hold == 1)If(thaneScript.ReachImpGetOutofJail > 0 || thaneScript.ReachSonsGetOutofJail > 0)Enable(true)EndIfElseIf(Hold == 2)If(thaneScript.RiftImpGetOutofJail > 0 || thaneScript.RiftSonsGetOutofJail > 0)Enable(true)EndIfElseIf(Hold == 3)If(thaneScript.HaafingarImpGetOutofJail > 0 || thaneScript.HaafingarSonsGetOutofJail > 0)Enable(true)EndIfElseIf(Hold == 4)If(thaneScript.WhiterunImpGetOutofJail > 0 || thaneScript.WhiterunSonsGetOutofJail > 0)Enable(true)EndIfElseIf(Hold == 5)If(thaneScript.EastmarchImpGetOutofJail > 0 || thaneScript.EastmarchSonsGetOutofJail > 0)Enable(true)EndIfElseIf(Hold == 6)If(thaneScript.HjaalmarchImpGetOutofJail > 0 || thaneScript.HjaalmarchSonsGetOutofJail > 0)Enable(true)EndIfElseIf(Hold == 7)If(thaneScript.PaleImpGetOutofJail > 0 || thaneScript.PaleSonsGetOutofJail > 0)Enable(true)EndIfElseIf(Hold == 8)If(thaneScript.WinterholdImpGetOutofJail > 0 || thaneScript.WinterholdSonsGetOutofJail > 0)Enable(true)EndIfElseIf(Hold == 9)If(thaneScript.FalkreathImpGetOutofJail > 0 || thaneScript.FalkreathSonsGetOutofJail > 0)Enable(true)EndIfEndIf EndEvent