cumbrianlad Posted April 22, 2020 Share Posted April 22, 2020 Sorry, mate... can't for the life of me find it. I didn't bookmark it 'cause one read was enough to tell me I didn't want to attempt it! Maybe put a fresh post up asking how to add existing animations to an NPC? Link to comment Share on other sites More sharing options...
marcuslygage Posted April 22, 2020 Author Share Posted April 22, 2020 Oh, I appreciate your time! Thanks for the help and feedback. Link to comment Share on other sites More sharing options...
dylbill Posted April 22, 2020 Share Posted April 22, 2020 Hey, so I did some testing, and it appears that the StartCannibal script function doesn't work on other actors, even those that have the animations. The function PlayIdle(IdleCannibalFeedCrouching) does however work, but only for races that have the animations. So, as a workaround, in the creation kit I made the zombies the Nord Race. I duplicated the NakedDraugrBodyAA armor addon, and switched it to the Nord Race. I also duplicated the SkinDraugr Armor, deleted the NakedDraugrBodyAA from it and put the duplicated one on instead, and also switched it to the Nord Race. Then I made a new outfit that has only the duplicated SkinDraugr Armor, and put that outfit as the default outfit for the zombies. This way, the zombies still look like zombies even though they are the Nord Race. Then I modified the script, so that it sets the zombies race to the Draugr Race after the animation is complete: Scriptname ExampleCannibalScript extends ObjectReference Spell Property DA11CannibalismAbility Auto Spell Property DA11CannibalismAbility02 Auto Actor Property Zombie1 Auto Actor Property Zombie2 Auto Actor Property Zombie3 Auto Actor Property Corpse Auto Race Property DraugrRace Auto Idle Property IdleCannibalFeedCrouching Auto Bool Eaten = false Auto State Waiting Event OnTriggerEnter(ObjectReference akActionRef) Debug.Notification("Trigger Enter") If (akActionRef as actor) == Game.GetPlayer() && Eaten == false ;ensures this script runs only once Eaten = true Zombie1.PlayIdle(IdleCannibalFeedCrouching) Zombie2.PlayIdle(IdleCannibalFeedCrouching) Zombie3.PlayIdle(IdleCannibalFeedCrouching) Utility.Wait(2) Zombie1.SetRace(DraugrRace) Zombie2.SetRace(DraugrRace) Zombie3.SetRace(DraugrRace) DA11CannibalismAbility.Cast(Zombie1, Zombie1) DA11CannibalismAbility02.Cast(Zombie1, Zombie1) DA11CannibalismAbility.Cast(Zombie2, Zombie2) DA11CannibalismAbility02.Cast(Zombie2, Zombie2) DA11CannibalismAbility.Cast(Zombie3, Zombie3) DA11CannibalismAbility02.Cast(Zombie3, Zombie3) GoToState("Stopped") ;stops this event firing after script has run Endif EndEvent EndState State Stopped EndState It worked, sort of. There's some texture stretching on the heads, but the animation does play, and if the player is far enough away, I don't think it will be too noticeable. Link to comment Share on other sites More sharing options...
marcuslygage Posted April 22, 2020 Author Share Posted April 22, 2020 That is absolutely amazing! I appreciate your help. Link to comment Share on other sites More sharing options...
dylbill Posted April 23, 2020 Share Posted April 23, 2020 No prob, hope you get it working! Link to comment Share on other sites More sharing options...
Recommended Posts