Jump to content

Enable/Disable seems not to work on creatures


syscrusher

Recommended Posts

I need to have several monsters that are present in the cell but initially inactive, but then are triggered to become active by the player activating an object.

 

I have a trigger object that I created which does an "enable" on the test monster (for now, just one) when it is triggered. A DebugPrint confirms that my script is firing.

 

The issue is that the monster isn't waiting for the script. He's active immediately when the player enters the cell. I stayed hidden for a while and verified that he is in fact executing a "wander" AI package, even though I set him to "initially disabled" in the CS.

 

For the disabled state, I don't care whether the monster is "not rendered at all" or is "rendered but immobile", but I need for it not to move around and attack anything, or make any noise.

 

Am I doing this the wrong way? Does "initially disabled" not work the way one would expect, with Actor objects?

 

By the way, I know about the trick of putting the monsters at a remote location initially and then using MoveTo with a marker. I'll fall back to that if I must, but for story-line reasons I really want to make an actual in-cell enablement rather than an instant teleport, if I possibly can.

 

Thanks for any advice.

 

Syscrusher

Link to comment
Share on other sites

Initially Disabled should work with monsters. Presumably you have the monster set as a named persistent reference? If that doesn't work, take away all of it's AI, and add it to the cell's faction.
Link to comment
Share on other sites

Initially Disabled should work with monsters. Presumably you have the monster set as a named persistent reference? If that doesn't work, take away all of it's AI, and add it to the cell's faction.

 

It wasn't persistent when first added to the cell, but I toggled that in an attempt to solve this problem. Taking away its AIs is not a problem per se, though I'll need to have some AIs to determine what happens after it is activated. But I can make those conditional. What do you mean by the "cell's faction"? I have factions for my various NPC groups, but I don't have one for the cell in and of itself.

 

Thanks for the reply!

 

Syscrusher

Link to comment
Share on other sites

What do you mean by the "cell's faction"? I have factions for my various NPC groups, but I don't have one for the cell in and of itself.

 

Thanks for the reply!

 

Syscrusher

 

I was assuming (perhaps wrongly) that the cell would be a dungeon, or such like, with creatures. So I mean any faction that denizens of the cell belong to -- you said you didn't want it attacking anything.

Link to comment
Share on other sites

What do you mean by the "cell's faction"? I have factions for my various NPC groups, but I don't have one for the cell in and of itself.

 

Thanks for the reply!

 

Syscrusher

 

I was assuming (perhaps wrongly) that the cell would be a dungeon, or such like, with creatures. So I mean any faction that denizens of the cell belong to -- you said you didn't want it attacking anything.

 

You assumed correctly; it is a dungeon. The dungeon has several rival and allied factions, but in this case the creature under test isn't supposed to be part of anything other than Creature Faction. I can keep it from attacking by setting factions and raising its Personality score, but the issue is also that I don't want it wandering around. I suppose I could give it an AI that makes it stationary at its editor location until the correct quest point is triggered, but I was hoping to be able to just have it "frozen" until I "thaw" it with one status bit. Lots easier to script, and it doesn't notify the player of a quest stage change.

 

Thanks for clarifying what you meant by "cell faction." I was afraid that I had missed some documentation that every interior cell needed a faction for its NPCs as a game mechanics issue. I'm glad to know that my understanding of factions was correct.

Link to comment
Share on other sites

I was playing WAALX not long back, and they have stone gargoyles that look and behave like statues until the player is very near to them, then they slowly come to life and attack. You could always look at that and get some ideas. Or look at the vanilla quest with the Ayleid statues (The Ultimate Heist?) that come to life.
Link to comment
Share on other sites

Ah, good idea. I know the questname "Ultimate Heist" and that it's near the end of the Thieves' Guild line. I've never played that far in that particular guild, though. I'll check it out. Thanks for the pointer.
Link to comment
Share on other sites

  • 3 weeks later...

I finally figured out what was going on here. "Initially disabled" works just fine on any given object. But my *trigger* object was the problem. The trigger was connected to the monster it was triggering in a parent/child relationship, something I did because that's the usual way trap objects work. Silly me. The fact that the trigger was enabled (duh....else it wouldn't, ummm, trigger...) was by implication forcing the monster to the enabled state.

 

I rebuilt the setup using a persistent named reference monster as an off-stage template, initially disabled. The trigger object calls out that reference by name for a CreateFullActorCopy followed by a MoveTo followed by an Enable. The only drawback I've found is that the copy has no factions and no AI (documented behavior of the copy function), so I have to perform function calls on the copy to add the creature faction and one AI package (a very simple one: go kill the PC).

 

Once I figured out all that, it now works correctly, and it has the added benefit of being respawnable if I permit the trigger object to reset after a time delay. This actually turns out to be a useful feature for my quest, for reasons that I can't detail here without a spoiler. :-)

 

Thanks to those who posted on this thread; you didn't solve it for me, but you got me thinking in the right direction to find the solution myself, and that's all I could reasonably ask. :-)

 

Syscrusher

Link to comment
Share on other sites

Thanks to those who posted on this thread; you didn't solve it for me, but you got me thinking in the right direction to find the solution myself, and that's all I could reasonably ask. :-)

 

Syscrusher

 

That's what's special about this community. :thumbsup:

Link to comment
Share on other sites

  • Recently Browsing   0 members

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