Follower SetRace() problem

Post » Tue Apr 09, 2013 10:05 pm

Im trying to make an animal companion that grows over time. I have made a "puppy" and "teenager" meshes of the wolf model and have set up 3 races of wolf companion (the third being "advlt"). I have a quest that controls the growth using RegisterForSingleUpdate() to go up the stages. There are 9 stages over all. The puppy starts out at scale 0.3 and at each stage the scale grows by 0.1. At stage 4 i have SetRace(wolfTeen) and at stage 7 SetRace(wolfadvlt).

I've tested by setting the update intervals to 30 seconds. The SetScale()'s work perfectly, but when the first SetRace() comes along, the wolf just disappears. The stage notifactions i have set up keep popping up so the quest is still running, just the wolf never comes back.

Am i missing something?

Spoiler

Setup:

Quest stages:
Spoiler

Stage 0 (start up stage):
Debug.Notification("Growth Quest started")SetStage(110)

Stage 110 (the same for the rest):
UpdateCurrentInstanceGlobal(GrowthGlobal)Float time = GrowthGlobal.GetValue();RegisterForSingleUpdateGametime(time)RegisterForSingleUpdate(time)

Stage 500 (shut down stage): Blank

Script attached to quest:
Spoiler
Scriptname HWE_GrowthQuestScript extends Quest  Quest Property growthQuest  AutoActor Property wolf  AutoRace Property wolfTeen  AutoRace Property wolfadvlt  AutoEvent OnUpdate()	If growthQuest.GetStage() == 110		Debug.Notification("110")		wolf.SetScale(0.4)		growthQuest.SetStage(120)	ElseIf growthQuest.GetStage() == 120		Debug.Notification("120")		wolf.SetScale(0.5)		growthQuest.SetStage(130)	ElseIf growthQuest.GetStage() == 130		Debug.Notification("130")		wolf.SetScale(0.6)		growthQuest.SetStage(210)	ElseIf growthQuest.GetStage() == 210		Debug.Notification("210")		wolf.SetScale(0.7)		wolf.SetRace(wolfTeen)		growthQuest.SetStage(220)	ElseIf growthQuest.GetStage() == 220		Debug.Notification("220")		wolf.SetScale(0.8)		growthQuest.SetStage(230)	ElseIf growthQuest.GetStage() == 230		Debug.Notification("230")		wolf.SetScale(0.9)		growthQuest.SetStage(310)	ElseIf growthQuest.GetStage() == 310		Debug.Notification("310")		wolf.SetScale(1.0)		wolf.SetRace(wolfadvlt)		growthQuest.SetStage(320)	ElseIf growthQuest.GetStage() == 320		Debug.Notification("320")		wolf.SetScale(1.1)		growthQuest.SetStage(330)	ElseIf growthQuest.GetStage() == 330		Debug.Notification("330")		wolf.SetScale(1.2)		growthQuest.SetStage(500)	EndIfEndEvent

- Hypno
User avatar
Robyn Lena
 
Posts: 3338
Joined: Mon Jan 01, 2007 6:17 am

Return to V - Skyrim