Page 1 of 1

CE touching moving conveyor belt doesn't work

Posted: Wed Dec 20, 2006 12:05 am
by Jannik
If you set a CE to change when touching , it won't change when the conveyor belt is moving.

Posted: Wed Dec 20, 2006 1:42 am
by Daniel H.
That is because the "moving conveyor belt" element is not the same element as the stopped conveyor belt element. The moving conveyor belt element is not available in the level editor.

The same is true of other elements.
i.e. CE touching invisible wall won't change when the lights are on, because the invisible wall is another element that is not available in the level editor, "invisible wall active."

I'm not sure whether or not this should be considered a "bug." It seems to me as if there should be something done about it, but I don't know what. :?: :?

Posted: Wed Dec 20, 2006 9:29 am
by Zomis
As I see it, there's three possibilities here:
1. Include those runtime elements in the level editor
2. Do some coding to make the CEs change on those runtime elements as well when it's set to change on the non-runtime elements.
3. Ignore the problem.

I think I vote for number 2.

Posted: Wed Dec 20, 2006 5:31 pm
by Daniel H.
Yes, I like number 2 the best, too. :)
Number 1 could confuse people.

Posted: Wed Dec 20, 2006 7:48 pm
by Francesco
I vote for option 2, seems the best solution.

Posted: Fri Jun 12, 2009 5:22 pm
by Daniel H.
It seems as though number 3 has been the chosen option :wink: (not intentionally, of course)

There is also a related conveyor belt bug: When a CE creates a conveyor belt, the conveyor belt will be stopped regardless of the conveyor belt switch position. There was a similar problem in 3.1.x with invisible walls being created while the light switch is on.

It seems like to fix every possible bug that follows this pattern and the pattern of this topic (condition [such as "touching"] with elements that are in "active" mode) would require several hard-coded workarounds...

To solve the original problem of this topic, this is just an idea:
Maybe R'n'D could have some built-in group elements: "all red conveyor belts (moving or not)", "all invisible steel walls ('active' [visible] or not)"
. . . but again, this would be another thing to confuse people.

Maybe these "built-in group elements" would be automatically used for change conditions-- for example, "touching red conveyor belt" would mean "touching red conveyor belt, moving or not" internally . . .

Which would be the same as option #2 . . .

(I hope this post helps somehow and isn't just a hard-to-understand post without meaning.)