Contents
Copyright and terms of use
Introduction
System Requirements
The run-time engine
The demo game
Graphics driver selection
Run-time engine setup
Tutorial
Starting off
Setting up the game
Palette setup
Inventory
Importing your own sprite graphics
Introduction sequences
Animations
Characters
Conversations
Game options
Cursors
Fonts
Advanced room features
Character scaling
Scrolling
Importing a file as the walkable area mask
Animating background scenes
Lighting effects
Other Features
Music and sound
Voice speech
The AudioCache folder
Editing the GUIs
GUI buttons
Interface text
Customized Text Windows
Custom inventory
Sliders
Text Boxes
List Boxes
Distributing your game
Custom icon
Splitting resource files
Backing up your game
The text parser
Translations
Global variables
Custom Properties
Plugins
Lip sync
New Game templates
Debugging features
Auto-number speech files
Integration with Windows
Enhanced Save Games
Windows Vista Game Explorer
Source Control integration
Scripting
Scripting tutorial part 1
Scripting tutorial part 2
Upgrading to AGS 2.7
Pointers in AGS
Pointers for programming newbies
Pointers for people who know C or C++
Upgrading to AGS 2.71
Calling global functions from local scripts
The script header
String formatting
Multiple Scripts
Understanding blocking scripts
Dynamic Arrays
Extender functions
Game variables
Predefined global script functions
repeatedly_execute (_always)
Custom dialog options rendering
Built-in enumerated types
Script language keywords
Arrays
Data types
Operators
Constants
Version checking
if, else statements
while
function
struct
enum
this
import
export
noloopcheck
AudioChannel functions and properties
Seek
SetRoomLocation
Stop (audio channel)
ID property (audio channel)
IsPlaying property
LengthMs property
Panning property
PlayingClip property
Position property
PositionMs property
Volume property (audio channel)
AudioClip functions and properties
Play
PlayFrom
PlayQueued
Stop (audio clip)
FileType property (audio clip)
IsAvailable property (audio clip)
Type property (audio clip)
Character functions and properties
AddInventory
AddWaypoint
Animate (character)
ChangeRoom
ChangeRoomAutoPosition
ChangeView
FaceCharacter
FaceLocation
FaceObject
FollowCharacter
GetAtScreenXY (character)
GetProperty (character)
GetTextProperty (character)
HasInventory
IsCollidingWithChar
IsCollidingWithObject (character)
LockView
LockViewAligned
LockViewFrame
LockViewOffset
LoseInventory
Move (character)
PlaceOnWalkableArea
RemoveTint (character)
RunInteraction (character)
Say
SayAt
SayBackground
SetAsPlayer
SetIdleView
SetWalkSpeed
StopMoving (character)
Think
Tint (character)
UnlockView
Walk
WalkStraight
ActiveInventory property
Animating property (character)
AnimationSpeed property
Baseline property (character)
BlinkInterval property
BlinkView property
BlinkWhileThinking property
BlockingHeight property (character)
BlockingWidth property (character)
Clickable property (character)
DiagonalLoops property
Frame property (character)
HasExplicitTint property
ID property (character)
IdleView property
IgnoreLighting property
IgnoreWalkbehinds property (character)
InventoryQuantity property
Loop property (character)
ManualScaling property (character)
MovementLinkedToAnimation property
Moving property (character)
Name property (character)
NormalView property
PreviousRoom property
Room property
ScaleMoveSpeed property
ScaleVolume property
Scaling property (character)
Solid property (character)
Speaking property
SpeakingFrame property
SpeechAnimationDelay property
SpeechColor property
SpeechView property
ThinkView property
Transparency property (character)
TurnBeforeWalking property
View property (character)
WalkSpeedX property
WalkSpeedY property
x property (character)
y property (character)
z property (character)
SetCharacterProperty
DateTime functions and properties
Now property
DayOfMonth property
Hour property
Minute property
Month property
RawTime property
Second property
Year property
Dialog functions and properties
DisplayOptions (dialog)
GetOptionState (dialog)
GetOptionText (dialog)
HasOptionBeenChosen
ID property (dialog)
OptionCount property (dialog)
SetOptionState (dialog)
ShowTextParser property (dialog)
Start (dialog)
StopDialog
DialogOptionsRenderingInfo functions and properties
ActiveOptionID property
DialogToRender property
Height property (DialogOptionsRenderingInfo)
ParserTextBoxWidth property
ParserTextBoxX property
ParserTextBoxY property
Surface property (DialogOptionsRenderingInfo)
Width property (DialogOptionsRenderingInfo)
X property (DialogOptionsRenderingInfo)
Y property (DialogOptionsRenderingInfo)
DrawingSurface functions and properties
Clear (drawing surface)
CreateCopy
DrawCircle
DrawImage
DrawLine
DrawMessageWrapped
DrawPixel
DrawRectangle
DrawString
DrawStringWrapped
DrawSurface
DrawTriangle
Release (drawing surface)
DrawingColor property
GetPixel
Height property (drawing surface)
UseHighResCoordinates property
Width property (drawing surface)
DynamicSprite functions and properties
Create (dynamic sprite)
CreateFromBackground
CreateFromDrawingSurface
CreateFromExistingSprite
CreateFromFile
CreateFromSaveGame
CreateFromScreenShot
ChangeCanvasSize
CopyTransparencyMask
Crop (dynamic sprite)
Delete (dynamic sprite)
Flip (dynamic sprite)
GetDrawingSurface (dynamic sprite)
Resize (dynamic sprite)
Rotate (dynamic sprite)
SaveToFile (dynamic sprite)
Tint (dynamic sprite)
ColorDepth property (dynamic sprite)
Graphic property (dynamic sprite)
Height property (dynamic sprite)
Width property (dynamic sprite)
File functions and properties
Open
Close
Delete (file)
Exists
ReadInt
ReadRawChar
ReadRawInt
ReadRawLineBack
ReadStringBack
WriteInt
WriteRawChar
WriteRawLine
WriteString
EOF property
Error property
Game / Global functions
AbortGame
CallRoomScript
ChangeTranslation
ClaimEvent
Debug
DeleteSaveSlot
DisableInterface
DoOnceOnly
EnableInterface
EndCutscene
GetColorFromRGB
GetFrameCountForLoop
GetGameOption
GetGameParameter
GetGameSpeed
GetGlobalInt
GetGraphicalVariable
GetLocationName
GetLocationType
GetLoopCountForView
GetRunNextSettingForLoop
GetSaveSlotDescription
GetTextHeight
GetTextWidth
GetTranslation
GetViewFrame
GiveScore
InputBox
InventoryScreen
IsGamePaused
IsInterfaceEnabled
IsInteractionAvailable
IsKeyPressed
IsTimerExpired
IsTranslationAvailable
MoveCharacterToHotspot
MoveCharacterToObject
PauseGame
ProcessClick
QuitGame
Random
RestartGame
RestoreGameDialog
RestoreGameSlot
RunAGSGame
SaveGameDialog
SaveGameSlot
SaveScreenShot
SetAmbientTint
SetGameOption
SetGameSpeed
SetGlobalInt
SetGraphicalVariable
SetMultitaskingMode
SetRestartPoint
SetSaveGameDirectory
SetTextWindowGUI
SetTimer
SkipUntilCharacterStops
StartCutscene
UpdateInventory
UnPauseGame
Wait
WaitKey
WaitMouseKey
CharacterCount property
DialogCount property
FileName property
FontCount property
GlobalMessages property
GlobalStrings property
GUICount property
IgnoreUserInputAfterTextTimeoutMs property
InSkippableCutscene property
InventoryItemCount property
MinimumTextDisplayTimeMs property
MouseCursorCount property
Name property (game)
NormalFont property
SkippingCutscene property
SpeechFont property
SpriteHeight property
SpriteWidth property
TextReadingSpeed property
TranslationFilename property
UseNativeCoordinates property
ViewCount property
GUI functions and properties
Centre
GetAtScreenXY (GUI)
SetPosition (GUI)
SetSize (GUI)
BackgroundGraphic property (GUI)
Clickable property (GUI)
ControlCount property
Controls property (GUI)
Height property (GUI)
ID property (GUI)
Transparency property (GUI)
Visible property (GUI)
Width property (GUI)
X property (GUI)
Y property (GUI)
ZOrder property
GUI control functions and properties
GetAtScreenXY (GUI control)
AsType properties (GUI controls)
BringToFront (GUI controls)
Clickable property (GUI controls)
Enabled property (GUI controls)
Height property (GUI controls)
ID property (GUI controls)
OwningGUI property (GUI controls)
SendToBack (GUI controls)
SetPosition (GUI controls)
SetSize (GUI controls)
Visible property (GUI controls)
Width property (GUI controls)
X property (GUI controls)
Y property (GUI controls)
GUI Button functions and properties
Animate (button)
ClipImage property
Font property (button)
Graphic property (button)
MouseOverGraphic property (button)
NormalGraphic property (button)
PushedGraphic property (button)
Text property (button)
TextColor property (button)
GUI InvWindow functions and properties
ScrollDown (inv window)
ScrollUp (inv window)
CharacterToUse property
ItemAtIndex property
ItemCount property (inv window)
ItemHeight property
ItemWidth property
ItemsPerRow property
RowCount property (inv window)
TopItem property (inv window)
GUI Label functions and properties
Font property (label)
Text property (label)
TextColor property (label)
GUI List Box functions and properties
AddItem
Clear (list box)
FillDirList
FillSaveGameList
GetItemAtLocation
InsertItemAt
RemoveItem
ScrollDown (list box)
ScrollUp (list box)
Font property (list box)
HideBorder property (list box)
HideScrollArrows property (list box)
ItemCount property (list box)
Items property
RowCount property (list box)
SaveGameSlots property
SelectedIndex property
TopItem property (list box)
GUI Slider properties
BackgroundGraphic property (slider)
HandleGraphic property
HandleOffset property
Max property
Min property
Value property
GUI Text Box functions and properties
Font property (text box)
Text property (text box)
TextColor property (text box)
Hotspot functions and properties
GetAtScreenXY (hotspot)
GetProperty (hotspot)
GetTextProperty (hotspot)
RunInteraction (hotspot)
Enabled property (hotspot)
ID property (hotspot)
Name property (hotspot)
WalkToX property
WalkToY property
Inventory item functions and properties
GetAtScreenXY (inventory)
GetProperty (inventory)
GetTextProperty (inventory)
IsInteractionAvailable (inventory)
RunInteraction (inventory)
CursorGraphic property (inventory)
Graphic property (inventory)
ID property (inventory)
Name property (inventory)
Maths functions and properties
FloatToInt
IntToFloat
ArcCos
ArcSin
ArcTan
ArcTan2
Cos
Cosh
DegreesToRadians
Exp
Log
Log10
RadiansToDegrees
RaiseToPower
Sin
Sinh
Sqrt
Tan
Tanh
Pi property
Mouse functions and properties
ChangeModeGraphic
ChangeModeHotspot
ChangeModeView
DisableMode
EnableMode
GetModeGraphic
IsButtonDown
SaveCursorUntilItLeaves
SelectNextMode
SetBounds
SetPosition (mouse)
Update
UseDefaultGraphic
UseModeGraphic
Mode property (mouse)
Visible property (mouse)
Multimedia functions
CDAudio
IsAudioPlaying
IsSpeechVoxAvailable
PlayFlic
PlaySilentMIDI
PlayVideo
SetAudioTypeSpeechVolumeDrop
SetAudioTypeVolume
SetSpeechVolume
SetVoiceMode
StopAudio
Object functions and properties
Animate (object)
GetAtScreenXY (object)
GetProperty (object)
GetTextProperty (object)
IsCollidingWithObject (object)
MergeIntoBackground
Move (object)
RemoveTint (object)
RunInteraction (object)
SetPosition (object)
SetView
StopAnimating (object)
StopMoving (object)
Tint (object)
Animating property (object)
Baseline property (object)
BlockingHeight property (object)
BlockingWidth property (object)
Clickable property (object)
Frame property (object)
Graphic property (object)
ID property (object)
IgnoreScaling property (object)
IgnoreWalkbehinds property (object)
Loop property (object)
Moving property (object)
Name property (object)
Solid property (object)
Transparency property (object)
View property (object)
Visible property (object)
X property (object)
Y property (object)
Overlay functions and properties
CreateGraphical
CreateTextual
Remove (overlay)
SetText (overlay)
Valid property (overlay)
X property (overlay)
Y property (overlay)
Palette functions
CyclePalette
SetPalRGB
UpdatePalette
Parser functions
FindWordID
ParseText
Said
SaidUnknownWord
Region functions and properties
GetAtRoomXY (region)
RunInteraction (region)
Tint (region)
Enabled property (region)
ID property (region)
LightLevel property
TintEnabled property
TintBlue property
TintGreen property
TintRed property
TintSaturation property
Room functions
AreThingsOverlapping
DisableGroundLevelAreas
EnableGroundLevelAreas
GetBackgroundFrame
GetDrawingSurfaceForBackground
GetPlayerCharacter
GetRoomProperty
GetTextProperty (room)
GetScalingAt
GetViewportX
GetViewportY
GetWalkableAreaAt
HasPlayerBeenInRoom
ReleaseViewport
RemoveWalkableArea
ResetRoom
RestoreWalkableArea
SetAreaScaling
SetBackgroundFrame
SetViewport
SetWalkBehindBase
BottomEdge property
ColorDepth property (room)
Height property (room)
LeftEdge property
Messages property
MusicOnLoad property
ObjectCount property
RightEdge property
TopEdge property
Width property (room)
Screen functions
FadeIn
FadeOut
FlipScreen
SetFadeColor
SetNextScreenTransition
SetScreenTransition
ShakeScreen
ShakeScreenBackground
TintScreen
String functions
Append
AppendChar
CompareTo
Copy
EndsWith
Format
IndexOf
IsNullOrEmpty
LowerCase
Replace
ReplaceCharAt
StartsWith
Substring
Truncate
UpperCase
AsFloat property
AsInt property
Chars property
Length property
System functions and properties
AudioChannelCount property
AudioChannels property
CapsLock property
ColorDepth property (system)
Gamma property
HardwareAcceleration property
NumLock property
OperatingSystem property
ScreenHeight property
ScreenWidth property
ScrollLock property
SupportsGammaControl property
Version property
ViewportHeight property
ViewportWidth property
Volume property (system)
VSync property
Windowed property
Text display / Speech functions
Display
DisplayAt
DisplayAtY
DisplayMessage
DisplayMessageAtY
DisplayTopBar
SetSkipSpeech
SetSpeechStyle
ViewFrame functions and properties
Flipped property
Frame property (view frame)
Graphic property (view frame)
LinkedAudio property (view frame)
Loop property (view frame)
Speed property (view frame)
View property (view frame)
SCUMM_VERBCOIN_GUI functions
SCUMM_VERBCOIN_GUI Deselect
SCUMM_VERBCOIN_GUI DisableVerbCoinGUI
SCUMM_VERBCOIN_GUI DoubleClickSpeed
SCUMM_VERBCOIN_GUI GoInventory
SCUMM_VERBCOIN_GUI Item_Count
SCUMM_VERBCOIN_GUI InvScroll_Left
SCUMM_VERBCOIN_GUI InvScroll_Right
SCUMM_VERBCOIN_GUI Inv_Border_active
SCUMM_VERBCOIN_GUI Inv_Border_SetPos
SCUMM_VERBCOIN_GUI Inventory_GUI
SCUMM_VERBCOIN_GUI RunInteraction
SCUMM_VERBCOIN_GUI Select
SCUMM_VERBCOIN_GUI Verbcoin_GUI
SCUMM_VERBCOIN_GUI verbgraphic
SCUMM_VERBCOIN_GUI doubleclick variable
Reference
Event Types
Hotspot events
Object events
Room events
Inventory item events
Character events
Region events
System limits
Keyboard Shortcuts
ASCII code table
Frequently Asked Questions
Upgrading to AGS 3.0
Upgrading to AGS 3.1
Upgrading to AGS 3.2
Anonymous usage information
Contacting the author
Credits