LarryG on 13/3/2011 at 22:27
Quote:
NVLinkBuilder (NVTrap)
Upon receiving TurnOn, this script creates a link with the flavour specified by NVLinkType between the objects specified by NVLinkSource and NVLinkDest.
A TurnOff message will remove the link.
Can you use
[INDENT]NVLinkType="AIWatchObj"; NVLinkDest="[Me]"; NVLinkSource="@Keeper"[/INDENT]
to establish AIWatchObj links between all descendants of Keeper and the object with the script?
It does not seem to be working for me ...
Edit:The link gets built when I target both concrete objects explicitly.
Nameless Voice on 13/3/2011 at 22:30
No, it doesn't support that.
LarryG on 13/3/2011 at 22:44
D _ _ n. And I can't have multiple copies of that script either. Double D _ _ n.
Edit:
Ah. This seems to work for me: WatchMe with Script> Trap Control Flags > Invert. Nope. I spoke too soon. That doesn't work for my needs. Triple D _ _ n!
Quote:
WatchMe
gen.osm 1/G
When the script starts, creates AIWatchObj links to this object from all objects that descend from Human.
Suggestions welcome for how to add/remove AIWatchObj links to an object from all descendants of some archetype on TurnOff / TurnOn. (TurnOff=add, TurnOn=remove)
Nameless Voice on 13/3/2011 at 23:13
Oh, right, I wasn't quite paying attention. Use NVWatchMe.
It supports NVWatchMeTarget, which defaults to "@Human".
LarryG on 13/3/2011 at 23:16
Whew! Thank you. I'll check it out.
Edit: No that doesn't seem to do it. The only thing that seems to add the AIWatchObj link successfully for me is NVLinkBuilder and NVLinkType="AIWatchObj"; NVLinkDest="object_name"; NVLinkSource="AI_name" and then only for one object. The other approaches don't get the AI to behave as though it is linked.
I'm using NVWatchMeOn="TurnOff"; NVWatchMeOff="TurnOn"; NVWatchMeTDest="@Keeper"
Nameless Voice on 14/3/2011 at 00:29
Erm, oops.
NVWatchMe does the same thing that WatchMe did - it adds the links when its object is created in-game. It doesn't understand "on" or "off" - it's not a trap.
Maybe it would be easiest if you used a genie?
LarryG on 14/3/2011 at 01:02
How? I need to do this LOTS of places. I can have a genie that adds/removes an AIWatchObj link between the summoner and an archetype?
Edit:: I mean how does the genie know what object summoned it?
R Soul on 14/3/2011 at 01:52
I think you can have up to 4 NVLinkBuilders (always helps to open an osm in Notepad++), but I've no idea if that's of any use.
What are you trying to do? The reason I ask is that sometimes people start down one path, and then find themselves stumped by the next step. Only after being asked what they are trying to do can someone else suggest an easier path.
LarryG on 14/3/2011 at 02:27
This is my approach to having Keeper AIs turn on my custom ceiling gas lights when they enter rooms with gas lights that are turned off. So I have an AIWatchObject link added between all Keeper AIs and the ceiling light when someone (player) turns it off. The Watch link defaults have the intruding AI go to the fixture, reach up and frob it on. When the ceiling fixture is frobbed on, it removes the link. The problem is with getting the link added to all Keepers instead of just one.
R Soul on 14/3/2011 at 03:04
NVConvEnhancer
[INDENT]CheckLock[/INDENT]
That action was made with locked doors in mind, so that an AI can respond in a more interesting way than just standing there like a lemon. Perhaps you could use it for your system. Frobbing the swtich could lock/unlock an object*. If CheckLock is the first action of the AIWatchObj link, the AI should only frob the switch if the object is locked.
If that works you won't have to worry about adding the links dynamically. Creating them in Dromed might take a while, but sometimes that's unavoidable.
* could be a door, but it might work with any object