Difference between revisions of "Special Variables"

526 bytes added ,  17:04, 4 March 2011
imported>Jduvall
 
imported>JOG
Line 4: Line 4:


=='''Globals'''==
=='''Globals'''==
Some [[Globals|global]] variables are predefined and handled and/or updated by the game-engine itself.
{|border="1" cellpadding="5" cellspacing="0"  
{|border="1" cellpadding="5" cellspacing="0"  
|-
|-
Line 10: Line 13:
! style="background:#efefef;" | Description
! style="background:#efefef;" | Description
|-
|-
|''float''
|short
|GameYear
|The current year
|-
|short
|GameMonth
|The current month (0-11)
|-
|short*
|GameDay
|The current day of the month (0-31) depending on month
|-
|short*
|GameHour
|The current hour (0-23 hours)
|-
|short
|TimeScale
|Minutes that pass in-game within one minute of real-life
|-
|float
|GameDaysPassed
|GameDaysPassed
|Days that have passed since the beginning of the game
|Days that have passed since the beginning of the game
Line 17: Line 40:


===Notes===
===Notes===
*While GameHour and GameDay are defined as short, they return float values. For instance, at 2:30 AM, GameHour has the value 2.5.
* Remember that an hour is about 0.041667 (1/24) of a day. So using GameDaysPassed for anything other than day tracking may get awkward.
* Remember that an hour is about 0.041667 (1/24) of a day. So using GameDaysPassed for anything other than day tracking may get awkward.
* If all you want to know is if it is a new day (strictly meaning that the 12:00am boundary has been crossed), save the current GameDaysPassed into a SHORT variable (lastDay) and then when you want to do your comparison, create a SHORT (currentDay) and set it to the current GameDaysPassed. If (currentDay - lastDay) >= 1, then a day has passed. By storing GameDaysPassed in SHORT variables you trim off the factional hours that live in the decimal places. If you use floats instead of SHORTs you will essentially be checking if "24 hours has passed" rather than, "is it the next day."
* If all you want to know is if it is a new day (strictly meaning that the 12:00am boundary has been crossed), save the current GameDaysPassed into a SHORT variable (lastDay) and then when you want to do your comparison, create a SHORT (currentDay) and set it to the current GameDaysPassed. If (currentDay - lastDay) >= 1, then a day has passed. By storing GameDaysPassed in SHORT variables you trim off the factional hours that live in the decimal places. If you use floats instead of SHORTs you will essentially be checking if "24 hours has passed" rather than, "is it the next day."


Anonymous user