LarryG on 1/8/2009 at 03:55
The only way I can think of to start and stop a Conveyor Belt is by changing the speed of both the belt and the belt top, probably via a metaprop or A/R, to / from 0. The ConveyorBelt script does not seem to be responsive to TurnOn / TurnOff. Or is there some easier means to accomplish this?
R Soul on 1/8/2009 at 17:37
If it could be controlled we have to assume Telliamed would mention it in the script descriptions. Try using S&Rs. Failing that, use teleports to swap them with stationary ones. That may sound a bit 2002 but sometimes it's all we have.
Yandros on 1/8/2009 at 18:03
It should be a simple matter to set the property Physics > Model > Conveyor velocity to 0 in a metaproperty. Add the metaprop to stop the conveyor, remove it to restart. If the metaprop doesnt' work, use a Set property receptron.
R Soul on 1/8/2009 at 18:12
The reason for my note of caution was that sometimes changing properties doesn't work. E.g. does the conveyor object constantly check the speed value, or just when the object is created?
Yandros on 1/8/2009 at 18:15
Right, I almost added a "I'm not sure changing this property dynamically will work" disclaimer. I guess we'll find out when Larry tries it.
Sliptip on 1/8/2009 at 18:49
Well I'll be. It works!
Just one problem though. Items that are on the conveyor belt are not affected by the change. :(
If you stop the conveyor belt, the items keep moving. If you put something on the conveyor belt while it's stopped, it won't start with the conveyor belt.
FYI: The method I used was an NVMetaTrap on both the conveyor and the belt bitmap thingy. Design Note: "NVMetaTrapMeta="M-ConveyorStop"". The M-ConveyorStop just had Physics->model->ConveyorVelocity= 0,0,0
R Soul on 1/8/2009 at 19:17
Did you change the speed of the conveyor texture object and the physical object below it?
Also, that metaproperty will only work when the conveyor is inheriting the speed from the archetype. If the speed is set on the specific instance of the object, the property will take priority over the metaproperty.
Sliptip on 1/8/2009 at 19:21
Yep. They both stop and start - it's just that the objects that are already on it aren't affected.
R Soul on 1/8/2009 at 19:26
It's probably because their speed is only changed when they make or break contact with the conveyor. Perhaps the metaprop could contain a source which sends a stim over a radius, just once. All objects (you'd probably have to use the Physical archetype) can have a receptron for this stim which teleports them by something like 0.1 units in the Z direction. After the teleport they should fall down again and make contact with the conveyor. Hopefully the player won't notice.
Sliptip on 1/8/2009 at 19:55
It kind of works! You just need to make another metaprop that gets added to the conveyor when it's shut off other wise it'll work when you turn it on but not when you turn it off.
This is kind of a neat way to make objects move actually. I had the radius set pretty wide so the lever, windows, plants etc. all gradually moved upwards as I tested things. You'd have to go through your gamsys and set a bunch of "aborts" to make this work. But if you ever needed something to move/rotate this would be a neat method (looks kind of like stop motion animation).
The other thing though is that while it worked on me the player it doesn't work for things like crates because they need a bit of a nudge to get going - I seem to recall there might be a script for that or am I crazy?