Home ] Up ] 

Visitor counter 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 underlined BOLD number is the floors used by the (5:512) command ,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 as I did below..

* // begin visitor counter
* // emit location
(0:9) When a furre arrives in the dream,
    (5:300) set variable %visitcarry to the value 0.
    (5:510) set variable %visitplace to the X,Y position of a random spot where the floor is type 175 within the rectangle (170, 18) - (190, 44),
    (5:381) set variable %visitcount to the object type at (%visitplace).
* // test for carry first, if nine, set carry
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcount is equal to 377,
    (5:300) set variable %visitcarry to the value 1.
* // bump
(0:9) When a furre arrives in the dream,
    (5:302) take variable %visitcount and add 1 to it.
* // test if was zero and now is 'one'
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcount is equal to 379,
    (5:300) set variable %visitcount to the value 369.
* // put down new digit, bump location SW
(0:9) When a furre arrives in the dream,
    (5:41) place object type %visitcount at (%visitplace).
    (5:355) move the position in variable %visitplace northwest (up and left) 1 step(s).
    (5:300) set variable %visitfloat to the value 0.
    (5:300) set variable %visitcount to the value 0.

* // now test carry and see if we continue to visit tens
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcarry is equal to 1,
    (5:300) set variable %visitcarry to the value 0.
    (5:300) set variable %visitfloat to the value 1.
    (5:381) set variable %visitcount to the object type at (%visitplace).
* // test for carry first, if nine, set carry
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcount is equal to 377,
 (1:200) and variable %visitfloat is equal to 1,
    (5:300) set variable %visitcarry to the value 1.
* // bump
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitfloat is equal to 1,
    (5:302) take variable %visitcount and add 1 to it.
* // test if zero and now is 'one'
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcount is equal to 379,
 (1:200) and variable %visitfloat is equal to 1,
    (5:300) set variable %visitcount to the value 369.
* // put down new digit, bump location SW
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitfloat is equal to 1,
    (5:41) place object type %visitcount at (%visitplace).
    (5:355) move the position in variable %visitplace northwest (up and left) 1 step(s).
    (5:300) set variable %visitfloat to the value 0.
    (5:300) set variable %visitcount to the value 0.

* // now test carry and see if we continue to visit hundreds
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcarry is equal to 1,
    (5:300) set variable %visitcarry to the value 0.
    (5:300) set variable %visitfloat to the value 1.
    (5:381) set variable %visitcount to the object type at (%visitplace).
* // test for carry first, if nine, set carry
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcount is equal to 377,
 (1:200) and variable %visitfloat is equal to 1,
    (5:300) set variable %visitcarry to the value 1.
* // bump
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitfloat is equal to 1,
    (5:302) take variable %visitcount and add 1 to it.
* // test if zero and now is 'one'
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcount is equal to 379,
 (1:200) and variable %visitfloat is equal to 1,
    (5:300) set variable %visitcount to the value 369.
* // put down new digit, bump location SW
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitfloat is equal to 1,
    (5:41) place object type %visitcount at (%visitplace).
    (5:355) move the position in variable %visitplace northwest (up and left) 1 step(s).
    (5:300) set variable %visitfloat to the value 0.
    (5:300) set variable %visitcount to the value 0.

* // now test carry and see if we continue to visit thousands
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcarry is equal to 1,
    (5:300) set variable %visitcarry to the value 0.
    (5:300) set variable %visitfloat to the value 1.
    (5:381) set variable %visitcount to the object type at (%visitplace).
* // test for carry first, if nine, set carry
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcount is equal to 377,
 (1:200) and variable %visitfloat is equal to 1,
    (5:300) set variable %visitcarry to the value 1.
* // bump
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitfloat is equal to 1,
    (5:302) take variable %visitcount and add 1 to it.
* // test if zero and now is 'one'
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcount is equal to 379,
 (1:200) and variable %visitfloat is equal to 1,
    (5:300) set variable %visitcount to the value 369.
* // put down new digit, bump location SW
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitfloat is equal to 1,
    (5:41) place object type %visitcount at (%visitplace).
    (5:355) move the position in variable %visitplace northwest (up and left) 1 step(s).
    (5:300) set variable %visitfloat to the value 0.
    (5:300) set variable %visitcount to the value 0.

* // now test carry and see if we continue to visit ten k
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcarry is equal to 1,
    (5:300) set variable %visitcarry to the value 0.
    (5:300) set variable %visitfloat to the value 1.
    (5:381) set variable %visitcount to the object type at (%visitplace).
* // test for carry first, if nine, set carry
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcount is equal to 377,
 (1:200) and variable %visitfloat is equal to 1,
    (5:300) set variable %visitcarry to the value 1.
* // bump
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitfloat is equal to 1,
    (5:302) take variable %visitcount and add 1 to it.
* // test if zero and now is 'one'
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitcount is equal to 379,
 (1:200) and variable %visitfloat is equal to 1,
    (5:300) set variable %visitcount to the value 369.
* // put down new digit, bump location SW
(0:9) When a furre arrives in the dream,
 (1:200) and variable %visitfloat is equal to 1,
    (5:41) place object type %visitcount at (%visitplace).
    (5:355) move the position in variable %visitplace northwest (up and left) 1 step(s).
    (5:300) set variable %visitfloat to the value 0.
    (5:300) set variable %visitcount to the value 0.