2011-02-14, 05:25 PM
Alright for simplicity sake, lets round your movement timing to the nearest second (8 secs) because tracking timers by partial numbers is probably not going to work.
So here is what you will need to do.
#1 Create an event, that is always on, lets call it mill timer.
It should have one leaf, and in that leaf you take an unused timer (you get 3 total across all maps so use them wisely) and we are going to use its measurement to track our object movement.
The event will be "SET TIMER VALUE IN COUNTER" and should be set to measure say TIMER0 with counter name "WINDMILL TIMER".
Ok that event is done. Lets move on to the second.
#2 Create an event that uses the measured time to cycle the movement of your object.
This event should also always be on...and will consist of 3 leafs (in your case if a game altering event allows this wheel to turn, simply set it to always on but require a specific counter value to be present that occurs after you cause the wheel to turn in the first place).
In the first leaf we should have NONE for the starting condition and it should do 3 operations:
BEGIN TIMER (timer0)
MOVE OBJECT (place it at 179 degrees taking 80 tenths of a second)
CONTROL ACTIVE LEAF (move forward one in this event)
The second leaf should should require the counter youre measuring (windmill timer) = 8. This means after 8 seconds of the timer running this leaf will automatically fire. It will only contain 2 leafs which are as follows:
MOVE OBJECT (place your object back to 0 degress taking again 80 tenths of a second)
CONTROL ACTIVE LEAF (move forward one in this event)
The third leaf is simply a reset and activates when the timer counter value > 16 (16 seconds).
CONTROL ACTIVE LEAF (move this event back to leaf 0)
Thats basically it for the movement and the timer, however SOM as always has its little bugs to be aware of.
Once a timer starts, if you move out of the range of the object that controls the active leafs of the event, the timer will go on forever, this easily happens if you change maps or use other events that control the timer. To remedy this I recommend setting objects somewhere nearby your windmill but possibly just out of sight of it that will replicate the last leaf event of the event we created above, meaning they will reset the windmill object event to leaf 0 when they are approached. That means that if your windmill is 30 yards away or so and you pass this rock thats nearby within a radius of say 10 yards you will reset the windmill to 0 incase it gets stuck.
If you have any problems let me know and ill rig you up a sample project.
So here is what you will need to do.
#1 Create an event, that is always on, lets call it mill timer.
It should have one leaf, and in that leaf you take an unused timer (you get 3 total across all maps so use them wisely) and we are going to use its measurement to track our object movement.
The event will be "SET TIMER VALUE IN COUNTER" and should be set to measure say TIMER0 with counter name "WINDMILL TIMER".
Ok that event is done. Lets move on to the second.
#2 Create an event that uses the measured time to cycle the movement of your object.
This event should also always be on...and will consist of 3 leafs (in your case if a game altering event allows this wheel to turn, simply set it to always on but require a specific counter value to be present that occurs after you cause the wheel to turn in the first place).
In the first leaf we should have NONE for the starting condition and it should do 3 operations:
BEGIN TIMER (timer0)
MOVE OBJECT (place it at 179 degrees taking 80 tenths of a second)
CONTROL ACTIVE LEAF (move forward one in this event)
The second leaf should should require the counter youre measuring (windmill timer) = 8. This means after 8 seconds of the timer running this leaf will automatically fire. It will only contain 2 leafs which are as follows:
MOVE OBJECT (place your object back to 0 degress taking again 80 tenths of a second)
CONTROL ACTIVE LEAF (move forward one in this event)
The third leaf is simply a reset and activates when the timer counter value > 16 (16 seconds).
CONTROL ACTIVE LEAF (move this event back to leaf 0)
Thats basically it for the movement and the timer, however SOM as always has its little bugs to be aware of.
Once a timer starts, if you move out of the range of the object that controls the active leafs of the event, the timer will go on forever, this easily happens if you change maps or use other events that control the timer. To remedy this I recommend setting objects somewhere nearby your windmill but possibly just out of sight of it that will replicate the last leaf event of the event we created above, meaning they will reset the windmill object event to leaf 0 when they are approached. That means that if your windmill is 30 yards away or so and you pass this rock thats nearby within a radius of say 10 yards you will reset the windmill to 0 incase it gets stuck.
If you have any problems let me know and ill rig you up a sample project.
- Todd DuFore (DMPDesign)
Site Founder
Site Founder