Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
scripting.qh
Go to the documentation of this file.
1#pragma once
2
3#define BOT_EXEC_STATUS_IDLE 0
4#define BOT_EXEC_STATUS_PAUSED 1
5#define BOT_EXEC_STATUS_WAITING 2
6
7#define CMD_STATUS_EXECUTING 0
8#define CMD_STATUS_FINISHED 1
9#define CMD_STATUS_ERROR 2
10
11
12// NOTE: New commands should be added here. Do not forget to update BOT_CMD_COUNTER
13const int BOT_CMD_NULL = 0;
14const int BOT_CMD_PAUSE = 1;
15const int BOT_CMD_CONTINUE = 2;
16const int BOT_CMD_WAIT = 3;
17const int BOT_CMD_TURN = 4;
18const int BOT_CMD_MOVETO = 5;
19const int BOT_CMD_RESETGOAL = 6; // Not implemented yet
20const int BOT_CMD_CC = 7;
21const int BOT_CMD_IF = 8;
22const int BOT_CMD_ELSE = 9;
23const int BOT_CMD_FI = 10;
24const int BOT_CMD_RESETAIM = 11;
25const int BOT_CMD_AIM = 12;
26const int BOT_CMD_PRESSKEY = 13;
27const int BOT_CMD_RELEASEKEY = 14;
28const int BOT_CMD_SELECTWEAPON = 15;
29const int BOT_CMD_IMPULSE = 16;
30const int BOT_CMD_WAIT_UNTIL = 17;
31const int BOT_CMD_MOVETOTARGET = 18;
32const int BOT_CMD_AIMTARGET = 19;
33const int BOT_CMD_BARRIER = 20;
34const int BOT_CMD_CONSOLE = 21;
35const int BOT_CMD_SOUND = 22;
37//const int BOT_CMD_WHILE = 24; // TODO: Not implemented yet
38//const int BOT_CMD_WEND = 25; // TODO: Not implemented yet
39//const int BOT_CMD_CHASE = 26; // TODO: Not implemented yet
40
41const int BOT_CMD_COUNTER = 24; // Update this value if you add/remove a command
42
43// NOTE: Following commands should be implemented on the bot ai
44// If a new command should be handled by the target ai(s) please declare it here
45.float(entity, vector) cmd_moveto;
46.float(entity) cmd_resetgoal;
47
48//
53
57
58// Bots command queue
59entity bot_cmd; // global current command
60.entity bot_cmd_current; // current command of this bot
61
62.float bot_cmd_index; // Position of the command in the queue
63.int bot_cmd_type; // If of command (see the BOT_CMD_* defines)
64.float bot_cmd_parm_float; // Field to store a float parameter
65.string bot_cmd_parm_string; // Field to store a string parameter
66.vector bot_cmd_parm_vector; // Field to store a vector parameter
67
70
71.float bot_cmd_execution_index; // Position in the queue of the command to be executed
72
73
74bool bot_ispaused(entity this);
75
76void bot_resetqueues();
77void bot_queuecommand(entity bot, string cmdstring);
78void bot_cmdhelp(string scmd);
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
string name
Definition menu.qh:30
const int BOT_CMD_AIMTARGET
Definition scripting.qh:32
const int BOT_CMD_AIM
Definition scripting.qh:25
void bot_resetqueues()
entity find_bot_by_number(float number)
Definition scripting.qc:246
entity bot_cmd_current
Definition scripting.qh:60
const int BOT_CMD_PARAMETER_FLOAT
Definition scripting.qh:50
const int BOT_CMD_PARAMETER_NONE
Definition scripting.qh:49
const int BOT_CMD_CC
Definition scripting.qh:20
entity find_bot_by_name(string name)
Definition scripting.qc:235
const int BOT_CMD_PRESSKEY
Definition scripting.qh:26
void bot_queuecommand(entity bot, string cmdstring)
Definition scripting.qc:30
float bot_cmd_parm_float
Definition scripting.qh:64
const int BOT_CMD_WAIT_UNTIL
Definition scripting.qh:30
string bot_cmd_parm_string
Definition scripting.qh:65
vector bot_cmd_parm_vector
Definition scripting.qh:66
void bot_cmdhelp(string scmd)
Definition scripting.qc:331
const int BOT_CMD_CONSOLE
Definition scripting.qh:34
const int BOT_CMD_ELSE
Definition scripting.qh:22
const int BOT_CMD_IF
Definition scripting.qh:21
const int BOT_CMD_DEBUG_ASSERT_CANFIRE
Definition scripting.qh:36
string bot_cmd_string[BOT_CMD_COUNTER]
Definition scripting.qh:56
const int BOT_CMD_FI
Definition scripting.qh:23
const int BOT_CMD_SOUND
Definition scripting.qh:35
const int BOT_CMD_NULL
Definition scripting.qh:13
const int BOT_CMD_RELEASEKEY
Definition scripting.qh:27
float bot_barrier
Definition scripting.qh:69
float bot_cmd_index
Definition scripting.qh:62
const int BOT_CMD_MOVETOTARGET
Definition scripting.qh:31
const int BOT_CMD_PAUSE
Definition scripting.qh:14
const int BOT_CMD_CONTINUE
Definition scripting.qh:15
const int BOT_CMD_MOVETO
Definition scripting.qh:18
const int BOT_CMD_SELECTWEAPON
Definition scripting.qh:28
float bot_barriertime
Definition scripting.qh:68
void bot_list_commands()
Definition scripting.qc:444
const int BOT_CMD_PARAMETER_VECTOR
Definition scripting.qh:52
float bot_execute_commands(entity this)
const int BOT_CMD_COUNTER
Definition scripting.qh:41
const int BOT_CMD_PARAMETER_STRING
Definition scripting.qh:51
const int BOT_CMD_IMPULSE
Definition scripting.qh:29
const int BOT_CMD_BARRIER
Definition scripting.qh:33
const int BOT_CMD_WAIT
Definition scripting.qh:16
entity bot_cmd
Definition scripting.qh:59
bool bot_ispaused(entity this)
const int BOT_CMD_TURN
Definition scripting.qh:17
int bot_cmd_parm_type[BOT_CMD_COUNTER]
Definition scripting.qh:55
const int BOT_CMD_RESETGOAL
Definition scripting.qh:19
int bot_cmd_type
Definition scripting.qh:63
const int BOT_CMD_RESETAIM
Definition scripting.qh:24
float bot_cmds_initialized
Definition scripting.qh:54
float bot_cmd_execution_index
Definition scripting.qh:71
vector
Definition self.qh:92
int int number
Definition impulse.qc:89