Jump to content

EggFactory Animations Addon


Recommended Posts

Posted (edited)

Hello, looks like I cant find any help with my problem. I trying make addon to EggFactory which able to add animations for player and npc (especially for npc) at labor, but I have so low experience with scripting and making events for games, so after lot of tryies I done nothing, my scripts dont work, even is it successful compiled, mod author dont want adding anim's since last century) and I dont know why, I found some vanilla idle animations which can be used at that addon, but as I already says I make too many mistakes at scripting and etc.

I post here my ideas and scripts, please can you look at that and help me, or mb you can make a favor and make addon by yourself.
First and second script, first script I tried to use at labor MagicEffect and disease, but at labor effect It dont work, and looks like disease not add to the npcs so this dont work too. At second script I tried to make animation start when fluid fx adding before labor and ending when item was unequipped after labor finished, but still have nothing works

Spoiler

Scriptname EggFactoryLaborAnims extends ActiveMagicEffect  

Idle  Property EFlabor Auto
Idle    Property IdleStop_Loose Auto
event OnEffectStart(actor akTarget, actor akCaster)
    akTarget.PlayIdle(EFlabor)
endEvent
event    OnEffectFinish(actor akTarget, actor akCaster)
    akTarget.PlayIdle(IdleStop_Loose)
endEvent

Spoiler

Scriptname EggFactoryFluidLaborAnims extends ObjectReference  

ObjectReference Property eggfactoryfluid Auto
Actor Property PlayerRef Auto

Event OnObjectUnEquipped(Form akBaseObject, ObjectReference akReference)
If akBaseObject == eggfactoryfluid
debug.SendAnimationEvent(PlayerRef, "IdleWounded03Exit")
EndIf
Utility.Wait(20) ;time it takes to finish the animation
PlayerRef.PlayIdle(IdleStop_Loose) ;this prevents the actor from getting stuck in an animation loop
EndEvent

Event OnObjectEquipped(Form akBaseObject, ObjectReference akReference)
If akBaseObject == eggfactoryfluid
debug.SendAnimationEvent(PlayerRef, "IdleWounded03")
EndIf
Utility.Wait(20) ;time it takes to finish the animation
PlayerRef.PlayIdle(IdleStop_Loose) ;this prevents the actor from getting stuck in an animation loop
EndEvent

 

Also I made se conversion of last version of mod, I also post it here

 

List of animations which can be used 

Spoiler

IdleWarmHands_crouched_enter.hkx
IdleWarmHands_crouched_exit.hkx
IdleWarmHands_crouched_pot.hkx

 

IdleGreybeardMeditateEnterA.hkx
IdleGreybeardMeditateExitA.hkx
IdleGreybeardMeditateIdleA.hkx

 

IdleBlessingKneel_Enter.hks
IdleBlessingKneel_Exit.hks
IdleBlessingKneel_Loop.hks

 

BleedOut_Idle.hkx

WebIdleAltered.hkx


or WebIdleBreathing.hkx
WebIdleExit.hkx

 

MT_Wounded_03.hkx
MT_wouned03Exit.hkx

 

MT_Wounded_02.hkx
MT_wouned02Exit.hkx

 

MT_BoyRitual.hkx


P.S. Mb anywhere at original mod's scripts laying somewhat which can make nps playing animations like it player character does, but I dont found that, if it possible to make then I can just made addon with DAR to play random animations from list ( I can try :) )

EggFactory 36 SE.7z

Edited by colourtemp3000
Posted (edited)

 I never used Egg Factory so Im afraid I wont be able to help you a lot here

 

The first script looks alright, did you check that they actually fire? Put a Debug.Messagebox/Trace/Notification into the  Script to get some feedback if your Script got to where you want it to be

 

The second Script is extending ObjectReference but the Equipped Events you are using are only firing for Actors. That aside, where are you using the Script? You should attach the Script to the "eggfactoryfluid" Object which I assume is an Armor Item. Changing your POV from the Actor equipping it to the Item being equipped, your Script would look like this:

 

Scriptname EggFactoryFluidLaborAnims extends Armor

Idle Property IdleStop_Loose Auto

Event OnEquipped(Actor akActor)
  Debug.Notification(akActor + " is now wearing " + self)
  Debug.SendAnimationEvent(akActor, "IdleWounded03Exit")
  Utility.Wait(20) ;time it takes to finish the animation
  PlayerRef.PlayIdle(IdleStop_Loose) ;this prevents the actor from getting stuck in an animation loop
EndEvent

Event OnUnequipped(Actor akActor)
  Debug.Notification(akActor + " is no longer wearing " + self)
  Debug.SendAnimationEvent(akActor, "IdleWounded03Exit")
  Utility.Wait(20) ;time it takes to finish the animation
  PlayerRef.PlayIdle(IdleStop_Loose) ;this prevents the actor from getting stuck in an animation loop
EndEvent

 

This will now fire whenever an Actor (any Actor) equips the egg thing and play the Animation. If you only want to play if with the player, you put an if condition at the beginning and check "akActor" against "Game.GetPlayer()" (no need for an extra Property here)

 

Then, some of your Properties in that second Script dont make sense making me assume if you filled in the Properties in first place? Take a look at the Papyrus Log and see if there are any Errors reported which could explain your issue. Filing in the Properties has to be done through the Creation Kit

 

 

Edited by Scrab
Posted (edited)
On 1/2/2022 at 3:29 AM, Scrab said:

 I never used Egg Factory so Im afraid I wont be able to help you a lot here

 

The first script looks alright, did you check that they actually fire? Put a Debug.Messagebox/Trace/Notification into the  Script to get some feedback if your Script got to where you want it to be

 

The second Script is extending ObjectReference but the Equipped Events you are using are only firing for Actors. That aside, where are you using the Script? You should attach the Script to the "eggfactoryfluid" Object which I assume is an Armor Item. Changing your POV from the Actor equipping it to the Item being equipped, your Script would look like this:

 

Scriptname EggFactoryFluidLaborAnims extends Armor

Idle Property IdleStop_Loose Auto

Event OnEquipped(Actor akActor)
  Debug.Notification(akActor + " is now wearing " + self)
  Debug.SendAnimationEvent(akActor, "IdleWounded03Exit")
  Utility.Wait(20) ;time it takes to finish the animation
  PlayerRef.PlayIdle(IdleStop_Loose) ;this prevents the actor from getting stuck in an animation loop
EndEvent

Event OnUnequipped(Actor akActor)
  Debug.Notification(akActor + " is no longer wearing " + self)
  Debug.SendAnimationEvent(akActor, "IdleWounded03Exit")
  Utility.Wait(20) ;time it takes to finish the animation
  PlayerRef.PlayIdle(IdleStop_Loose) ;this prevents the actor from getting stuck in an animation loop
EndEvent

 

This will now fire whenever an Actor (any Actor) equips the egg thing and play the Animation. If you only want to play if with the player, you put an if condition at the beginning and check "akActor" against "Game.GetPlayer()" (no need for an extra Property here)

 

Then, some of your Properties in that second Script dont make sense making me assume if you filled in the Properties in first place? Take a look at the Papyrus Log and see if there are any Errors reported which could explain your issue. Filing in the Properties has to be done through the Creation Kit

 

 

Thank you, but script dont start, even notification dont work, also have compilation error, is this important?

image.png.fbcce942c36b0ffbe340d8af921d13e7.png

 

I fixed wrong animation name, and deleted idlestop then script was successfully compiled, but cant get it work, no anim started, no debug message, later will try this script at created by me special armor, mb some script at original mod dont let my script load?

Edited by colourtemp3000
  • 3 weeks later...
Posted
On 1/23/2022 at 4:57 AM, Scrab said:

Replace "PlayerRef" with Game.GetPlayer() or create an Actor Property "PlayerRef" and auto fill it

 

You should read through this here too to get some basic understanding of what youre doing 

Bethesda Tutorial Papyrus Hello World - Creation Kit

Unfortunately I still cant make that script work, even debug message not showing, dont know what wrong, thank you anyway, mb scripting is just not for me, or mb someday I will make it works

  • 4 months later...
Posted
On 1/30/2022 at 11:16 AM, colourtemp3000 said:

Unfortunately I still cant make that script work, even debug message not showing, dont know what wrong, thank you anyway, mb scripting is just not for me, or mb someday I will make it works

You are the messiah my modlist has been looking for, would make eggfactory 321% more enjoyable, I've got no experience in this section of modding, I wish you the best of luck!

  • 5 months later...
Posted
On 12/27/2021 at 3:20 AM, colourtemp3000 said:

Hello, looks like I cant find any help with my problem. I trying make addon to EggFactory which able to add animations for player and npc (especially for npc) at labor, but I have so low experience with scripting and making events for games, so after lot of tryies I done nothing, my scripts dont work, even is it successful compiled, mod author dont want adding anim's since last century) and I dont know why, I found some vanilla idle animations which can be used at that addon, but as I already says I make too many mistakes at scripting and etc.

I post here my ideas and scripts, please can you look at that and help me, or mb you can make a favor and make addon by yourself.
First and second script, first script I tried to use at labor MagicEffect and disease, but at labor effect It dont work, and looks like disease not add to the npcs so this dont work too. At second script I tried to make animation start when fluid fx adding before labor and ending when item was unequipped after labor finished, but still have nothing works

  Reveal hidden contents

Scriptname EggFactoryLaborAnims extends ActiveMagicEffect  

Idle  Property EFlabor Auto
Idle    Property IdleStop_Loose Auto
event OnEffectStart(actor akTarget, actor akCaster)
    akTarget.PlayIdle(EFlabor)
endEvent
event    OnEffectFinish(actor akTarget, actor akCaster)
    akTarget.PlayIdle(IdleStop_Loose)
endEvent

  Reveal hidden contents

Scriptname EggFactoryFluidLaborAnims extends ObjectReference  

ObjectReference Property eggfactoryfluid Auto
Actor Property PlayerRef Auto

Event OnObjectUnEquipped(Form akBaseObject, ObjectReference akReference)
If akBaseObject == eggfactoryfluid
debug.SendAnimationEvent(PlayerRef, "IdleWounded03Exit")
EndIf
Utility.Wait(20) ;time it takes to finish the animation
PlayerRef.PlayIdle(IdleStop_Loose) ;this prevents the actor from getting stuck in an animation loop
EndEvent

Event OnObjectEquipped(Form akBaseObject, ObjectReference akReference)
If akBaseObject == eggfactoryfluid
debug.SendAnimationEvent(PlayerRef, "IdleWounded03")
EndIf
Utility.Wait(20) ;time it takes to finish the animation
PlayerRef.PlayIdle(IdleStop_Loose) ;this prevents the actor from getting stuck in an animation loop
EndEvent

 

Also I made se conversion of last version of mod, I also post it here

 

List of animations which can be used 

  Reveal hidden contents

IdleWarmHands_crouched_enter.hkx
IdleWarmHands_crouched_exit.hkx
IdleWarmHands_crouched_pot.hkx

 

IdleGreybeardMeditateEnterA.hkx
IdleGreybeardMeditateExitA.hkx
IdleGreybeardMeditateIdleA.hkx

 

IdleBlessingKneel_Enter.hks
IdleBlessingKneel_Exit.hks
IdleBlessingKneel_Loop.hks

 

BleedOut_Idle.hkx

WebIdleAltered.hkx


or WebIdleBreathing.hkx
WebIdleExit.hkx

 

MT_Wounded_03.hkx
MT_wouned03Exit.hkx

 

MT_Wounded_02.hkx
MT_wouned02Exit.hkx

 

MT_BoyRitual.hkx


P.S. Mb anywhere at original mod's scripts laying somewhat which can make nps playing animations like it player character does, but I dont found that, if it possible to make then I can just made addon with DAR to play random animations from list ( I can try :) )

EggFactory 36 SE.7z 1.95 MB · 63 downloads

Is this working now?

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...