The following is a list of the expressions that are used in the various Click programs.
Note: this list only includes expressions for the default system objects and the Expression Editor dialog; extensions' expressions are not listed here. Some of these expressions may only be available in newer builds of specified programs. Expression names are not case-sensitive. Expressions including a $ return strings, and those without generally return numbers (but there is an exception in this list [and within some other extensions] which returns a string: key( "Player" )). TGF1 may use "level" instead of "frame" in some cases.
| Random( int ) | Generates a random integer from 0 to (n - 1). Max n is 65535. |
|
| [Name of Global Value] | Returns the value of a given Global Value. |
|
| Global Value( index ) | Returns the value of a given Global Value referred to by index. |
|
| [Name of Global String] | Returns the text of a given Global String. |
|
| Global String( index ) | Returns the text of a given Global String referred to by index. |
|
| Appdrive$ | Returns the drive letter the application is found on. |
|
| Appdir$ | Returns the path where the application can be found, minus the drive letter. |
|
| Apppath$ | Shortcut for Appdrive$ + Appdir$. |
|
| AppTempPath$ | Returns the path of the temporary folder where the application is extracted during runtime. |
|
| Appname$ | Returns the name of the executable, minus ".exe" or ".ccn". |
|
| BinFileTempName$( path ) | Returns the name of the last extracted binary file. |
|
| Str$( number ) | Converts a number into a string. |
|
| FloatToString$( float, total_digits, digits_after_point ) | Converts a float into a string, with some formatting options. |
|
| Val( string ) | Converts a string to a number up until the first non-numeric character in the string (Ex: "12345a67" converts to 12345). However, if the string is a hex or binary string starting with '0x' or '0b', it will be converted to decimal. |
|
| Int( float ) | Converts a float into a true integer (anything after the decimal point is lost). Rounds toward 0. |
|
| Round( float ) | Rounds a float up if the decimal is >= .5, or down otherwise—the opposite if negative. The resulting number is still a float. |
|
| Hex$( integer ) | Converts an integer to a hex string in the form 0xNNNNNNNN. The resulting hex string past the '0x' may be up to 8 characters, but can be less. |
|
| Bin$( integer ) | Converts an integer to a binary string in the form 0bNNNNNNNN. The resulting binary string past the '0b' may be up to 32 characters, but can be less. |
|
| abs( number ) | Returns the absolute value of a number (removes the negative sign if present). |
|
| ceil( float ) | Forces a float to round to the nearest number larger than it. The result remains a float. (Ex: 3.2 -> 4.0; -3.2 -> -3.0). Rounds toward positive infinity. |
|
| floor( float ) | Forces a float to round to the nearest number smaller than it. The result remains a float. (Ex: 4.8 -> 4.0; -4.8 -> -5.0). Rounds toward negative infinity. |
|
| sqr( number ) | Returns the square root of a number. |
|
| log( number ) | Returns the base-10 log of a number. |
|
| ln( number ) | Returns the natural log (base-e) of a number. |
|
| exp( number ) | Returns e to the power of a number. |
|
| min( number1, number2 ) | Returns the smaller of the two numbers. |
|
| max( number1, number2 ) | Returns the larger of the two numbers. |
|
| sin( angle ) | Returns the sine of the angle (provided in degrees). |
|
| cos( angle ) | Returns the cosine of the angle (provided in degrees). |
|
| tan( angle ) | Returns the tangent of the angle (provided in degrees). |
|
| asin( angle ) | Returns the arcsine of the angle (provided in degrees). |
|
| acos( angle ) | Returns the arccosine of the angle (provided in degrees). |
|
| atan( angle ) | Returns the arctangent of the angle (provided in degrees). |
|
| atan2( y_delta, x_delta ) | Returns the angle between two points (returns in degrees). x_delta is (x2 - x1), (y2 - y1) for y_delta. |
|
| not( integer ) | Performs and returns a bitwise Not on an integer. (Ex: not(56) = -57) |
|
| left$( string, length ) | Returns the left portion of string with a given length. |
|
| right$( string, length ) | Returns the right portion of string with a given length. |
|
| mid$( string, start, length ) | Returns the middle portion of string starting at a 0-based position and with a given length. |
|
| len( string ) | Returns an integer representing the length of a string; the empty string "" is 0. |
|
| newline$ | Causes following text to display on another line. |
|
| lower$( string ) | Converts all characters in a string to lowercase. |
|
| upper$( string ) | Converts all characters in a string to UPPERCASE. |
|
| find( string, pattern, startnum ) | Returns an integer representing the 0-based location of the first character of the first occurrence of pattern in string, starting at location startnum. If pattern is not found, -1 is returned. |
|
| reversefind( string, pattern, startnum ) | Same as find(), but searches for pattern by starting at the end of string. |
|
| ndropped | Returns the number of files dropped into application window. |
|
| dropped$( integer ) | Returns the path of a dropped file, referenced by an integer. |
|
| commandline$( string ) | Returns the command line used to launch the application. |
|
| getcommanditem$( string ) | Returns the string from a provided command item switch. If the switch has no associated string, "Empty" is returned; if the switch is not found at all, "" is returned. |
|
| getrgb( red, green, blue ) | Converts an RGB value to MMF's color format integer. Same as: red + green * 256 + blue * 65536 |
|
| getred( string ) | Returns the red value from MMF's color format. |
|
| getgreen( string ) | Returns the green value from MMF's color format. |
|
| getblue( string ) | Returns the blue value from MMF's color format. |
|
| cliptext$ | Returns the text currently in the clipboard. |
|
| loopindex( loopname ) | Returns the current 0-based index of loopname. |
|
| samplemainvolume | Returns the value of the main volume setting. |
|
| samplevolume( sample ) | Returns the volume of the specified sample. |
|
| channelvolume( channel ) | Returns the volume of the specified channel (1 to 32). |
|
| samplemainpan | Returns the current value of the main panning (left/right balance) setting. |
|
| samplepan( sample ) | Returns the pan of the specified sample. |
|
| channelpan( channel ) | Returns the pan of the specified channel. |
|
| sampleposition( sample ) | Returns the time position of the specified sample in milliseconds. |
|
| channelposition( channel ) | Returns the time position of the specified sample in milliseconds. |
|
| sampleduration( sample ) | Returns the total time of the specified sample, in milliseconds. |
|
| channelduration( channel ) | Returns the total time of the specified channel, in milliseconds. |
|
| samplefreq( sample ) | Returns the sample rate in hertz of the specified sample, or 0 if there is no sample playing. |
|
| channelfreq( channel ) | Returns the sample rate in hertz of the specified channel, or 0 if the channel is not active. |
|
| frame | Returns the current frame number. |
|
| players | Returns the number of active players (using default movements). |
|
| frame width | Returns the width of the frame in pixels. |
|
| frame height | Returns the height of the frame in pixels. |
|
| virtualwidth | Returns the frame's virtual width. |
|
| virtualheight | Returns the frame's virtual height. |
|
| x left frame | Returns the leftmost visible X coordinate of the frame (based on the scrolling position). |
|
| x right frame | Returns the rightmost visible X coordinate of the frame. |
|
| y top frame | Returns the topmost visible Y coordinate of the frame. |
|
| y bottom frame | Returns the bottommost visible Y coordinate of the frame. |
|
| framebkdcolor | Returns the background color of the frame, in MMF's color format. |
|
| collisionmask( x, y ) | Checks a point at x, y (on layer 1) to see what type of background collision it is; Returns 0 for nothing, 1 for obstacle, and 2 for ladder. |
|
| framerate | Returns the current framerate (FPS). |
|
| hours | Returns the number of hours elapsed since the start of frame or the timer set to 0. |
|
| minutes | Returns the number of minutes elapsed since the start of frame or the timer set to 0. |
|
| seconds | Returns the number of seconds elapsed since the start of frame or the timer set to 0. |
|
| hundreds | Returns the number of hundreths of a second elapsed since start of frame or the timer set to 0. |
|
| timer | Returns the number of milliseconds elapsed since the start of frame or the timer set to 0. |
|
| total objects | Returns the count of all objects on the frame. |
|
| xmouse | Returns the X position of the mouse. |
|
| ymouse | Returns the Y position of the mouse. |
|
| wheeldelta | Returns the magnitude of the last mouse wheel movement; it should be a multiple of 120, but is device dependent. Positive if up, negative if down; must be reset manually. |
|
| score( "Player X" ) | Returns the score of player X (1 through 4). |
|
| lives( "Player X" ) | Returns the number of lives of player X. |
|
| playername$( "Player X" ) | Returns player X's name. |
|
| input( "Player X" ) | Returns player X's input device. |
|
| key( "Player X", keynum) | Returns a string representing the key assigned to keynum: 0 for up, 1 for down, 2 for left, 3 for right, 4 for fire1, 5 for fire2, 6 for fire3, and 7 for fire4. |
|
| + | Performs addition between two numbers, obviously. |
|
| - | Performs subtraction between two numbers, obviously. |
|
| * | Performs multiplication between two numbers, obviously. |
|
| / | Performs division between two numbers, obviously. NOTE: MMF does integer division unless either the denominator or numerator (or both) are floats, in which case it will do floating point division. TGF1 can't handle floats at all. Division by zero returns 0. |
|
| mod | Performs modulus division (returns the remainder of integer division) between two integers. |
|
| pow | Raises the left number to the power of the right number. |
|
| and | Performs bitwise And on two integers. (Ex: 15 and 24 = 8; 00001111 and 00011000 = 00001000) |
|
| or | Performs bitwise Or on two integers. (Ex: 15 or 24 = 31; 00001111 or 00011000 = 00011111) |
|
| xor | Performs bitwise Xor on two integers. (Ex: 15 xor 24 = 23; 00001111 xor 00011000 = 00010111) |
|