Home ] Up ] 

Basic uptime system which does not really require hard positions or much in the way of knowledge of how variables work.

Complete system uses specific floors to locate the position where the counters are. The two underlined BOLD numbers are the floors used by the (5:512) commands,if you need to narrow it down because you use this floor elsewhere in the dream,then use the (5:510) to restrict it to a specific rectangle.

* // begin uptime counter
* // do minute single first
(0:100) When 60 seconds have passed,offset by 0,
    (5:300) set variable %upcarry to the value 0.
    (5:512) set variable %uptime to the X,Y position of a random spot where the floor is type 173 somewhere in the dream,
    (5:381) set variable %upcount to the object type at (%uptime).
* // test for carry first,if nine,set carry
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcount is equal to 377,
    (5:300) set variable %upcarry to the value 1.
* // bump
(0:100) When 60 seconds have passed,offset by 0,
    (5:302) take variable %upcount and add 1 to it.
* // test if was zero and now is 'one'
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcount is equal to 379,
    (5:300) set variable %upcount to the value 369.
* // put down new digit,bump location SW
(0:100) When 60 seconds have passed,offset by 0,
    (5:41) place object type %upcount at (%uptime).
    (5:354) move the position in variable %uptime southwest (down and left) 1 step(s).
    (5:300) set variable %upfloat to the value 0.
    (5:300) set variable %upcount to the value 0.

* // now test carry and see if we continue to minute tens
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcarry is equal to 1,
    (5:300) set variable %upcarry to the value 0.
    (5:300) set variable %upfloat to the value 1.
    (5:381) set variable %upcount to the object type at (%uptime).
* // test for carry first,if five,set carry
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcount is equal to 373,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcarry to the value 1.
* // bump
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:302) take variable %upcount and add 1 to it.
* // test if zero and now is 'one'
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcount is equal to 379,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcount to the value 369.
* // test if six and now is 'zero'
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcount is equal to 374,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcount to the value 378.
* // put down new digit,bump location SW
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:41) place object type %upcount at (%uptime).
    (5:354) move the position in variable %uptime southwest (down and left) 2 step(s).
    (5:300) set variable %upfloat to the value 0.
    (5:300) set variable %upcount to the value 0.

* // now do hours,need extra carry for finding twenty four hours
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcarry is equal to 1,
    (5:300) set variable %upcarry to the value 0.
    (5:300) set variable %upfloat to the value 1.
    (5:381) set variable %upcount to the object type at (%uptime).
* // test for carry first,if nine,set carry
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcount is equal to 377,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcarry to the value 1.
* // bump
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:302) take variable %upcount and add 1 to it.
* // test if was zero and now is 'one'
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcount is equal to 379,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcount to the value 369.
* // put down new digit,bump location SW
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:41) place object type %upcount at (%uptime).
    (5:354) move the position in variable %uptime southwest (down and left) 1 step(s).
    (5:300) set variable %upfloat to the value 0.
    (5:301) copy the value of variable %upcount into variable %updays.
   
(5:381) set variable %upcount to the object type at (%uptime).

* // do hour tens,need extra check system so that we find twenty four
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcarry is equal to 1,
    (5:300) set variable %upcarry to the value 0.
    (5:300) set variable %upfloat to the value 1.
    (5:381) set variable %upcount to the object type at (%uptime).
* // test for carry first,if nine,set carry
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcount is equal to 377,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcarry to the value 1.
* // bump
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:302) take variable %upcount and add 1 to it.
* // test if was zero and now is 'one'
(0:100) When 60 seconds have passed,offset by 0,
 (1:200) and variable %upcount is equal to 379,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcount to the value 369.
* // put down new digit,bump location SW
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:41) place object type %upcount at (%uptime).
    (5:354) move the position in variable %uptime southwest (down and left) 1 step(s).
    (5:300) set variable %upfloat to the value 0.

* // okies, we now see if upcount is two and updays is four
* // if yes, put zero zero at the hours, then find the day counter
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upcount is equal to 370,
 (1:200) and variable %updays is equal to 372,
    (5:41) place object type 378 at (%uptime).
    (5:352) move the position in variable %uptime northeast (up and right) 1 step(s).
    (5:41) place object type 378 at (%uptime).
    (5:300) set variable %upcarry to the value 0.
    (5:300) set variable %upfloat to the value 1.
    (5:512) set variable %uptime to the X,Y position of a random spot where the floor is type 174 somewhere in the dream,
    (5:381) set variable %upcount to the object type at (%uptime).

* // do day single first
* // test for carry first, if nine, set carry
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upcount is equal to 377,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcarry to the value 1.
* // bump
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:302) take variable %upcount and add 1 to it.
* // test if was zero and now is 'one'
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upcount is equal to 379,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcount to the value 369.
* // put down new digit, bump location SW
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:41) place object type %upcount at (%uptime).
    (5:354) move the position in variable %uptime southwest (down and left) 1 step(s).
    (5:300) set variable %upfloat to the value 0.
    (5:300) set variable %upcount to the value 0.

* // do day tens, if carry over into hundreds, just bump the darn letter
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upcarry is equal to 1,
    (5:300) set variable %upcarry to the value 0.
    (5:300) set variable %upfloat to the value 1.
    (5:381) set variable %upcount to the object type at (%uptime).
* // test for carry first, if nine, set carry
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upcount is equal to 377,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcarry to the value 1.
* // bump
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:302) take variable %upcount and add 1 to it.
* // test if was zero and now is 'one'
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upcount is equal to 379,
 (1:200) and variable %upfloat is equal to 1,
    (5:300) set variable %upcount to the value 369.
* // put down new digit, bump location SW
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:41) place object type %upcount at (%uptime).
    (5:354) move the position in variable %uptime southwest (down and left) 1 step(s).
    (5:300) set variable %upfloat to the value 0.

* // do day hundreds, oh my gosh, better than a hundred days? wow!
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upcarry is equal to 1,
    (5:300) set variable %upcarry to the value 0.
    (5:300) set variable %upfloat to the value 1.
    (5:381) set variable %upcount to the object type at (%uptime).
* // bump
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:302) take variable %upcount and add 1 to it.
* // put down new digit, bump location SW
(0:100) When 60 seconds have passed, offset by 0,
 (1:200) and variable %upfloat is equal to 1,
    (5:41) place object type %upcount at (%uptime).
    (5:300) set variable %upfloat to the value 0.

(0:100) When 10 seconds have passed, offset by 5,
    (5:41) place object type 0 at (%upcolon).

(0:100) When 10 seconds have passed, offset by 6,
    (5:41) place object type 379 at (%upcolon).