Am I doing something wrong (again!) or do doors have to have the Door > Translating etc. on the concrete object for it to work like a door? I was trying to make a "sometimes I'm a door and sometimes not" kind of object by adding and removing a metaprop with all the door stuff on it. But it doesn't seem to want to work that way.
Does anyone know if using S/Rs to add/remove the Door > Translating properties on the object (via clone properties, or set property and remove property) would work any better? I really don't want to go the route of slaying and corpse linking as that always leaves a bitter aftertaste, beside there is this noticeable flicker when one object replaces another ... though ... I suppose I could create the 2nd object before slaying the first, so that they defy Newton and both occupy the same space at the same time, however briefly ... but I really would like to just toggle the single object between door and not-door states cleanly. Any other suggestions?
Last edited by LarryG; 15th Jul 2012 at 03:15. Reason: thought => though
You can do things that are difficulty based, but that's not what I'm trying for. This is more of a philosophical door: Q: When is a door not a door? A: When the door is ajar. (a jar). Never mind.
What I am trying to do is have a moving latch on the door which has to be rotated open before the door itself can be frobbed to open. 1st frob rotates the latch. 2nd frob opens the door. I may just attach a latch object to the door with the door frobinert until the TweqComplete is received from the latch. My thought was to 1st frob the door to rotate the latch, then frob the door to open / close. It may be better with the extra object.
Rather than adding/removing properties, put them all on the object and add a metaproperty that contains S > Scripts. Make use of the Don't Inherit flag to prevent the door scripts being inherited.
I think the required scripts will be TweqOnOff, TrigWorldFrob and NVMetaTrap. Use the design note to remove the metaprop when receiving the TweqComplete message. Give the door a CD link to itself.
Player frobs door, TurnOn sent to itself
Tweq finishes, turns off NVMetaTrap, removes metaprop.
Door behaves normally.
It might be necessary to have the NVMetaTrap system on its own (either its own metaprop or on the object directly), and have it remove your 'Tweq' metaprop. If the metaprop can be re-added, bear in mind that the TweqComplete message won't discriminate between the 'open' and 'closed' positions. You'll also need to get NVTweqMessages in on the act.
Last edited by R Soul; 15th Jul 2012 at 14:25.
I thought there was a reason not to have the Door properties on objects without the scripts, something about crashes . . . maybe I misremember.
Thanks, I may try your script metaprop idea, but I think I'll try the two object scenario first. That should look more natural and make more sense in-game.
I also think two objects would be fine. You should probably make the latch a bit bigger than necessary so that people see it. I think some people had trouble seeing it in a similar setup in Rose Cottage, but that was a normal bolt and it was quite small.
Another thing you need to consider is that the player could still 'kill' the door (e.g. with an explosive) and it would open. Although it's not stealthy there's no reason to remove that feature, just be aware of it. You can use the NonAutoDoor script to keep it closed if you want.
Thanks. This is a sliding type cargo door. The latch is the size of the handle on BigFloorLever so I don't think they will miss it.
And I'm not going to worry too much about anyone blowing the thing up. That's part of the game. I may make the latch come off entirely if it get's blown up, though, and maybe a dented up exploded version of the door to use as a corpse for it if I get ambitious.