Qviddhartha Posted November 2, 2024 Posted November 2, 2024 (edited) I'm trying to use the ZazAnimationPack for my WIP mod. Currently I have ZazAnimationPackV7.0[2017-05-16], LE version. If I addItem an iron yoke to an NPC, and have it equipItem, he wears the device, and the magic effect comes on, but he does not actually use the yoke (the offset animation does not start). I don't understand why this does not work; reading the ZAP code just adds to the mystery. EDIT: Further testing reveals it does not always fail. Being involved in an idle, sandboxing and the bard audience quest all are involved in ZAP failures. Still does not seem to explain all the failures I see. If I put the NPC in a slot (using zbf.slotActor) and use zbf.setBinding, it adds and equips the yoke, the magic effect comes on, and the offset animation plays. If I leave the cell (through a load door) and come back, he's still wearing the yoke but the offset animation does not play; I have to send an actor rescan event to restart the animation. This works well enough, though not as transparently as I expected (the ZAP code reads like this is taken care of). However, there are only 5 slots defined. And only two of them are in the zbf.Slots array; the other three are unavailable to zbf.slotActor. I need more than two slots! I am getting failures allocating slots with zbf.slotActor. EDIT: Creating additional zbfSlot aliases outside of ZAP apparently works even though the code that attempts to avoid conflicts between the magic effect and the slot is guaranteed to fail. I will report back as I my testing of this approach progresses. I only need the NPCs to wear and use the devices and furniture. I don't need any of the fancier features (slave control, automatic sexlab animation selection, etc.). What am I doing wrong? PS: I have also left a message on the ZAP mod support page, but it doesn't look particularly active so I not very hopeful on getting an answer there. Edited November 2, 2024 by pfB6cs
Tetras66 Posted November 2, 2024 Posted November 2, 2024 2 hours ago, pfB6cs said: If I addItem an iron yoke to an NPC, and have it equipItem, he wears the device, and the magic effect comes on, but he does not actually use the yoke (the offset animation does not start). I don't understand why this does not work; reading the ZAP code just adds to the mystery. Have you tried using outfits instead? When I was having problems with items equipping from the inventory, I gave them an outfit instead and that seemed to work. You can switch outfits using a script. A wait or two can also help sometimes between lines. There's a particular animation event that is used to define a clear state, but I'm not sure what it is now. My google can just find IdleForceDefaultState, but I don't think that was the one. I've also encountered the problem with the limited number of slots (for furniture) and I got around it by bypassing the slot mechanic (the first line, an API call, identifies if the NPC can be slotted and if they can't then it will return None): zbfSlot zbfNPC = zbfBS.SlotActor(anActor) If(zbfNPC == None) aFurn.Activate(anActor) anActor.SetVehicle(aFurn) anActor.SetDontMove(true) anActor.SetRestrained(true) Else If aFurn.HasKeyword(zbfFurniture) zbfNPC.SetFurniture(aFurn) zbfNPC.PinActor() EndIf EndIf
Pamatronic Posted November 2, 2024 Posted November 2, 2024 2 hours ago, pfB6cs said: What am I doing wrong? 3 things: The first and rather obvious issue is that you are using zap7 instead if zap8. 8 is the currently used "stable" version and should be used if you don't want your mod to crash and burn for everyone who uses the current version. The scripts and mechanics in zap havent been maintained in a decade are are mostly still the same as they were in 2013, with all the jank an errors you would expect. as Someone who has started out with Zap dependencies in pretty much all his mods, I can only recommend to completely forgo zap mechanics and do your own implementations. I´ve spent a lot of time recently with ripping out the Zaz dependencys on my flagship mods again, because the mechanics usually cause more issues then they are solving. its a bloated nightmare of inefficiency and compatibility issues. Especially with the current day modding scene. Its only real use today is as an asset pack for its nifs. bonus point: Despite some Dinosaurs here claiming the opposite, LE has no real relevance in the current modding environment. It only is kept alive by some folks who "NEED" their 10 year old mod which hasn't been ported. I´ve wasted years of my life battling on an LE development environment, And the only regret I have is that I didnt make the switch to SE a lot sooner. 2
Qviddhartha Posted November 2, 2024 Author Posted November 2, 2024 1 hour ago, Tetras66 said: Have you tried using outfits instead? When I was having problems with items equipping from the inventory, I gave them an outfit instead and that seemed to work. You can switch outfits using a script. [...] I've also encountered the problem with the limited number of slots (for furniture) and I got around it by bypassing the slot mechanic (the first line, an API call, identifies if the NPC can be slotted and if they can't then it will return None): [...] Switching outfits won't work in my case. I'm putting randomly selected citizens in restraints and furniture. I can't predict what their current outfits will look like. Yep. I see you are in line with Pamatronic... forget Zaz and wing my own to get around limitations... I'm already engaged in that to some degree with idles... how to chain them property. It looks like my Zaz issues and idle issues have a common cause: the animation graph is a mess! I still have found no reliable way to track the animation graph, detecting when an animation is done, or when starting a new one will work, nor is there a way to tell if the animation event you received comes before or after the event you just sent. For now, I'll prolly stick with fake zbfSlots, but keep in mind I may have to bypass Zaz altogether.
Qviddhartha Posted November 2, 2024 Author Posted November 2, 2024 1 hour ago, Pamatronic said: 3 things: The first and rather obvious issue is that you are using zap7 instead if zap8. 8 is the currently used "stable" version and should be used if you don't want your mod to crash and burn for everyone who uses the current version. [...] Despite some Dinosaurs here claiming the opposite, LE has no real relevance in the current modding environment. It only is kept alive by some folks who "NEED" their 10 year old mod which hasn't been ported. I guess I should try zap8. I stuck with v7 thinking it'd make my mod more "compatible", and I'd fix any v8 issues once my mod is more stable (easier than the reverse). Putting it in my backlog now. As for LE, well I still haven't bought SE... but for the most part it's because I am pushing the envelope in my WIP. A *lot* of scripting involved... adds 8 followers... continuous cells scans, and more! Making it flow seamlessly within the LE limitations is quite a challenge and a good insurance that it will play well in SE. But you are right, SE is the target, no doubt about it.
DarkBlade13 Posted November 2, 2024 Posted November 2, 2024 Shouldn't zaz items be activated instead of equiped?
belegost Posted November 2, 2024 Posted November 2, 2024 (edited) 3 hours ago, pfB6cs said: still haven't bought SE If you would have owned Skyrim with all 3 DLC's in 2016, when SE came out, you'd have gotten it for free. Beth didn't make it a secret, and there were some pretty sweet deals at the time. Including a whole boxed set with all 5 games on disks, with all available DLC's for each, and a bunch of maps inside a pretty box. It was called... Legendary Edition. Yes, that's exactly where it comes from. Edited November 2, 2024 by belegost
MTB Posted November 3, 2024 Posted November 3, 2024 (edited) 19 hours ago, pfB6cs said: If I addItem an iron yoke to an NPC, and have it equipItem, he wears the device, and the magic effect comes on, but he does not actually use the yoke (the offset animation does not start). I don't understand why this does not work; reading the ZAP code just adds to the mystery. EDIT: Further testing reveals it does not always fail. Being involved in an idle, sandboxing and the bard audience quest all are involved in ZAP failures. Still does not seem to explain all the failures I see. You can try telling ZAP that the animation should change; it may notice at some point but to get it to happen right away call: zbfBondageShell zbf = zbfBondageShell.GetApi() zbf.ApplyAllModifiers( victim ) where victim is the actor that just got the items added or removed. Never tried using those `slots' etc. so cannot say whether that works; basically as pamatronic said own implementation for anything beyond the basics. 14 hours ago, DarkBlade13 said: Shouldn't zaz items be activated instead of equiped? You may be thinking of the furniture items which are a whole other story again. Edited November 3, 2024 by MTB
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now