Common Traits

ADRIFT 5 Help ›› Creating Games ›› The Main Items ›› Tasks ››
Parent Previous Next

Common Traits

The three different task types all trigger in different ways, but once they run, they all follow the same basic process.

Message to display on completion

In the bottom half of the Description tab is a text box that contains the message that will be displayed if this task runs.

As well as displaying text (which can include functions or embedded expressions) a text box can also control the display of images and the playing of sounds at the same time as the text is output.

A text box can also use alternative descriptions to change the text that is output depending on different circumstances.

Task is Repeatable

At the bottom left corner of the task window is a checkbox labelled Task is Repeatable.

Most of the time you would want this checkbox ticked, particularly when creating a General task.  You would not tick it if you have a task that is part of the story that must only execute its actions once.  If this box is not ticked then after this task has executed the first time, it will no longer take part in the matching of any future command.  It will be as if this task no longer exists.

Note that you do not need to do this to prevent the player's score being incremented more than once by the same task, as ADRIFT contains special logic that prevents a particular task from changing the %score% variable more than once.  I.e. if you have a task "increase score" that increases score by 10, you can run it as many times as you like, but your score will only increase the first time.






Hints are not yet functional in ADRIFT 5.


On the Advanced tab are a series of settings that allow you to tweak how the task behaves and how it interacts with other tasks that also match the player input.

ADRIFT Developer must not be in Simple Mode for this tab to be visible on the main toolbar.

The Task Priority determines which task ADRIFT should execute if more than one matches the player's input.  The one with the lowest number in this field has the highest priority and will be executed first.  The tasks in the Standard Library always have very large priority numbers, while tasks that you create will initially be numbered in order of creation starting at 1. This means that any task you create will execute before any Standard Library task by default.  You only need to alter this value if you have two tasks that are both able to match the same player input and pass their restrictions at the same time, and you wish to change the order in which they are executed.

The Auto-fill Priority is only available on General Tasks and is responsible for the auto-completion feature whereby the player only has to type part of a command or object name and the rest of the word will be filled in automatically.  Normally a player will expect common commands such as "north" or "examine" to be chosen by this feature, but if you create a new command such as "nobble" or "execute" then you may need to change the value in this field to stop them being selected.

Setting the auto-fill priority to zero will prevent the task's commands from ever being displayed by the auto-fill.  This is particularly useful if your command is a password, or some other secret puzzle.

If Prevent this task from being inherited is selected on a General task then it will not be possible to override it with a specific task.  You are unlikely to need to select this.  One example where it is used is in the Take Objects (Parent Task) library task, because we want to override the Take Objects from Object or the Take Objects from Location tasks individually.

If you edit a library task, the On load, if another task exists with the same key, this should replace it checkbox becomes available.  If you have multiple libraries, and those libraries contain the same key (for example, both libraries have a task with the key Inventory), the second library will import and the key will be renamed (e.g. to Inventory1).  What this checkbox does is allows you to specify that the task should override any existing tasks with the same key.  This is useful if you want to customise an existing library task.

The default behaviour is for tasks that pass restrictions to override higher priority tasks that do not, even when the failing higher priority task has output. To change this behaviour, you need to check the This task can be overridden by other task restriction failures (apart from other tasks with this checked) checkbox on the lower priority task.

Whenever ADRIFT finds a task that matches user input and passes it's restrictions, it will run that task.  If that task has output text, that text will be displayed and no more tasks will be checked.  In some instances, you might want to continue to match lower priority tasks after the initial task has run.  To do this, you would select the Continue executing matching lower priority tasks (multiple matching) checkbox.

The drop-down list Display completion message before/after executing actions controls the sequence in which the task executes.

This is only important if:

The default is to display messages after executing actions, as more often than not you would want to display things as a result of an action (e.g. displaying a location description after moving an object to the room)

Finally, the If task fails and input references 'all', display this instead of restriction comments text box at the bottom allows a special message to be displayed, instead of the usual restriction failure message, if the player entered "all" instead of a specific object in the command.  This is useful in tasks such as "take all", where you can output a message such as "There is nothing worth taking here" instead of "You can't take the walls, floor, table, chairs, bed and the sky."