AIController Class Reference

The Controller, the class each AI should extend. More...


Public Member Functions

 AIController ()
 Initializer of the AIController.
 ~AIController ()
 Destructor of the AIController.
void Start ()
 This function is called to start your AI.

Static Public Member Functions

static uint GetTick ()
 Find at which tick your AI currently is.
static int GetSetting (const char *name)
 Get the value of one of your settings you set via info.nut.
static uint GetVersion ()
 Get the OpenTTD version of this executable.
static void SetCommandDelay (int ticks)
 Change the minimum amount of time the AI should be put in suspend mode when you execute a command.
static void Sleep (int ticks)
 Sleep for X ticks.
static void Print (bool error_msg, const char *message)
 When Squirrel triggers a print, this function is called.

Friends

class AIScanner
class AIInstance


Detailed Description

The Controller, the class each AI should extend.

It creates the AI, makes sure the logic kicks in correctly, and that GetTick() has a valid value.


Member Function Documentation

void AIController::Start (  ) 

This function is called to start your AI.

Your AI starts here. If you return from this function, your AI dies, so make sure that doesn't happen.

Note:
Cannot be called from within your AI.

static uint AIController::GetTick (  )  [static]

Find at which tick your AI currently is.

Returns:
returns the current tick.

static int AIController::GetSetting ( const char *  name  )  [static]

Get the value of one of your settings you set via info.nut.

Parameters:
name The name of the setting.
Returns:
the value for the setting, or -1 if the setting is not known.

static uint AIController::GetVersion (  )  [static]

Get the OpenTTD version of this executable.

The version is formatted with the bits having the following meaning: 28-31 major version 24-27 minor version 20-23 build 19 1 if it is a release, 0 if it is not. 0-18 revision number; 0 when the revision is unknown.

Returns:
The version in newgrf format.

static void AIController::SetCommandDelay ( int  ticks  )  [static]

Change the minimum amount of time the AI should be put in suspend mode when you execute a command.

Normally in SP this is 1, and in MP it is what ever delay the server has been programmed to delay commands (normally between 1 and 5). To give a more 'real' effect to your AI, you can control that number here.

Parameters:
ticks The minimum amount of ticks to wait.
Precondition:
Ticks should be positive. Too big values will influence performance of the AI.
Note:
If the number is lower then the MP setting, the MP setting wins.

static void AIController::Sleep ( int  ticks  )  [static]

Sleep for X ticks.

The code continues after this line when the X AI ticks are passed. Mind that an AI tick is different from in-game ticks and differ per AI speed.

Parameters:
ticks the ticks to wait
Precondition:
ticks > 0.
Postcondition:
the value of GetTick() will be changed exactly 'ticks' in value after calling this.

static void AIController::Print ( bool  error_msg,
const char *  message 
) [static]

When Squirrel triggers a print, this function is called.

Squirrel calls this when 'print' is used, or when the script made an error.

Parameters:
error_msg If true, it is a Squirrel error message.
message The message Squirrel logged.
Note:
Use AILog.Info/Warning/Error instead of 'print'.


Generated on Tue Sep 8 20:55:28 2009 for OpenTTD NoAI API by  doxygen 1.5.6