The general definition of a function is something like this:
A function has an input and an output, and the output is related
somehow to the input. In GameMaker: Studio you use
functions as part of the program
to make things happen in your game and there are a great number of
GML (GameMaker Language) functions available to you, all of which
are explained in the Reference section
of the manual.
In GML a function has the form of a function name, followed by the
input arguments between brackets and separated by commas (if the
function has no input arguments then just brackets are used). Here
is an outline of the structure of a function:
<function>(<arg0>, <arg1> ,... <arg15>);
Generally there are two types of functions - First of all, there is
the huge collection of built-in functions which are used to control
all aspects of your game, and, secondly, any scripts you define
in your game can also be used as a function (but not always).
Some functions return values and can be used in expressions, while
others simply execute commands and you should note that it is
impossible to use a function as the left-hand side of an
assignment. For example, you cannot write:
instance_nearest(x, y, obj).speed = 0;
as the return value for the expression is a real number and so must
be enclosed in brackets to be used in this way (see Addressing Variables In Other
Instances for more information), so the above code should
actually be written as:
(instance_nearest(x,y,obj)).speed = 0;