Attention. After giving it some thought and talking with my friends in the community, I have decided to take the following course of action.
Most of my mods have been unhidden for the time being. I have received an overwhelming amount of support from so many users who have sent well wishes, and I appreciate this more than you know. I will no longer be providing support or updates for my mods until Nexus issues can be resolved. Please do not pm me for info regarding this, I will provide more info as I have it.
Version 1.1 fixes vertibird power armor etc issues with animations. Thank you D1v1ne122 for pointing me in the direction of the latest F4SE .dll which fixed what Bethesda broke. Thank you Neanka for adding proper camera state implementation to F4SE. Thank you Flip for coming out of retirement to update the mod after Bethesda broke it :)
Download latest F4SE, update mod. Should fix all issues. And now back to retirement (which I was enjoying)
I noticed that after installing this mod, Radaway now also cures health in addition to rads. I tested it with and without this mod, and it definitely only does it with this mod installed. Does anyone else have this problem? I'm hoping this isn't just a feature of the mod, because I really don't want Radaway to cure health.
Does anybody know how to add these great animations to a custom chem from another mod? I know my way around CK and Edit (sort of), but can not figure this one out.
Can I overwrite some of the conflicts with UF4P fixes? For some reason I was led to believe not to touch any records because they are handled or fixed by scripts.
i wouldnt overwrite any Jet entries in the ingestible section if you look at the ultra jet entry for example, the uf4p only adds the pick up sound (which animated chems does as well)
uf4p sould be loaded directly after the official esms and before any other mod
if anyone is interested, this is my version of the script i made a few months ago a small bugfix and its a bit cleaner
prevents the animation in power armor and plays a sound instead
its for horizon and a few other mods
as im writing this i realized its pretty useless without my esp edits, since i made effect items for all the chems (so the effects and sounds only start after the animation played)
;************************Properties********************** SoundCategory Property audioCategoryVoc Auto Mandatory
;Potion Property RadAway Auto Mandatory Potion Property MedX Auto Mandatory Potion Property Jet Auto Mandatory Potion Property UltraJet Auto Mandatory Potion Property BuffJet Auto Mandatory Potion Property JetFuel Auto Mandatory Potion Property PsychoJet Auto Mandatory Potion Property DLC04SmoothOperator Auto Mandatory Potion Property f3DNPC_JetFueled_UltraJet Auto Mandatory Potion Property DaddyO Auto Mandatory Potion Property DayTripper Auto Mandatory Potion Property Fury Auto Mandatory Potion Property Psycho Auto Mandatory Potion Property Psychobuff Auto Mandatory Potion Property Psychotats Auto Mandatory
Potion Property AC_JetChemEffect Auto Mandatory Potion Property AC_UltraJet Auto Mandatory Potion Property AC_BuffJet Auto Mandatory Potion Property AC_JetFuel Auto Mandatory Potion Property AC_PsychoJet Auto Mandatory Potion Property AC_SmoothOperator Auto Mandatory Potion Property AC_f3DNPC_Bomber_EFFECT Auto Mandatory Potion Property AC_DaddyOEffect Auto Mandatory Potion Property AC_DayTripperEffect Auto Mandatory Potion Property AC_FuryEffect Auto Mandatory Potion Property AC_PsychoEffect Auto Mandatory Potion Property AC_PsychobuffEffect Auto Mandatory Potion Property AC_PsychotatsEffect Auto Mandatory
Idle Property AC_Psycho1stP Auto Mandatory Idle Property AC_MedX1stP Auto Mandatory Idle Property AC_Jet1stP Auto Mandatory Idle Property AC_Pill1stP Auto Mandatory Idle Property AC_RADX1stP Auto Mandatory Idle Property AC_Radaway1stP Auto Mandatory
Idle Property AC_Psycho3rdP Auto Mandatory Idle Property AC_MedX3rdP Auto Mandatory Idle Property AC_Jet3rdP Auto Mandatory Idle Property AC_Pill3rdP Auto Mandatory Idle Property AC_RADX3rdP Auto Mandatory Idle Property AC_Psycho2_3rdP Auto Mandatory Idle Property AC_Radaway3rdP Auto Mandatory
;Keyword Property PlayerConsumePsycho Auto Mandatory Keyword Property SlowTimeKeyword Auto Mandatory ;001D4AB6 Keyword Property ArmorTypePower Auto Mandatory ;0004D8A1 ;Keyword Property ArmorTypeFaceCover Auto Mandatory ;9400080C Keyword Property dn_armor_Hazmat Auto Mandatory Keyword Property dn_armor_GasMas Auto Mandatory ;7B121DBD
FormList Property AC_PillList Auto Mandatory FormList Property AC_MedXList Auto Mandatory FormList Property AC_MentatsList Auto Mandatory FormList Property AC_PsychoList Auto Mandatory FormList Property AC_RadawayList Auto Mandatory FormList Property AC_StimpakList Auto Mandatory FormList Property AC_JetList_NoSlow Auto Mandatory
Sound Property NPCHumanStimpakNPCB Auto Mandatory Sound Property NPCHumanChemsUseJet Auto Mandatory
Sound Property AC_RadAway_Sound Auto Mandatory Sound Property AC_RadXFX_Sound Auto Mandatory Sound Property AC_PillFX_Sound Auto Mandatory Sound Property AC_Psycho_Sound Auto Mandatory
;;Stimpak Power armor if AC_StimpakList.HasForm(akBaseObject) if PlayerWearsPowerArmor() Utility.Wait(0.1) NPCHumanStimpakNPCB.Play(PlayerRef) EndIf ElseIf Busy == False ;;Jet==================================================================================================== if akBaseObject == Jet
;;Jet Chems without the time slower effect======================================================================== ElseIf AC_JetList_NoSlow.HasForm(akBaseObject) ;|| akBaseObject == DLC04SmoothOperator
PlayChemAnimation(AC_Jet1stP, AC_Jet3rdP, True)
EndIf EndIf EndEvent
Bool Function PlayerIsWearingFaceCover() Return False EndFunction
Bool Function PlayerHasActiveSlowTimeEffect() ;Keyword SlowTimeKeyWord = Game.GetFormFromFile(0x001D4AB6, "Fallout4.esm") As Keyword Return PlayerRef.HasMagicEffectWithKeyWord(SlowTimeKeyWord) EndFunction
Bool Function PlayerWearsPowerArmor() ;Keyword ArmorTypePower = Game.GetFormFromFile(0x0004D8A1, "Fallout4.esm") As Keyword Return Self.GetActorRef().WornHasKeyword(ArmorTypePower) EndFunction
Bool Function PlayerWearsHazmat() Return Self.GetActorRef().WornHasKeyword(dn_armor_Hazmat) EndFunction
Bool Function PlayerWearsGasMask() Return Self.GetActorRef().WornHasKeyword(dn_armor_GasMas) EndFunction
Bool Function IsEligibleForAnimation(Idle animation) if PlayerWearsPowerArmor() Return False EndIf ;AC_Psycho1stP AC_MedX1stP AC_Jet1stP AC_Pill1stP AC_RADX1stP AC_Radaway1stP if animation == AC_Jet1stP || animation == AC_Pill1stP || animation == AC_RADX1stP Return (PlayerWearsHazmat() || PlayerWearsGasMask()) == False ;ElseIf animation == AC_MedX1stP || animation == AC_Psycho1stP || animation == AC_Radaway1stP ; Return True ; lets do syringe animations in hazmat for now EndIf Return True EndFunction
Function PlayChemAnimation(Idle animation1stP, Idle animation3stP, Bool mute) if IsEligibleForAnimation(animation1stP) Busy = True if mute audioCategoryVoc.Mute() EndIf Utility.Wait(0.5) If Game.GetCameraState() == 0 PlayerRef.PlayIdle(animation1stP) Else PlayerRef.PlayIdle(animation3stP) EndIf Utility.Wait(GetWaitAfter(animation1stP)) if mute audioCategoryVoc.UnMute() EndIf Busy = False Else Sound FallbackSound = GetFallBackSound(animation1stP) PlayFallbackSound(FallbackSound) EndIf EndFunction
Function PlayFallbackSound(Sound FallbackSound) if FallbackSound != none Utility.Wait(0.1) FallbackSound.Play(PlayerRef) Utility.Wait(0.4) EndIf EndFunction
i was refering to the first comment "Is there any way to make the 3rd person animation appear in the old version?"
idk i f i want to do that. horizon and tales from the commonwealth would be required and it wouldnt be compatible with anything that adds or changes chems.
you need to be more specific with your crash problem. sounds like you are uninstalling mods mid playthough?
i will probably not upload a patch due to laziness, but i can give you my esp and my script im pretty sure your crash issue will not be fixed with this.
post your load order in a spoiler tag and describe when it crashes exactly
292 comments
Comments locked
The author has locked this comment topic for the time beingMost of my mods have been unhidden for the time being. I have received an overwhelming amount of support from so many users who have sent well wishes, and I appreciate this more than you know. I will no longer be providing support or updates for my mods until Nexus issues can be resolved. Please do not pm me for info regarding this, I will provide more info as I have it.
-Flip
Download latest F4SE, update mod. Should fix all issues. And now back to retirement (which I was enjoying)
except its a jet chem, then you need to edit the script
Oh, the irony...
if you look at the ultra jet entry for example, the uf4p only adds the pick up sound (which animated chems does as well)
uf4p sould be loaded directly after the official esms and before any other mod
a small bugfix and its a bit cleaner
prevents the animation in power armor and plays a sound instead
its for horizon and a few other mods
as im writing this i realized its pretty useless without my esp edits, since i made effect items for all the chems
(so the effects and sounds only start after the animation played)
nevertheless, maybe someone finds this useful
;************************Properties**********************
SoundCategory Property audioCategoryVoc Auto Mandatory
;Potion Property RadAway Auto Mandatory
Potion Property MedX Auto Mandatory
Potion Property Jet Auto Mandatory
Potion Property UltraJet Auto Mandatory
Potion Property BuffJet Auto Mandatory
Potion Property JetFuel Auto Mandatory
Potion Property PsychoJet Auto Mandatory
Potion Property DLC04SmoothOperator Auto Mandatory
Potion Property f3DNPC_JetFueled_UltraJet Auto Mandatory
Potion Property DaddyO Auto Mandatory
Potion Property DayTripper Auto Mandatory
Potion Property Fury Auto Mandatory
Potion Property Psycho Auto Mandatory
Potion Property Psychobuff Auto Mandatory
Potion Property Psychotats Auto Mandatory
Potion Property AC_JetChemEffect Auto Mandatory
Potion Property AC_UltraJet Auto Mandatory
Potion Property AC_BuffJet Auto Mandatory
Potion Property AC_JetFuel Auto Mandatory
Potion Property AC_PsychoJet Auto Mandatory
Potion Property AC_SmoothOperator Auto Mandatory
Potion Property AC_f3DNPC_Bomber_EFFECT Auto Mandatory
Potion Property AC_DaddyOEffect Auto Mandatory
Potion Property AC_DayTripperEffect Auto Mandatory
Potion Property AC_FuryEffect Auto Mandatory
Potion Property AC_PsychoEffect Auto Mandatory
Potion Property AC_PsychobuffEffect Auto Mandatory
Potion Property AC_PsychotatsEffect Auto Mandatory
Idle Property AC_Psycho1stP Auto Mandatory
Idle Property AC_MedX1stP Auto Mandatory
Idle Property AC_Jet1stP Auto Mandatory
Idle Property AC_Pill1stP Auto Mandatory
Idle Property AC_RADX1stP Auto Mandatory
Idle Property AC_Radaway1stP Auto Mandatory
Idle Property AC_Psycho3rdP Auto Mandatory
Idle Property AC_MedX3rdP Auto Mandatory
Idle Property AC_Jet3rdP Auto Mandatory
Idle Property AC_Pill3rdP Auto Mandatory
Idle Property AC_RADX3rdP Auto Mandatory
Idle Property AC_Psycho2_3rdP Auto Mandatory
Idle Property AC_Radaway3rdP Auto Mandatory
;Keyword Property PlayerConsumePsycho Auto Mandatory
Keyword Property SlowTimeKeyword Auto Mandatory ;001D4AB6
Keyword Property ArmorTypePower Auto Mandatory ;0004D8A1
;Keyword Property ArmorTypeFaceCover Auto Mandatory ;9400080C
Keyword Property dn_armor_Hazmat Auto Mandatory
Keyword Property dn_armor_GasMas Auto Mandatory ;7B121DBD
FormList Property AC_PillList Auto Mandatory
FormList Property AC_MedXList Auto Mandatory
FormList Property AC_MentatsList Auto Mandatory
FormList Property AC_PsychoList Auto Mandatory
FormList Property AC_RadawayList Auto Mandatory
FormList Property AC_StimpakList Auto Mandatory
FormList Property AC_JetList_NoSlow Auto Mandatory
Sound Property NPCHumanStimpakNPCB Auto Mandatory
Sound Property NPCHumanChemsUseJet Auto Mandatory
Sound Property AC_RadAway_Sound Auto Mandatory
Sound Property AC_RadXFX_Sound Auto Mandatory
Sound Property AC_PillFX_Sound Auto Mandatory
Sound Property AC_Psycho_Sound Auto Mandatory
;MagicEffect Property SlowTimeJet Auto const
;Actor Property PlayerRef Auto
;***********************Variables************************
Actor PlayerRef
Bool Busy = False
;Bool WeaponWasOut
;***********************Events***************************
Event OnInit()
if PlayerRef == none
PlayerRef = Game.getPlayer()
EndIf
;AddInventoryEventFilter(Jet)
EndEvent
Event OnItemEquipped(Form akBaseObject, ObjectReference akReference)
;; TODO no pill or jet animation in hazmat
;;Stimpak Power armor
if AC_StimpakList.HasForm(akBaseObject)
if PlayerWearsPowerArmor()
Utility.Wait(0.1)
NPCHumanStimpakNPCB.Play(PlayerRef)
EndIf
ElseIf Busy == False
;;Jet====================================================================================================
if akBaseObject == Jet
if PlayerHasActiveSlowTimeEffect() == False
PlayChemAnimation(AC_Jet1stP, AC_Jet3rdP, True)
PlayerRef.EquipItem(AC_JetChemEffect, False, True)
EndIf
;; Psycho Jet==================================================================================================
ElseIf akBaseObject == PsychoJet
if PlayerHasActiveSlowTimeEffect() == False
PlayChemAnimation(AC_Psycho1stP, AC_Psycho3rdP, True)
PlayerRef.EquipItem(AC_PsychoJet, False, True)
EndIf
;;buffJet====================================================================================================
ElseIf akBaseObject == BuffJet
if PlayerHasActiveSlowTimeEffect() == False
PlayChemAnimation(AC_RADX1stP, AC_RADX3rdP, False) ;gulp sound
PlayerRef.EquipItem(AC_buffJet, False, True)
EndIf
;;Jet Fuel====================================================================================================
ElseIf akBaseObject == JetFuel
if PlayerHasActiveSlowTimeEffect() == False
PlayChemAnimation(AC_Jet1stP, AC_Jet3rdP, True)
PlayerRef.EquipItem(AC_JetFuel, False, True)
;----PlayFallbackSound(NPCHumanChemsUseJet)
EndIf
;;Ultra Jet====================================================================================================
ElseIf akBaseObject == UltraJet
if PlayerHasActiveSlowTimeEffect() == False
PlayChemAnimation(AC_Jet1stP, AC_Jet3rdP, True)
PlayerRef.EquipItem(AC_UltraJet, False, True)
;----PlayFallbackSound(NPCHumanChemsUseJet)
EndIf
;;Jet Bomber Ultra (tales from the commonwealth)========================================================================
ElseIf akBaseObject == f3DNPC_JetFueled_UltraJet
if PlayerHasActiveSlowTimeEffect() == False
PlayChemAnimation(AC_Jet1stP, AC_Jet3rdP, True)
PlayerRef.EquipItem(AC_f3DNPC_Bomber_EFFECT, False, True)
EndIf
;;Daddy-O====================================================================================================
ElseIf akBaseObject == DaddyO
PlayChemAnimation(AC_MedX1stP, AC_MedX3rdP, False)
PlayerRef.EquipItem(AC_DaddyOEffect, False, True)
;;DayTripper====================================================================================================
ElseIf akBaseObject == DayTripper
PlayChemAnimation(AC_Pill1stP, AC_Pill3rdP, False)
PlayerRef.EquipItem(AC_DayTripperEffect, False, True)
;;Fury====================================================================================================
ElseIf akBaseObject == Fury
PlayChemAnimation(AC_Psycho1stP, AC_Psycho3rdP, False)
PlayerRef.EquipItem(AC_FuryEffect, False, True)
;;Psycho====================================================================================================
ElseIf akBaseObject == Psycho
PlayChemAnimation(AC_Psycho1stP, AC_Psycho3rdP, False)
PlayerRef.EquipItem(AC_PsychoEffect, False, True)
;;Psychobuff====================================================================================================
ElseIf akBaseObject == Psychobuff
PlayChemAnimation(AC_Psycho1stP, AC_Psycho3rdP, False)
PlayerRef.EquipItem(AC_PsychobuffEffect, False, True)
;;Psychotats====================================================================================================
ElseIf akBaseObject == Psychotats
PlayChemAnimation(AC_Pill1stP, AC_Pill3rdP, False)
PlayerRef.EquipItem(AC_PsychotatsEffect, False, True)
;;Psycho LIST==================================================================================================
ElseIf AC_PsychoList.HasForm(akBaseObject)
PlayChemAnimation(AC_Psycho1stP, AC_Psycho3rdP, False)
;PlayerRef.SayCustom(PlayerConsumePsycho)
;;MedX LIST=====================================================================================================
ElseIf AC_MedXList.HasForm(akBaseObject)
PlayChemAnimation(AC_MedX1stP, AC_MedX3rdP, False)
;;RadAway LIST=====================================================================================================
ElseIf AC_RadawayList.HasForm(akBaseObject)
PlayChemAnimation(AC_Radaway1stP, AC_Radaway3rdP, False)
;;Pills LIST====================================================================================================
ElseIf AC_PillList.HasForm(akBaseObject)
PlayChemAnimation(AC_Pill1stP, AC_Pill3rdP, False) ;bite sound
;;Mentats LIST====================================================================================================
ElseIf AC_MentatsList.HasForm(akBaseObject)
PlayChemAnimation(AC_RADX1stP, AC_RADX3rdP, False) ;gulp sound ; 0.5
;PlayChemAnimation(AC_Pill1stP, AC_Pill3rdP, False)
;;Jet Chems without the time slower effect========================================================================
ElseIf AC_JetList_NoSlow.HasForm(akBaseObject) ;|| akBaseObject == DLC04SmoothOperator
PlayChemAnimation(AC_Jet1stP, AC_Jet3rdP, True)
EndIf
EndIf
EndEvent
Bool Function PlayerIsWearingFaceCover()
Return False
EndFunction
Bool Function PlayerHasActiveSlowTimeEffect()
;Keyword SlowTimeKeyWord = Game.GetFormFromFile(0x001D4AB6, "Fallout4.esm") As Keyword
Return PlayerRef.HasMagicEffectWithKeyWord(SlowTimeKeyWord)
EndFunction
Bool Function PlayerWearsPowerArmor()
;Keyword ArmorTypePower = Game.GetFormFromFile(0x0004D8A1, "Fallout4.esm") As Keyword
Return Self.GetActorRef().WornHasKeyword(ArmorTypePower)
EndFunction
Bool Function PlayerWearsHazmat()
Return Self.GetActorRef().WornHasKeyword(dn_armor_Hazmat)
EndFunction
Bool Function PlayerWearsGasMask()
Return Self.GetActorRef().WornHasKeyword(dn_armor_GasMas)
EndFunction
Bool Function IsEligibleForAnimation(Idle animation)
if PlayerWearsPowerArmor()
Return False
EndIf
;AC_Psycho1stP AC_MedX1stP AC_Jet1stP AC_Pill1stP AC_RADX1stP AC_Radaway1stP
if animation == AC_Jet1stP || animation == AC_Pill1stP || animation == AC_RADX1stP
Return (PlayerWearsHazmat() || PlayerWearsGasMask()) == False
;ElseIf animation == AC_MedX1stP || animation == AC_Psycho1stP || animation == AC_Radaway1stP
; Return True ; lets do syringe animations in hazmat for now
EndIf
Return True
EndFunction
Function PlayChemAnimation(Idle animation1stP, Idle animation3stP, Bool mute)
if IsEligibleForAnimation(animation1stP)
Busy = True
if mute
audioCategoryVoc.Mute()
EndIf
Utility.Wait(0.5)
If Game.GetCameraState() == 0
PlayerRef.PlayIdle(animation1stP)
Else
PlayerRef.PlayIdle(animation3stP)
EndIf
Utility.Wait(GetWaitAfter(animation1stP))
if mute
audioCategoryVoc.UnMute()
EndIf
Busy = False
Else
Sound FallbackSound = GetFallBackSound(animation1stP)
PlayFallbackSound(FallbackSound)
EndIf
EndFunction
Function PlayFallbackSound(Sound FallbackSound)
if FallbackSound != none
Utility.Wait(0.1)
FallbackSound.Play(PlayerRef)
Utility.Wait(0.4)
EndIf
EndFunction
Sound Function GetFallBackSound(Idle animation)
if animation == AC_Psycho1stP
Return AC_Psycho_Sound
ElseIf animation == AC_MedX1stP
Return NPCHumanChemsUseJet
ElseIf animation == AC_Jet1stP
Return NPCHumanChemsUseJet
ElseIf animation == AC_Pill1stP
Return AC_PillFX_Sound
ElseIf animation == AC_RADX1stP
Return AC_RadXFX_Sound
ElseIf animation == AC_Radaway1stP
Return AC_RadAway_Sound
EndIf
Return none
EndFunction
float Function GetWaitAfter(Idle animation)
if animation == AC_Pill1stP
Return 2.5
ElseIf animation == AC_RADX1stP ; aka mentats->buffout
Return 2.2
EndIf
Return 2.0
EndFunction
please be more specific
idk i f i want to do that. horizon and tales from the commonwealth would be required and it wouldnt be compatible with anything that adds or changes chems.
sounds like you are uninstalling mods mid playthough?
i will probably not upload a patch due to laziness, but i can give you my esp and my script
im pretty sure your crash issue will not be fixed with this.
post your load order in a spoiler tag and describe when it crashes exactly
high quality animations and easily customizable behaviour
thanks for releasing the source as well :)