CEP2.65 Ship's Wheel not turning

I have a small mod where I imported CEP haks and erfs, and the Ship’s Wheel turns as it’s supposed to.

In my actual mod I only imported the CEP haks, and manually exported a few scripts I needed from CEP. When I create a new Ship’s Wheel placeable, with the correct script attached and variable set, the wheel does not turn. The tiny central hub turns, and if I have the object selected in-game, the ‘blue object highlight’ actually turns(!) but the wheel itself doesn’t. Even exporting the placeable from my small mod and importing it into my actual mod gives the same results.

I’m obviously missing some key knowledge and/or doing something stupid … any idea what? :slight_smile:

hmm. I’ve imported the CEP haks and placed a Ship’s Wheel from the palette, and it’s turning fine for me. The highlight turning while the wheel doesn’t seems very odd. That sounds more like a problem in the .mdl than a scripting or setup issue.

Ideas for things to try:

Compare the load order of the haks in the module where it’s working to the load order of the haks in the module where it isn’t working. It’s maybe a bit far-fetched, but it’s theoretically possible for a malfunctioning older version of the .mdl to be contained in one of the haks, which gets overridden by a fixed variant in another.

Check through the object properties, take screenshots of the settings in the individual tabs of the working original, compare them to the malfunctioning one, to see if any of the settings are different.

Thanks TheBarbarian (not for the first time!). I went back to basics, created a new mod and added only the cep_top_2_265 hak and core 5 and 6 but didn’t import the erfs … all fine.

Everything was correct in my main mod in terms of placeable settings and hak order. The one thing that I eventually thought might be the problem was that I already had a static ship’s wheel in the area I was testing in, I’d just added another for a quick test on how the animations looked. So I placed the ship’s wheel in another area and it worked fine! I tried it again in the original area with another wheel, and the same problem occurs!

So, if there is already a ship’s wheel in the area, the activation animation doesn’t play … at least that’s my possibly flawed conclusion. It’s enough for me to progress as I only need one wheel in the area, but it seems slightly bizarre … the only potential curiousity I noticed when checking for hak conflicts is that the wheel has a ‘pwk’ file in cep core 5. I know nothing whatsoever, but from a quick google it seemed a slightly odd file type to have, although maybe there’s a mdl file for it too somewhere.

Anyway, problem solved, thanks for your help - but would love to know the reason behind it not working! :slight_smile:

1 Like

Very nice find! Tested, and confirming: It happens when there is a minimum of one static Ship’s Wheel in the area. Doesn’t happen when non-static ones are present. Non-usable, non-static ones seem to be a-okay too, so having decorative wheels in the area along with one usable one should still be possible.

This is some of the strangest (expletive) I’ve ever seen happen in NWN. I’d also love to know what’s up with this. Maybe if we come across more placeables that’re acting this way, we can examine them for parallels in the name of SCIENCE!11eleven :grin:

PWKs are placeable walkmeshes; they’re used to render parts of the area unwalkable, so players can’t walk through non-walkable placeables like rocks and trees and furniture. ::salutes::

I have a module with usable and static wheels in the same area, but the former works as expected. The script is zep_onoff.

1 Like

Thanks TheBarbarian, I’m glad I’m not going crazy - or at least if I am, I’m not alone :slight_smile: Maybe it’s just ‘magic’ or proof of a parallel universe (which I’m pretty sure is the root cause of most of my unexplained bugs) :slight_smile:

Although if this is working for you, Proleric (and I do use that same script) I wonder what the difference is - I haven’t imported the CEP .erfs, have you? (I just tried importing erfs and that didn’t seem to make any difference … maybe there’s a check box for ‘don’t turn ship wheel if a static instance exists in the area’ you’re not telling us about :slight_smile: )

1 Like

No, I’m not using erfs or doing anything clever, just setting the appearance and the script.

1 Like

We are stuck on a thin crust over a boiling lavafirecore of death that is slowly spinning around in space. There are literal giant fireballs everywhere around us. Despite this, a surprising amount of people place extremely high importance on the shape and colour of another person’s shoes.

If reality is insane, then insanity equates to realism, wherefore it is sane to be insane and insane to be sane. RELINQUISH THY GRASP ON THE FRAIL AND FEEBLE MOCKERY THAT IS SANITY. ::gibbering:: 0 = 1 = 0 = 1 = 0 = 1 = 0 = 1 = 0 = 1 = 0 = 1…

Curiouser and curiouser. :thinking:

Wild stab-in-the-dark idea: Since the issue occurs if particular objects are present in the area in a particular state, maybe … there are… other objects that… balance it out again? :confused: Could you check if it’s still working if you delete all the other placeables in the area, aside from the wheels (static, and usable)? Definitely static wheels and usable wheels, mind - non-static-non-usable ones don’t seem to cause the usable wheels’ animations to malfunction.

I have a test mod for this with only two wheels in it and nothing else … same problem :slight_smile: Even creating a copy of the Ship’s Wheel and changing the tag/resref of the second one and placing it alongside the original makes no difference.

It might be interesting to see what happens if you create a new mod with nothing in it but two wheels, one static, one not … meanwhile I’m beginning to think TheBarbarian makes a number of good points which I need to contemplate :slight_smile:

1 Like

I can’t reproduce the problem at all, even in a brand new CEP module.

The script assumes that the initial state of the wheel is Activated and that local integer CEP_L_AMION is set. In my tests, if one of those conditions is untrue, nothing happens the first time you use the wheel. After that, the script is self-correcting.