Iamiko Posted October 17, 2012 Share Posted October 17, 2012 Currently working on a personal overhaul of the heavy armour perks and I have encountered a slight hitch. I am trying to add an effect where if your standing still, you gain a slight AR boost so I set a condition on the perk "IsMoving == 0.00". Now, this is working... even when my character is moving! I have tried reversing it for the sake of testing that the condition was actually being checked and if set to "IsMoving != 0.00" then the change doesn't apply, regarless of whethere my character is moving or not. Got several possible causes right now and was hoping someone could shed some light on ways to check them. (a.) IsMoving is not being read or updated correctly by Skyrim while my character is moving (game bug in that case?). (b.) the "IsMoving" function that the perk condition is calling is different or is returning a different result to the one called by "player.IsMoving" (Unlikely, but possible) (c.) "IsMoving" cannot be called as part of a perk condition check. (d.) My implementation sucks and I missed something obvious. This is a screendump of the current perk configuration: Any help would be greatly appreciated! Link to comment Share on other sites More sharing options...
LukeH Posted October 17, 2012 Share Posted October 17, 2012 Maybe you should check Savage Strike perk, it should need similar conditions. Link to comment Share on other sites More sharing options...
Iamiko Posted October 18, 2012 Author Share Posted October 18, 2012 Maybe you should check Savage Strike perk, it should need similar conditions. Good thought, and one I'd considered while bashing my head on the wall. The Savage Strike perk adds a damage multiplier to standing power attacks, rather than checking if the player is still or not. Link to comment Share on other sites More sharing options...
porroone Posted October 18, 2012 Share Posted October 18, 2012 You could try a different condition to see if its whats causing the issue, like GetGraphVariableFloat using "Speed" as parameter, or GetVelocity. Link to comment Share on other sites More sharing options...
Iamiko Posted October 19, 2012 Author Share Posted October 19, 2012 (edited) Ok, got it kind-of working by checking that "GetMovementDirection" equals zero. Unfortunately it only updates when an object is equipped or unequipped, looks like I need to write a script and that's going to add some overhead by checking regularly if the character is moving. Edit: forgot to add, thanks porroone. your suggestion put me on the path of GetMovementDirection! Edited October 19, 2012 by Iamiko Link to comment Share on other sites More sharing options...
porroone Posted October 19, 2012 Share Posted October 19, 2012 GetMovementDirection == 0, only works for moving forward, with GetVelocity you can also check if the player is jumping checking the Z velocity, and works for all directions :) Link to comment Share on other sites More sharing options...
LukeH Posted October 19, 2012 Share Posted October 19, 2012 Ok, got it kind-of working by checking that "GetMovementDirection" equals zero. Unfortunately it only updates when an object is equipped or unequipped, looks like I need to write a script and that's going to add some overhead by checking regularly if the character is moving.Hmm, did you check if the equipping thing is not the issue with isMoving too?PS: I'm trying to do something similar at the moment using GetInFaction and http://www.creationkit.com/Talk:Passing_Conditions_to_Papyrus cause it seems we don't have something like onFactionJoined/Leaved in papyrus. I need to check this equipping cause it didn't worked for me till now. Link to comment Share on other sites More sharing options...
Iamiko Posted October 19, 2012 Author Share Posted October 19, 2012 (edited) GetMovementDirection == 0, only works for moving forward, with GetVelocity you can also check if the player is jumping checking the Z velocity, and works for all directions :) Are you sure? I thought "GetMovementDirection == 0" was not moving and the returns of 1 through 4 are for the directions? Hmm, did you check if the equipping thing is not the issue with isMoving too? No, I haven't as I'd abandoned IsMoving by the time I discovered the equipping issue. Worth checking though, will have a look at that. Edited October 19, 2012 by Iamiko Link to comment Share on other sites More sharing options...
porroone Posted October 20, 2012 Share Posted October 20, 2012 Are you sure? I thought "GetMovementDirection == 0" was not moving and the returns of 1 through 4 are for the directions? You maybe right, I had in mind GetAnimationVariableFloat("Direction") where 0 is forward, 0.5 is back, 0.25 is right and 0.75 is left. Link to comment Share on other sites More sharing options...
Recommended Posts