(For the characters, CHARID is the script ID name as set in the Room Editor). Names in bold are read-only variables and should NOT be modified by the script.
All the following variables are int variables, except for character[].name, which is a string.
| character[CHARID].x | X co-ordinate of the character (see Note1 below) |
| character[CHARID].y | Y co-ordinate of the character |
| character[CHARID].z | Z co-ordinate of the character (normally 0 for ground-level) |
| character[CHARID].name | The character's full name |
| character[CHARID].prevroom | The room it was in before this one |
| character[CHARID].room | Which room the character is in |
| character[CHARID].activeinv | The currently selected inventory item (or -1) |
| character[CHARID].inv[x] | Whether the character is carrying inventory X |
| character[CHARID].walking | Whether the character is currently moving |
| character[CHARID].animating | Non-zero while an AnimateCharacter animation runs |
| character[CHARID].walkspeed | Current movement speed (use SetCharacterSpeed to change) |
| character[CHARID].animspeed | The character's animation speed |
| character[CHARID].talkview | The character's talking view number minus 1 |
| character[CHARID].idleview | The character's idle view number minus 1 (use SetCharacterIdle to change) |
| character[CHARID].view | Current view of the character graphic (minus 1) |
| character[CHARID].loop | Current loop of the character graphic |
| character[CHARID].frame | Current frame of the character's graphic |
| game.abort_key | The keycode for Abort Game, which allows the you to quit even if your script is stuck. Default 324 (Alt+X). |
| game.ambient_sounds_persist | If 0 (default), ambient sounds are stopped on room change. Set to 1 to tell AGS to leave ambient sounds playing when going to a new room. |
| game.anim_background_speed | The current room's animating background speed - same values as in editor. |
| game.auto_use_walkto_points | Default 1; set to 0 to stop AGS automatically using hotspot walk-to points. |
| game.bgspeech_game_speed | If 0 (default), background speech stays on the screen for the same amount of time, no matter what the game speed. If 1, the amount of time it stays is relative to the game speed. |
| game.bgspeech_stay_on_display | If 0 (default), background speech is removed when a DisplaySpeech happens; if 1, it isn't. |
| game.close_mouth_end_speech_time | At the end of speech text, the speech animation will stop for this number of game loops. Default 10. No affect in voice mode. |
| game.debug_mode | Whether we are in debug mode or not. |
| game.dialog_options_x | Offset into dialog options GUI to compensate for borders |
| game.dialog_options_y | Offset into dialog options GUI to compensate for borders |
| game.disable_antialiasing | Set to 1 to disable anti-aliasing of scaled characters, overriding the user's choice in Setup. Default 0. |
| game.following_room_timer | How long to wait before following char emerges in new room, default 150. (higher is longer). |
| game.inv_activated | Inventory item that the player last clicked on. Useful for unhandled_event. |
| game.inventory_greys_out | Set to 1 to make inventory controls grey out when GUI disabled is set to "GUIs Grey Out" |
| game.items_per_line | Number of inventory items displayed per line (useful for working out how much to scroll the window down) |
| game.lipsync_speed | Similar to game.text_speed, but this determines how quickly the text is 'read' out by the mouth moving. You should normally only set this faster than text_speed, otherwise the reading will get cut off when the text times out. Default 15. |
| game.max_dialogoption_width | Maximum width of textwindow-based dialog options box. Default 180. |
| game.min_dialogoption_width | Minimum width of textwindow-based dialog options box. Default 0. |
| game.narrator_speech | Which character ID to use for voice speech within Display() command. Default initial player character. You can also use -1 which uses 'NARR' prefix - special narrator character. |
| game.no_textbg_when_voice | Normally 0. If 1, and the Sierra-style With Background speech style is in use, will change to the Sierra-style (No Bg) if a voice speech line is present. |
| game.num_inv_displayed | Number of inventory items which can be seen in the inventory window. |
| game.num_inv_items | Number of different inventory items which the current player is carrying. |
| game.roomscript_finished | The on_call function has completed executing. (See CallRoomScript) |
| game.room_height | Height, in 320x200 co-ordinate system, of current room. |
| game.room_width | Width, in 320x200 co-ordinate system, of current room. |
| game.score | The player's score. To modify the score, use the GiveScore text script function. |
| game.score_sound | Sound effect to play when the player gets points, originally set in the editor. |
| game.screenshot_height | The height of screenshot images when saved into save games. The largest you can have is the full screen size (320x200), which gives the highest quality but the largest size save game files. The default is 160x100. |
| game.screenshot_width | The width of screenshot images when saved into save games. |
| game.sierra_inv_color | The background color of the sierra-style inventory. |
| game.skip_display | Setting for how Display() messages are skipped; valid values are same as for SetSkipSpeech (default 3). |
| game.skip_speech_specific_key | Default 0. You can set it to a keycode, in which case only that key can skip speech text. |
| game.skipping_cutscene | Set to 1 if a cutscene is currently being skipped over rather than played normally. |
| game.speech_bubble_width | Maximum width of the thought bubble text window (default 100) |
| game.speech_music_drop | How much to drop music volume when speech is played (default 60). |
| game.speech_text_align | Sets how text in Lucasarts-style speech is aligned. Same possible values as game.text_align, default ALIGN_CENTRE |
| game.speech_text_gui | The textwindow GUI number used for sierra-style speech. |
| game.talkanim_speed | The animation speed for talking views (default 5). |
| game.text_align | Sets how text in message boxes and Sierra-style speech is aligned: ALIGN_LEFT: text aligned to left within message box (default) ALIGN_CENTRE: text is centred within the message box ALIGN_RIGHT: text is right-aligned within the message box These options do not affect Lucasarts-style speech, which is always centred. |
| game.text_shadow_color | Color used for speech text shadow (default 16). |
| game.text_speed | How long speech text stays on the screen. Default 15, higher number means shorter time. |
| game.top_bar_XXXX | Customizations for DisplayTopBar, see link for details |
| game.top_inv_item | Index of the first inventory item in the window |
| game.total_score | Maximum possible score, initially set in the editor. |
| game.used_mode | Cursor mode used with last click (use with "any click" events to find out which mode was used) |
| gs_globals[50] | Now obsolete, but it's a global array of 50 ints that can be accessed from global + local scripts, so you might find it useful |
| mouse.x | Mouse X co-ordinate when the script was started (0-319) |
| mouse.y | Mouse Y co-ordinate when the script was started (0-199) |
| palette[SLOT].r | The red component (0-63) of palette slot SLOT |
| palette[SLOT].g | The green component (0-63) of palette slot SLOT |
| palette[SLOT].b | The blue component (0-63) of palette slot SLOT |
| player.[x,y,name,...] | Alias to character[EGO]. Note: only set at game start, does not update if you change the player character. |
| savegameindex[20] | Save game slot order - see the ListBoxSaveGameList description in text script reference for more info. |
| system.screen_height | The vertical screen resolution (200,240,400,480 or 600) see Note2 |
| system.screen_width | The horizontal screen resolution (320, 640 or 800) |
| system.color_depth | The color depth (8, 15, 16, 24 or 32). |
| system.os | Interpreter version (1=AGS-DOS, 2=AGS-WIN, 3=Linux). |
| system.windowed | How game is running: 0=full screen, 1=window |
| system.vsync | Whether to synchronise frames with screen refresh in full-screen mode to eliminate tearing when scrolling (default 0) |
| system.viewport_width | Width of the screen viewport (320 or 400) |
| system.viewport_height | Height of the screen viewport (200, 240 or 300) |
| system.version | String containing the engine version, eg. "2.61.730" |
Notes:
(1) The character X&Y co-ordinates may be modified as long as the character is stationary; changing these while the character is moving will cause it to start moving off in the wrong direction.
(2) The system information is provided in order for your game to behave differently if it needs to; however, do NOT use this information to force the player to use a specific resolution. The AGS engine is designed to allow players with varying speeds of computer to enjoy the game at a playable speed; people with a 486 would rather see blocky graphics at 320x200 than be forced to run very slowly at 640x400.