BSL:AI tasks: Difference between revisions
(ai2_idle has been moved to this group, so I'm just dropping this description here from "AI activity") |
m (link fix) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Commands for controlling the activity of AIs. | |||
{{TOCfloat}} | |||
{| {{BSL Group Table Header}}<onlyinclude>{{BSL Group Table|{{PAGENAME}}}}</onlyinclude> | |||
|} | |||
{{:ai2_attack}} | |||
Forces one AI to attack another, e.g. "ai2_attack IntroNinja 0". | |||
{{:ai2_barabbas_retrievegun}} | |||
This was a "specialty" function written for the Barabas boss fight on the upper terrace of the TCTF HQ. It was apparently designed simply to make sure that his gun could not be lost over an edge before the fight began. Although it takes a character as an argument, you won't find any use for this function because it is hardcoded for such specific circumstances: it will teleport the [[WMC]] into a character's hands if it is below 700 world units in altitude and no one is holding it. | |||
{{:ai2_comehere}} | |||
The AI passed into this function will perform the necessary pathfinding to come stand next to you, provided such a route is possible. Apparently intended for development purposes, as it is not used in the level scripts. To make an AI come to you and keep following you, use "ai2_followme" below. | |||
{{:ai2_doalarm}} | |||
Tells an AI to run for the specified alarm. The AI must be [[BSL:AI activity|active]] to perform this task. | |||
{{:ai2_dopath}} | |||
Tells an AI to move along a particular [[PATR|patrol path]]. The AI must be [[BSL:AI activity|active]] to perform this task. | |||
{{:ai2_followme}} | |||
Tells an AI to follow the player. In theory, this is how Oni could tell an AI to fight alongside you. In practice, this function is only used in the first TCTF level, and the level script function that calls it seems to be unused. If you do see an AI following you, it will not be due to this BSL function, but due to the <Follow> data in their [[XML:BINA/OBJC/NEUT|NEUT]] setup. To make an AI follow you as a test of pathfinding, you can also use the [[ai2_chump]] command. To make an AI come to your position and then stop, use "ai2_comehere" above. | |||
{{:ai2_idle}} | {{:ai2_idle}} | ||
Clears an AI's goals, whether they are in pursuit mode, seeking an alarm, panicking, etc. | Clears an AI's goals, whether they are in pursuit mode, seeking an alarm, panicking, etc. Apparently used for development, as it is not in any level scripts. | ||
{{:ai2_lookatchar}} | |||
Tells the first specified AI to look at the second specified AI. If you want the player character to look at an AI, you must first use "[[ai2_takecontrol]] 1". | |||
{{:ai2_lookatme}} | |||
Tells the specified AI to look at the player character. | |||
{{:ai2_movetoflag}} | |||
Tells an AI to move to a [[XML:BINA/OBJC/FLAG|flag]], assuming such a route is possible (flag locations by ID are available [http://geyser.oni2.net/OBD/BINA/OBJC/FLAG/TrimmedList/ here]). If you pass the string "setfacing" for the argument "setfacing", then the AI will also assume the facing angle that is part of the flag data when they reach the flag. If you want the player character to move to a flag, you must first use "ai2_takecontrol 1". | |||
{{:ai2_setjobstate}} | |||
Tells an AI to take its current state as its job. The AI must be [[BSL:AI activity|active]] to perform this task. | |||
[[Category:Scripting tasks]] | [[Category:Scripting tasks]] |
Latest revision as of 17:12, 26 March 2021
Commands for controlling the activity of AIs.
Kind | Type | Name | Platform |
---|---|---|---|
void | ai2_attack | | |
void | ai2_barabbas_retrievegun | | |
void | ai2_comehere | | |
void | ai2_doalarm | | |
void | ai2_dopath | | |
void | ai2_followme | | |
void | ai2_idle | | |
void | ai2_lookatchar | | |
void | ai2_lookatme | | |
void | ai2_movetoflag | | |
void | ai2_setjobstate |
void |
string or int |
string or int |
|
ai2_attack( |
ai_name or script_id, |
target_name or target_script_id |
); |
default: -- |
-- |
-- |
Forces one AI to attack another, e.g. "ai2_attack IntroNinja 0".
void |
string or int |
|
ai2_barabbas_retrievegun( |
ai_name or script_id |
); |
default: -- |
-- |
This was a "specialty" function written for the Barabas boss fight on the upper terrace of the TCTF HQ. It was apparently designed simply to make sure that his gun could not be lost over an edge before the fight began. Although it takes a character as an argument, you won't find any use for this function because it is hardcoded for such specific circumstances: it will teleport the WMC into a character's hands if it is below 700 world units in altitude and no one is holding it.
void |
string or int |
|
ai2_comehere( |
ai_name or script_id |
); |
default: -- |
-- |
The AI passed into this function will perform the necessary pathfinding to come stand next to you, provided such a route is possible. Apparently intended for development purposes, as it is not used in the level scripts. To make an AI come to you and keep following you, use "ai2_followme" below.
void |
string or int |
int |
|
ai2_doalarm( |
ai_name or script_id, |
console_id |
); |
default: -- |
-- |
-- |
Tells an AI to run for the specified alarm. The AI must be active to perform this task.
void |
string or int |
string |
|
ai2_dopath( |
ai_name or script_id, |
path_name |
); |
default: -- |
-- |
-- |
Tells an AI to move along a particular patrol path. The AI must be active to perform this task.
void |
string or int |
|
ai2_followme( |
ai_name or script_id |
); |
default: -- |
-- |
Tells an AI to follow the player. In theory, this is how Oni could tell an AI to fight alongside you. In practice, this function is only used in the first TCTF level, and the level script function that calls it seems to be unused. If you do see an AI following you, it will not be due to this BSL function, but due to the <Follow> data in their NEUT setup. To make an AI follow you as a test of pathfinding, you can also use the ai2_chump command. To make an AI come to your position and then stop, use "ai2_comehere" above.
void |
string or int |
|
ai2_idle( |
ai_name or script_id |
); |
default: -- |
-- |
Clears an AI's goals, whether they are in pursuit mode, seeking an alarm, panicking, etc. Apparently used for development, as it is not in any level scripts.
void |
string or int |
string or int |
|
ai2_lookatchar( |
ai_name or script_id, |
ai_name or script_id |
); |
default: -- |
-- |
-- |
Tells the first specified AI to look at the second specified AI. If you want the player character to look at an AI, you must first use "ai2_takecontrol 1".
void |
string or int |
|
ai2_lookatme( |
ai_name or script_id |
); |
default: -- |
-- |
Tells the specified AI to look at the player character.
void |
string or int |
int |
string |
|
ai2_movetoflag( |
ai_name or script_id, |
flag_id, |
setfacing |
); |
default: -- |
-- |
-- |
"" |
Tells an AI to move to a flag, assuming such a route is possible (flag locations by ID are available here). If you pass the string "setfacing" for the argument "setfacing", then the AI will also assume the facing angle that is part of the flag data when they reach the flag. If you want the player character to move to a flag, you must first use "ai2_takecontrol 1".
void |
string or int |
|
ai2_setjobstate( |
ai_name or script_id |
); |
default: -- |
-- |
Tells an AI to take its current state as its job. The AI must be active to perform this task.