Jump to content

Zentards Suck at Idle Animations


Firedoom

Recommended Posts

So I'm trying to make a Quest based Token activated Idle Animation; let's call it "Run Like a Bitch".

 

fQuestDelay is at 0.1

And pickidle is placed after the addition and after the removal of the Token.

 

"Run Like a Bitch" activates correctly and at the correct time when the player is running forward and certain other conditions are met. However, as soon as the activating token is removed, sometimes the player gets stuck in "Run Like a Bitch" mode, even if she isn't running. It just plays real slow, like at the speed of my normal idle animation, I'm guessing. And on occassion when the animation actually deactivates, my player can nolonger run forward but walks instead, AND "Run Like a Bitch" will nolonger activate even though the token is still correctly getting added to inventory.

 

Is anyone familiar with this particular headache? I could have sworn I did everything right.

 

Anyways... here's the script :blush:

 

 

 

scn ztdFormEffectsScript

 

float fQuestDelayTime

 

Begin Gamemode

 

If ( player.GetIsRace REDACTED != 1 )

return

EndIf

 

set fQuestDelayTime to 0.1

 

If ( ztdForm(GLOBAL) ==1 && player.GetItemCount ztdTokenRun == 0 )

If ( player.IsRunning && player.IsMovingForward )

player.additem ztdTokenRun 1

player.pickidle

endIf

EndIf

 

If ( ztdForm(GLOBAL) == 1 && player.GetItemCount ztdTokenRun == 1 )

If ( player.IsMovingForward == 0 )

player.removeitem ztdTokenRun 1

player.pickidle

EndIf

EndIf

 

If ( ztdForm(GLOBAL) == 0 && player.GetItemCount ztdTokenRun == 1 )

player.removeitem ztdTokenRun 1

player.pickidle

EndIf

 

End

 

 

Link to comment

Investigate PlayIdle and refs rather than PickIdle and tokens if you are using OBSE20!

 

PickIdle is very error prone!

 

I recently tried using a ToggleSpecialAnim function, but I failed utterly. There is nothing on the cs wiki I saw about PlayIdle, but I'll try it out. I'm assuming the structure is something like player.PlayIdle ref:idleanim ?

Link to comment

I'm missing something vital. Although this new method certainly executes much more smoothly, I'm still having an issue with the idle failing to disengage. Or rather, I'm having an issue with my failure to understand how to disengage the idle.

 

Here is my new broken script.

 

 

scn ztdFormEffectsScript

 

ref Run

float fQuestDelayTime

 

Begin Gamemode

 

If ( player.GetIsRace REDACTED != 1 )

return

EndIf

 

set fQuestDelayTime to 0.1

set Run to ztdRunLikeABitch

 

If ( ztdForm(GLOBAL) ==1 )

If ( player.IsRunning && player.IsMovingForward )

player.playidle Run 1

endIf

EndIf

 

End

 

Link to comment

Getting a feel for what you are trying here, I think you need a technique more like Mastercris's SpecialIdles. (see his plugins)

 

Your script isn't playing an idle for conditions other than IsMovingForward, which is why it doesn't stop.

 

Player.playgroup Idle 1 should stop it, IIRC. Haven't checked my notes but that sounds right.

Link to comment

Getting a feel for what you are trying here' date=' I think you need a technique more like Mastercris's SpecialIdles. (see his plugins)

 

Your script isn't playing an idle for conditions other than IsMovingForward, which is why it doesn't stop.

 

Player.playgroup Idle 1 should stop it, IIRC. Haven't checked my notes but that sounds right.

[/quote']

 

Thanks, I'll try that any look in on Masterchris if I still have trouble. I really appreciate your help Symon.

 

And again I'll be sure to post the solution whenever it occurs.

Link to comment

Getting a feel for what you are trying here' date=' I think you need a technique more like Mastercris's SpecialIdles. (see his plugins)

 

Your script isn't playing an idle for conditions other than IsMovingForward, which is why it doesn't stop.

 

Player.playgroup Idle 1 should stop it, IIRC. Haven't checked my notes but that sounds right.

[/quote']

 

Thanks, I'll try that any look in on Masterchris if I still have trouble. I really appreciate your help Symon.

 

And again I'll be sure to post the solution whenever it occurs.

 

If Ur making a Run Idle , In Blender

Import a FastForward.kf with ur Skeleton

if its ZAZ

StockFastForward.kf

Modify The Required Bones to ur Running Idle

DONT M0DIFY

BIP01

BIP01 NonAccum

BIP01 Pelvis

Especially Rotations It Might be confusing

Once Modified

 

Change the following values in Nifskope

 

Remember to Put it in the specialanims folder

 

u can use tokens or functions

 

player.ToggleSpecialAnim "runlikeabitch.kf" 1

player.update3d

 

I recommend functions

I havent used Functions in ZAZ stocks , But will use in upcoming versions

I ve Used Functions in ZAZ Horse rides You

Have a Look If if want to ...

 

Cheers

Link to comment

 

Getting a feel for what you are trying here' date=' I think you need a technique more like Mastercris's SpecialIdles. (see his plugins)

 

Your script isn't playing an idle for conditions other than IsMovingForward, which is why it doesn't stop.

 

Player.playgroup Idle 1 should stop it, IIRC. Haven't checked my notes but that sounds right.

[/quote']

 

Thanks, I'll try that any look in on Masterchris if I still have trouble. I really appreciate your help Symon.

 

And again I'll be sure to post the solution whenever it occurs.

 

If Ur making a Run Idle , In Blender

Import a FastForward.kf with ur Skeleton

if its ZAZ

StockFastForward.kf

Modify The Required Bones to ur Running Idle

DONT M0DIFY

BIP01

BIP01 NonAccum

BIP01 Pelvis

Especially Rotations It Might be confusing

Once Modified

 

Change the following values in Nifskope

 

Remember to Put it in the specialanims folder

 

u can use tokens or functions

 

player.ToggleSpecialAnim "runlikeabitch.kf" 1

player.update3d

 

I recommend functions

I havent used Functions in ZAZ stocks , But will use in upcoming versions

I ve Used Functions in ZAZ Horse rides You

Have a Look If if want to ...

 

Cheers

 

 

Works like a charm. Update3D is also a vital component I was missing when I tried to use functions earlier. According to the wiki "This command does not currently work correctly on the player." Well apparently it does work correctly if used right.

 

Thanks to both of you, my project can move forward!

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use