I have created a new disease which is caught from Wolves and Werewolves, after 3 days it is meant to progress to full Lycanthropy, the problem is that after 3 days it is not changing me into a werewolf.
The code is here:
Spoiler
Scriptname SL_WerewolfDiseaseEffectScript extends ActiveMagicEffectImport DebugGlobalVariable Property Gamehour AutoGlobalVariable Property GameDaysPassed AutoQuest Property SL_WerewolfChange AutoFloat Property WerewolfChangeTimer AutoEvent OnUpdate()Notification("You suddenly feel stronger, even more so than before you contracted the disease")(SL_WerewolfChange as SL_WerewolfChangeScript).WerewolfChange()EndEventEvent OnUpdateGameTime()If GameDaysPassed.Value >= WerewolfChangeTimer UnRegisterForUpdateGameTime() RegisterForSingleUpdate(10)EndIfEndEventEvent OnEffectStart(Actor Target, Actor Caster)If Target == Game.GetPlayer() RegisterForUpdateGameTime(1) WerewolfChangeTimer = GameDaysPassed.Value + 3 ;messagebox("You have been infected with Luminos Lycan")EndIfEndEvent
The annoying thing is that it will not activate the script on the OnUpdate event, but it will give me the notification.. I'm not sure what's going on there, as the Quest Property is defiantly filled correctly, and the code in the werewolf change function is defiantly sound as it is called in a potion's effect and it works fine there, but it does not here.
But the code for the werewolf change function is here anyway, just incase you want to look at it:
Spoiler
Scriptname SL_WerewolfChangeScript extends Quest GlobalVariable Property PlayerIsVampire AutoGlobalVariable Property PlayerIsWerewolf AutoGlobalVariable Property IsWerewolf AutoQuest Property PlayerVampireQuest autoKeyword Property VampireKeyword autoSPELL Property Immunity autoSPELL Property WerewolfCureDisease auto SPELL Property BeastForm Auto SPELL Property WerewolfImmunity AutoSPELL Property TimeToChange AutoSPELL Property timetochangeback Auto SPELL Property SL_AbWerewolfHuman Auto Function WerewolfChange()Debug.MessageBox("YOU HAVE BECOME A WEREWOLF") if (Game.GetPlayer().HasKeyword(VampireKeyword)) ;if the player has the keyword "Vampire" on themIf (PlayerIsVampire.Value =http://forums.bethsoft.com/topic/1402690-new-disease-effect-not-working/= 1) ;Another check - just to make sure, if the global variable of is on, which is only on when the player is a vampire (PlayerVampireQuest as PlayerVampireQuestScript).VampireCure(Game.GetPlayer())EndIf endifIf (PlayerIsWerewolf.Value == 1);Removes all Vanilla Werewolf AbilitiesGame.GetPlayer().RemoveSpell(BeastForm)Game.GetPlayer().RemoveSpell(WerewolfImmunity)EndIf Game.GetPlayer().AddSpell(Immunity, false)PlayerIsVampire.SetValue(0)PlayerIsWerewolf.SetValue(0)IsWerewolf.SetValue(1) ;so the game knows the player is the mod's werewolf, not anything else;adds in mod specific werewolf abilitiesWerewolfCureDisease.Cast(Game.GetPlayer()) ;cure the player of any diseases.;add in immunity to diseasegame.GetPlayer().AddSpell(WerewolfImmunity, false);add in spell so that player changes when they are meant togame.GetPlayer().AddSpell(TimeToChange, abVerbose = false)game.GetPlayer().AddSpell(TimeToChangeBack, abVerbose = false)game.GetPlayer().AddSpell(SL_AbWerewolfHuman, false)EndFunction
I even tried copying the code of the function into the OnUpdate event and it still did not work then either..
If anyone knows how to fix this I would be very grateful indeed

Thanks
SoulLimit