![]() |
Timer/animation control?
Hi guys,
I need to figure out how to add a timer for a python script. Many of the scripts refer to TimerID_SomeTimeName with a decimal identifier. It looks like timers (which seem to trigger animation callbacks) might be set up via one of the tools, eg Goblin Editor or something but I can't find it. Can somebody help point the way please? |
I guess that its not people ignoring the question . Probably no one knows the answer .
|
Thanks Sober.
Ok, so I think the question might be answered a different way; how do people animate items in the menus? eg, stuff moving up/down? That might help me if somebody knows how menu item animation is put together. |
Have you used the menu editor ?. I'm not saying I know how to move menu items up/down though .
|
I have been into the menu editor but not being too familiar with it its difficult to know if I'm looking in the right places. I can't find anything in there that describes animation. But for example some of the buttons in the game are animated like the dive ones. It's driving me mad not finding what I'm looking for!!!
|
When I was learning scripting for SH5 I came across two timer implementations, but have never used them.
There's a high precision timer provided by TDW called TDWHPT with methods like Start(), Stop(), Reset() etc. There's no documentation, you'll have to learn how it works from the scripts. Take a look at Page layout.py or Page Default Hud.py (TWOS mod.) This one is used all over the scripts. Code:
clr.AddReference( "TDWHPT" ) There seems to be a "default" timer as well that uses StartAnimation(), StopAnimationsWithID() and TimerIDs, but I'm not sure how this one works. |
Hi SkyBaron,
Thanks for the pointer; TDWHPT seems to be the timer library (the dll) created by TDW. Then we have all the different instances of timers (which are the TimerID_something) located around the python scripts; the scripts calling the TDWHPT API calls of etc StartAnimation(), StopAnimationsWithID() etc, to make them functional. So... I need to figure out how to create a new instance of TimerID, and this is the problem. I've searched high and low across the forum and trying to figure out how to create a timer. So far, no progress. After Enigma, if you fancy a challenge, I'm sure it will benefit everybody in the long run if we can work it out (before i lose my marbles). |
Progress!
I focused on the subtitles timer, since it's a very simple script, and went hunting. See screenshot, animation array 0 id: https://s28.postimg.org/cgx8n2b19/timer1.jpg .... maps to the TimerID within the Python script: TimerID_Update = 90797097 That's enough for tonight but it's only a matter of time now. |
Spoke too soon; that's just showing me the currently loaded/running timer active on the subtitles page. Disappointing...
|
Ok I'm starting to think these timer id's are just arbitrary unique numbers, possibly created via a hash generator. Reason for that thought is I changed the existing timer id's directly in the Subtitles python file and the animation detail in the script editor showed the new id. Script didn't barf like mine did, so maybe I've been barking up the wrong tree and maybe just need to figure out what I did wrong in the script.
This thread reads like diary of a noob. |
SO after many hours I have it working now, a script using the TimerID. I had been led down the wrong path by trying to start the animation from the initialisation function. After defining the TimerID value, wait until StartGame before trying to start the animation, otherwise the animation system doesn't recognise the id and throws an error.
Now I know this info I will probably write a tutorial about it all if anyone's interested in how to use timers in their scripts. |
All times are GMT -5. The time now is 11:03 AM. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 1995- 2025 Subsim®
"Subsim" is a registered trademark, all rights reserved.