AI Lua API: Difference between revisions
No edit summary |
No edit summary |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 4: | Line 4: | ||
API to control the logic of AI in the mission | API to control the logic of AI in the mission | ||
== Functions == | == Functions == | ||
=== | === Pause === | ||
<syntaxhighlight source lang="lua">AI. | <syntaxhighlight source lang="lua">AI.Pause(characterName)</syntaxhighlight> | ||
'''Expected parameter types''' | '''Expected parameter types''' | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 12: | Line 12: | ||
|- | |- | ||
| characterName || string | | characterName || string | ||
|} | |||
'''Description''': Pauses the agent, and stops it from doing anything. | |||
'''Returns''': Nothing | |||
'''Notes''': The AI will be hidden from networks, meaning it will no longer interact with devices or send/receive messages. | |||
=== Unpause === | |||
<syntaxhighlight source lang="lua">AI.Unpause(characterName)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |- | ||
| | ! Name !! Type | ||
|- | |||
| characterName || string | |||
|} | |} | ||
'''Description''': | '''Description''': Unpauses a hidden agent, resuming standard behaviour. | ||
'''Returns''': Nothing | '''Returns''': Nothing | ||
=== IsPaused === | |||
=== | <syntaxhighlight source lang="lua">AI.IsPaused(characterName)</syntaxhighlight> | ||
<syntaxhighlight source lang="lua">AI. | |||
'''Expected parameter types''' | '''Expected parameter types''' | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 27: | Line 38: | ||
! Name !! Type | ! Name !! Type | ||
|- | |- | ||
| | | characterName || string | ||
|} | |||
'''Description''': Returns a bool based on if a character is currently paused or not | |||
'''Returns''': bool | |||
=== AddGoal === | |||
<syntaxhighlight source lang="lua">AI.AddGoal(characterName, goal)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |- | ||
| | | characterName || string | ||
|- | |- | ||
| | | goal || Lua Table | ||
|} | |} | ||
'''Description''': | '''Description''': Adds a defined goal | ||
'''Returns''': Nothing | '''Returns''': Nothing | ||
=== RemoveGoal === | |||
<syntaxhighlight source lang="lua">AI.RemoveGoal(characterName, goalName)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| goalName || string | |||
|} | |||
'''Description''': Removes any defined goals | |||
'''Returns''': Nothing | |||
=== AddTemporaryGoal === | |||
<syntaxhighlight source lang="lua">AI.AddTemporaryGoal(characterName, goal)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| goal || Lua Table | |||
|} | |||
'''Description''': Adds a goal, taking top priority, to the named AI | |||
'''Returns''': Nothing | |||
'''Notes''': This goal will be removed from the AI once complete. If it isn't achievable it will be removed immediately. | |||
=== GetNPCProfileByTag === | |||
<syntaxhighlight source lang="lua">AI.GetNPCProfileByTag(characterName, tag)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| tag || string | |||
|} | |||
'''Description''': Get all values of a tag from a chaarcter's profile, if the tag exists. | |||
'''Returns''': System.String[] | |||
=== Lua_CheckNPCProfile === | |||
<syntaxhighlight source lang="lua">AI.Lua_CheckNPCProfile(characterName, tag, value)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| tag || string | |||
|- | |||
| value || string | |||
|} | |||
'''Description''': Check if character's profile data contains a specific tag wiht a specific value | |||
'''Returns''': bool | |||
=== GetNPCStat === | |||
<syntaxhighlight source lang="lua">AI.GetNPCStat(characterName, statName)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| statName || string | |||
|} | |||
'''Description''': Returns current value of NPC's stat | |||
'''Returns''': number | |||
'''Notes''': This is only intended for debugging purposes, and not recommended in any actual game scripts. | |||
=== SetNPCStat === | |||
<syntaxhighlight source lang="lua">AI.SetNPCStat(characterName, statName, newValue)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| statName || string | |||
|- | |||
| newValue || number | |||
|} | |||
'''Description''': Sets an NPC's AI stat to absolute value | |||
'''Returns''': Nothing | |||
'''Notes''': This is only intended for debugging purposes, and not recommended in any actual game scripts. | |||
=== AlterNPCStat === | |||
<syntaxhighlight source lang="lua">AI.AlterNPCStat(characterName, statName, statDelta)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| statName || string | |||
|- | |||
| statDelta || number | |||
|} | |||
'''Description''': Alters an NPC's AI stat by relative value | |||
'''Returns''': Nothing | |||
=== AlterNPCWorldState === | |||
<syntaxhighlight source lang="lua">AI.AlterNPCWorldState(characterName, state, value)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| state || string | |||
|- | |||
| value || Lua Type | |||
|} | |||
'''Description''': Change the World State of an NPC. | |||
'''Returns''': Nothing | |||
=== FavourInterest === | |||
<syntaxhighlight source lang="lua">AI.FavourInterest(characterName, device, permanent)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| device || string | |||
|- | |||
| permanent || bool | |||
|} | |||
'''Description''': Reduce the cost of an AI using a particular Interest | |||
'''Returns''': Nothing | |||
'''Notes''': If permanent is false, the cost will revert to normal the next time this is successfully used | |||
=== AvoidInterest === | |||
<syntaxhighlight source lang="lua">AI.AvoidInterest(characterName, device, permanent)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| device || string | |||
|- | |||
| permanent || bool | |||
|} | |||
'''Description''': Increase the cost of an AI using a particular Interest | |||
'''Returns''': Nothing | |||
'''Notes''': If permanent is false, the cost will revert to normal the next time this is successfully used | |||
=== SetNPCFavouredComputer === | === SetNPCFavouredComputer === | ||
<syntaxhighlight source lang="lua">AI.SetNPCFavouredComputer(characterName, computer)</syntaxhighlight> | <syntaxhighlight source lang="lua">AI.SetNPCFavouredComputer(characterName, computer)</syntaxhighlight> | ||
Line 49: | Line 238: | ||
|} | |} | ||
'''Description''': Set NPC's computer, this will be used for a variety of actions | '''Description''': Set NPC's computer, this will be used for a variety of actions | ||
'''Returns''': Nothing | |||
=== AddAction === | |||
<syntaxhighlight source lang="lua">AI.AddAction(characterName, action)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| action || Lua Table | |||
|} | |||
'''Description''': Adds an action that can be used immediately | |||
'''Returns''': Nothing | |||
=== RemoveAction === | |||
<syntaxhighlight source lang="lua">AI.RemoveAction(characterName, actionName)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| actionName || string | |||
|} | |||
'''Description''': Removes any action | |||
'''Returns''': Nothing | '''Returns''': Nothing | ||
Line 56: | Line 275: | ||
This file is auto generated, please don't edit manually! | This file is auto generated, please don't edit manually! | ||
'''Docs last hacked together on''': | '''Docs last hacked together on''': 29/08/2023 16:24 | ||
[[ | [[Category:Modding]][[Category:LuaAPI]] |
Latest revision as of 13:50, 29 August 2023
AI
Description
API to control the logic of AI in the mission
Functions
Pause
AI.Pause(characterName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
Description: Pauses the agent, and stops it from doing anything.
Returns: Nothing
Notes: The AI will be hidden from networks, meaning it will no longer interact with devices or send/receive messages.
Unpause
AI.Unpause(characterName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
Description: Unpauses a hidden agent, resuming standard behaviour.
Returns: Nothing
IsPaused
AI.IsPaused(characterName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
Description: Returns a bool based on if a character is currently paused or not
Returns: bool
AddGoal
AI.AddGoal(characterName, goal)
Expected parameter types
Name | Type |
---|---|
characterName | string |
goal | Lua Table |
Description: Adds a defined goal
Returns: Nothing
RemoveGoal
AI.RemoveGoal(characterName, goalName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
goalName | string |
Description: Removes any defined goals
Returns: Nothing
AddTemporaryGoal
AI.AddTemporaryGoal(characterName, goal)
Expected parameter types
Name | Type |
---|---|
characterName | string |
goal | Lua Table |
Description: Adds a goal, taking top priority, to the named AI
Returns: Nothing
Notes: This goal will be removed from the AI once complete. If it isn't achievable it will be removed immediately.
GetNPCProfileByTag
AI.GetNPCProfileByTag(characterName, tag)
Expected parameter types
Name | Type |
---|---|
characterName | string |
tag | string |
Description: Get all values of a tag from a chaarcter's profile, if the tag exists.
Returns: System.String[]
Lua_CheckNPCProfile
AI.Lua_CheckNPCProfile(characterName, tag, value)
Expected parameter types
Name | Type |
---|---|
characterName | string |
tag | string |
value | string |
Description: Check if character's profile data contains a specific tag wiht a specific value
Returns: bool
GetNPCStat
AI.GetNPCStat(characterName, statName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
statName | string |
Description: Returns current value of NPC's stat
Returns: number
Notes: This is only intended for debugging purposes, and not recommended in any actual game scripts.
SetNPCStat
AI.SetNPCStat(characterName, statName, newValue)
Expected parameter types
Name | Type |
---|---|
characterName | string |
statName | string |
newValue | number |
Description: Sets an NPC's AI stat to absolute value
Returns: Nothing
Notes: This is only intended for debugging purposes, and not recommended in any actual game scripts.
AlterNPCStat
AI.AlterNPCStat(characterName, statName, statDelta)
Expected parameter types
Name | Type |
---|---|
characterName | string |
statName | string |
statDelta | number |
Description: Alters an NPC's AI stat by relative value
Returns: Nothing
AlterNPCWorldState
AI.AlterNPCWorldState(characterName, state, value)
Expected parameter types
Name | Type |
---|---|
characterName | string |
state | string |
value | Lua Type |
Description: Change the World State of an NPC.
Returns: Nothing
FavourInterest
AI.FavourInterest(characterName, device, permanent)
Expected parameter types
Name | Type |
---|---|
characterName | string |
device | string |
permanent | bool |
Description: Reduce the cost of an AI using a particular Interest
Returns: Nothing
Notes: If permanent is false, the cost will revert to normal the next time this is successfully used
AvoidInterest
AI.AvoidInterest(characterName, device, permanent)
Expected parameter types
Name | Type |
---|---|
characterName | string |
device | string |
permanent | bool |
Description: Increase the cost of an AI using a particular Interest
Returns: Nothing
Notes: If permanent is false, the cost will revert to normal the next time this is successfully used
SetNPCFavouredComputer
AI.SetNPCFavouredComputer(characterName, computer)
Expected parameter types
Name | Type |
---|---|
characterName | string |
computer | MissionObject |
Description: Set NPC's computer, this will be used for a variety of actions
Returns: Nothing
AddAction
AI.AddAction(characterName, action)
Expected parameter types
Name | Type |
---|---|
characterName | string |
action | Lua Table |
Description: Adds an action that can be used immediately
Returns: Nothing
RemoveAction
AI.RemoveAction(characterName, actionName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
actionName | string |
Description: Removes any action
Returns: Nothing
This file is auto generated, please don't edit manually!
Docs last hacked together on: 29/08/2023 16:24