BHAVs aren't misBHAVing but they could BHAV better
Juuust kidding! I've downloaded it, so I'll take a look at it shortly (I have my game running right now, but as soon as I'm not and can launch SimPE without getting a bazillion error messages) and see what I can do.
And darn right you should be pleased with yourself! Those aren't easy things to do, so well done!
P.S. Love the thread title!
Thank you muchly. I thought the thread title was fairly descriptive of the problem, lol. Haha - I spelled BHAV wrong, obviously my BHAV's need some tweaks!
Okidoke. Have looked.
First of all, there are a couple of issues with the animations. No. 1, underscores in animation names are a big no-no; the only one that should be there is the one in _anim. So, _sitting, _kneeling etc. need to be -sitting, -kneeling for things to work properly.
No. 2, the in the text list, your custom animations are called things like a-praypose_standing - but the actual anim files in your package all start with changelingsclone-[mustluvcatz-24.7.2014-77a]. The names in the text lists have to look like that, too, otherwise they won't work. (I'm guessing that they work for you - but in that case it's because you have the original animations on your computer somewhere. For me, who doesn't have them, all the Sim does is freeze in place until I cancel the action from the queue.)
Now, since I don't have the custom anims I don't know what they're supposed to look like, but I can see that most of the time, in your BHAV you have an idle right after the animation, which will cause the Sim to freeze in place for a short time. If you remove that, the Sim won't freeze (but if you want them to do that, then never mind ).
I get a little confused when you say the anims run too long, though. Most of the BHAVs are set to loop until the Sim reaches max fun or the action is cancelled from the queue (since "Wait for Notify" returns to the animation if false), so the poor things are just doing what you told them to. But if you only want the anim to run once, then have it return true and you're done.
BTW, in the "Praise God" BHAV, you have the Coin Flip coin flip between two identical animations, which usually doesn't make for much variety. There's something similar going on in "Pray for Forgiveness"; there, you run the anim called a-react-cry-loopsob-standing before coin flipping between loopwail and loopsob, so you might end up running the same anim twice in a row there.
Does any of this make sense? Or is that just inside my head?
Thank you very much! I'll fix those things right away. All I did was add the BHAVs, and yes I planned to have someone look at the thing before I said it was done. I was wondering about that idle- and that's probably what I meant by running too long. I'll leave the false in there for the Wait for Notify though because the object is supposed to raise/max fun. The lack of "changelingsclone-[mustluvcatz-24.7.2014-77a]" is an oops, I missed that. (I'm blaming the underscores on someone else though. I didn't put those there! *stomps feet*)
The animations for the coin flip are probably my fault. I was editing them and must've chosen the wrong one. Silly me. I'm still happy with myself though. I got it this far without help and totally understand what else I need to do! So thank you again!! I'm pretty sure she's going to love this object when it's done and passed along to her.
* mustluvcatz remembers the days of adding fire to a stove
If I sound a little scatterbrained, I am. Just got done running around doing errands and some other things and... bleh. Tomorrow I go nowhere!! But I still know what I need to do now.
Yay! I made sense! My brain is kind of boiled today, we're in the middle of a heat wave here (by Swedish standards, anyway), so I wasn't sure how much heatstroked gibberish I was talking.
Yeah, idles can be good to sneak in if you want the Sim to pause for a brief moment before moving on, but 0F is a pretty long time to idle. Speaking of which, in Pray for Forgiveness (a.k.a. Come Do Stuff), you have an idle that's set to 0 - which of course mean that the Sim doesn't idle at all. It isn't causing any trouble, though (well, it isn't causing anything), so if you want to, you can leave it as it is.
One place were I'd actually consider adding an idle, though, is in "Curse God", after the Sim has turned into dust (loved that, BTW! But you scared me for a moment, I wasn't sure if I'd killed my test Sim ). 'Cause that's one place where I think the Sim staying in place for a moment longer would be good - but it's just a personal preference, so YMMV.
BTW, are Sims only supposed to be able to use this if they're in a good (or at least not too bad) mood? 'Cause I noticed you have the "can't you see I'm not in the mood to do this" dialogue in there, and I can't quite figure out why otherwise. For that to work, though, you need to toss in a global called 0x0197 (refuse skill object) right at the beginning of your BHAVs, that checks the Sim's mood, and then point it to a BCON line with the value 0x0 (like you have in Tuning and Tuning - View). Then your Sims will refuse to pray if their mood is too red.
And now it's past midnight here, so this little Nixie is going to bed.
The dust. I LOVE that (the kids think it's hilarious) and wish I could take credit for it, but I can't. There was a whole lot more text here, but I figured it out and my test sim now stays on the ground for a split second longer.
The bad mood thing. I don't know? I just added it because it was there. Can I nuke it altogether?
Could you check the Mysterious Object one more time?
* mustluvcatz wonders why Nix would worry about killing her test sim when she's been known to set sims on fire
More editing: There is one thing I have no idea how to fix and it only happens if you cancel one of the 3 "pray" actions IF there is no other action in the queue. EDIT: Fixed! The error was an "Undefined Transition" error and for anyone who might be interested, here's the answer to that: "In general most of them were caused by a call to an animation that did not have both options calling the next line. Animation calls can not have false or error as options." Cryptic, eh? But! All fixed, no more errors!
One last edit: (Promise!!) The "pray- sitting" action is silly since the sim will sit in mid-air if they're not already sitting down. Can the BHAV's be edited to change that so "pray - sitting" will only show up in the pie menu IF they're already sitting down? I was thinking of a TEST but.. ??
Gah, my brain obviously was completely muddled yesterday, because I only told you about half of what you needed to know. Should have told you that the anim names have to start with a- and that animations are Not Happy if the false target is set to error (it can work if it's set to false, though). Sorry!!
Anyway. Have checked the Mysterious Object again, and we're getting there. There are still some issues with "Come do stuff", though - nothing object-breaking, but still stuff that you might want to fix. First, in that one all your animation falses still return false. Like I said it can work that way, but it's better to have it call the next line, like the true target does. Second, on the fifth line (0x4), the animation name is "0". If you don't want to run an animation there, it's better to delete that line and have the loopbreathe anim call the Coin Flip directly.
Also, the Wait for Notifys in Kneeling and Sitting are... weird. Set them to 0 for both "ticks" and "allow push".
Yes, you can just nuke the bad mood thing, it doesn't do anything as it is other than take up space. Another thing that from what I can tell is just taking up space is "Pray 2", I can't see that it's being called from anywhere. (I think it used to be a "View" function, it looks that way, but since you're using the global for that, you don't need it.) So you can nuke that one, too.
And yes, you can absolutely make it so that "Pray - Sitting" only shows up if the Sim is already sitting down (you can also make it so that the Sim finds a chair to sit down on first, but that's trickier). All you have to do is to give it a one-line guardian (test) that goes as follows:
[prim 0x0002] Expression (My person data 0x0000 (Sitting?) == Literal 0x0001)
Have it return false if false and true if true. And then only already sitting Sims will have the option to pray sitting.
Remember your tumblr post about editing, committing and not saving? Yeah, that explains the Wait for Notifys.. I did edit those to match the Wait for Notify's that are set to 0 (because I was playing around while waiting, lol). Note to self: commit AND save. Sheesh. So- I'll fix those again.
Nuke the bad mood. Will do. Pray 2? I was wondering about that. Will nuke it.
Pray sitting!! Omg, I've been driving myself nuts trying to figure that one out. (It's a pretty short drive, tbh.)
I've been playing around with the Praise animations since it looked like my test sim was just doing the same one over and over. I added another one (that actually wasn't already in the Text Lists, yay me) and it's not so over and over looking now.
Thanks again for all the help here! I've been taking notes so this IS something I'll be able to do the right way the first time soon. Once I do these edits this should be good to go? *hopes so cuz she has an idea for another object similar to this but with the 3 "prays" nuked*
* mustluvcatz respectfully reminds Nix of the test sim she set on fire while helping add fire to a certain stove
Oooh, I'd forgotten all about that Sim! In my defence, though, IIRC he (or was it she? Can't remember if it was Randy or Rhonda) wasn't actually on fire, he just had a fire effect coming from his butt.