Jump to content


Photo

Clock in the in-game GUI - possible ? YES!

gui script

8 replies to this topic

#1 motorsep

motorsep

    Advanced Member

  • Member
  • PipPipPip
  • 884 posts

Posted 30 December 2014 - 12:42 AM

Is it possible to have a digital clock in a GUI on a map ?

 

Basically looking for 24hrs format hrs:min clock in a windowDef. I recall there gotta be a built-in script function for time, but I don't know how to pass the data from script to GUI (preferably updating GUI either every second or every minute, only when in player's view)

 

Done! (see the last post)

 

Thanks!


Edited by motorsep, 04 January 2015 - 08:29 PM.


#2 Tels

Tels

    Mod hero

  • Member
  • PipPipPipPipPip
  • 15024 posts

Posted 30 December 2014 - 08:04 AM

You need to:

 

* create a GUI file that has a string for display

* use a script with setGuiString() to update it with a loop around a sys.wait(1.0)

 

Updating it only when the player is in view is a bit more tricky, but it might not be nec.

 

The TDM message script contains an example for an onscreen message but I think attaching the GUI to an entity should be no problem, either. (I guess that this is what you want to do as you said "player view". An onscreen message would always be in view for the player.)


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

"Remember: If the game lets you do it, it's not cheating." -- Xarax

#3 Tels

Tels

    Mod hero

  • Member
  • PipPipPipPipPip
  • 15024 posts

Posted 30 December 2014 - 08:05 AM

Forgot: Converting the game time to "hh:mm" is a bit tricky, too. Do you need the real time, or the "time since start of mission"?


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

"Remember: If the game lets you do it, it's not cheating." -- Xarax

#4 motorsep

motorsep

    Advanced Member

  • Member
  • PipPipPip
  • 884 posts

Posted 30 December 2014 - 08:15 AM

Forgot: Converting the game time to "hh:mm" is a bit tricky, too. Do you need the real time, or the "time since start of mission"?

Well, the idea is to tie time to day/night cycles, so the time on the clock would be fictional anyway. I just figured tying it to the clock would be the easiest, if a function to get time is available already.

I am open to suggestions :-)

Edited by motorsep, 30 December 2014 - 08:16 AM.


#5 motorsep

motorsep

    Advanced Member

  • Member
  • PipPipPip
  • 884 posts

Posted 30 December 2014 - 08:20 AM

You need to:
 
* create a GUI file that has a string for display
* use a script with setGuiString() to update it with a loop around a sys.wait(1.0)
 
Updating it only when the player is in view is a bit more tricky, but it might not be nec.
 
The TDM message script contains an example for an onscreen message but I think attaching the GUI to an entity should be no problem, either. (I guess that this is what you want to do as you said "player view". An onscreen message would always be in view for the player.)


Thanks a bunch! I guess I could just run the loop without worrying whether GUI in the view or not.

Would the string gets updated on all guis at once or does each GUI have to have unique string/loop?

#6 motorsep

motorsep

    Advanced Member

  • Member
  • PipPipPip
  • 884 posts

Posted 30 December 2014 - 02:05 PM

By the way, is changing guiParms on the GUI entity the only way to pass data from script to GUI ?



#7 motorsep

motorsep

    Advanced Member

  • Member
  • PipPipPip
  • 884 posts

Posted 04 January 2015 - 08:27 PM

Well, I got it done! :)

 

https://www.youtube....h?v=UHQkkk2uhPI

 

(never mind clock updating with the speed of light - it's for testing)



#8 Tels

Tels

    Mod hero

  • Member
  • PipPipPipPipPip
  • 15024 posts

Posted 05 January 2015 - 09:06 AM

Cool - sorry for the late reply, holidays and stuff :)


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

"Remember: If the game lets you do it, it's not cheating." -- Xarax

#9 motorsep

motorsep

    Advanced Member

  • Member
  • PipPipPip
  • 884 posts

Posted 05 January 2015 - 09:16 AM

Not a problem! :)





Reply to this topic



  



Also tagged with one or more of these keywords: gui, script

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users