OK, we've got a CE's change page which has delay of change 120 secs, and then it exits the player.Now, there is a second page which has 80 seconds delay and then it shows envelope 1.Well, the problem is, that the change page 2 (show envelope) doesn't happen.I tried again with un-ticking the first page's delay and it worked!
Why does that happen?
(Note: the change pages are on the same CE)
CE Bug with multiple change delays
Moderators: Flumminator, Zomis
CE Bug with multiple change delays
I love RnD and I'd prefer it from much "nice" games.
Level Currently Contributing: The City
@Holger: I will tell friends to play RnD
Level Currently Contributing: The City
@Holger: I will tell friends to play RnD

This is not really a bug, but a known (well, OK, it's not documented anywhere) limitation of CE change pages: There can be only one active change page with a delay condition, because there's only one delay counter implemented per tile that counts down from the first delay value to zero, so subsequent delay conditions are ignored for now.
Any yes, this should probably be fixed/corrected/extended (by a counter solution that behaves a bit more clever)... :-/
Any yes, this should probably be fixed/corrected/extended (by a counter solution that behaves a bit more clever)... :-/
How about this:Holger wrote:This is not really a bug, but a known (well, OK, it's not documented anywhere) limitation of CE change pages: There can be only one active change page with a delay condition, because there's only one delay counter implemented per tile that counts down from the first delay value to zero, so subsequent delay conditions are ignored for now.
Any yes, this should probably be fixed/corrected/extended (by a counter solution that behaves a bit more clever)... :-/
Only one counter per CE, but it counts UP from 0 instead of DOWN
And then every frame, it checks
if (counter % changedelay[changepage] == 0)
to check whether the change page should be triggered.
It could also be possible to use:
Code: Select all
function delaysmulted() {
j = 1;
for (var i=0; i<=changepages; i++)
j *= changepage[i].delay;
return j;
}
if (counter == delaysmulted) counter = 0;
Well, just my two cents.