Built-in AI packages

Combat

Attack another actor.

Arguments

name type description
target GameObject [required] the actor to attack

Examples

-- from local script add package to self
local AI = require('openmw.interfaces').AI
AI.startPackage({type='Combat', target=anotherActor})

-- via event to any actor
actor:sendEvent('StartAIPackage', {type='Combat', target=anotherActor})

Pursue

Pursue another actor.

Arguments

name type description
target GameObject [required] the actor to pursue

Follow

Follow another actor.

Arguments

name type description
target GameObject [required] the actor to follow

Escort

Escort another actor to the given location.

Arguments

name type description
target GameObject [required] the actor to follow
destPosition 3d vector [required] the destination point
destCell Cell [optional] the destination cell
duration number [optional] duration in game time (will be rounded up to the next hour)

Example

actor:sendEvent('StartAIPackage', {
    type = 'Escort',
    target = object.self,
    destPosition = util.vector3(x, y, z),
    duration = 3 * time.hour,
})

Wander

Wander nearby current position.

Arguments

name type description
distance float [default=0] the actor to follow
duration number [optional] duration in game time (will be rounded up to the next hour)

Travel

Go to given location.

Arguments

name type description
destPosition 3d vector [required] the point to travel to