// Returns first bot with matching name
entity find_bot_by_name(string name)
{
- local entity bot;
+ entity bot;
bot = findchainflags(flags, FL_CLIENT);
while (bot)
// Returns a bot by number on list
entity find_bot_by_number(float number)
{
- local entity bot;
- local float c;
+ entity bot;
+ float c;
if(!number)
return world;
float bot_decodecommand(string cmdstring)
{
- local float cmd_parm_type, i;
+ float cmd_parm_type, i;
float sp;
string parm;
void bot_cmdhelp(string scmd)
{
- local float i, ntype;
- local string stype;
+ float i, ntype;
+ string stype;
if(!bot_cmds_initialized)
bot_commands_init();
void bot_list_commands()
{
- local float i;
- local string ptype;
+ float i;
+ string ptype;
if(!bot_cmds_initialized)
bot_commands_init();
print("List of all available commands:\n");
- print(" Command\t\t\t\tParameter Type\n");
+ print(" Command - Parameter Type\n");
for(i=1;i<BOT_CMD_COUNTER;++i)
{
ptype = "none";
break;
}
- print(strcat(" ",bot_cmd_string[i],"\t\t\t\t<",ptype,"> \n"));
+ print(strcat(" ",bot_cmd_string[i]," - <",ptype,"> \n"));
}
}
float bot_cmd_select_weapon()
{
- local float id;
+ float id;
id = bot_cmd.bot_cmd_parm_float;
float bot_cmd_if()
{
- local string expr, val_a, val_b;
- local float cmpofs;
+ string expr, val_a, val_b;
+ float cmpofs;
if(self.bot_cmd_condition_status != CMD_CONDITION_NONE)
{
// Current direction
if(self.bot_cmd_aim_endtime)
{
- local float progress;
+ float progress;
progress = min(1 - (self.bot_cmd_aim_endtime - time) / (self.bot_cmd_aim_endtime - self.bot_cmd_aim_begintime),1);
self.v_angle = self.bot_cmd_aim_begin + ((self.bot_cmd_aim_end - self.bot_cmd_aim_begin) * progress);
}
// New aiming direction
- local string parms;
- local float tokens, step;
+ string parms;
+ float tokens, step;
parms = bot_cmd.bot_cmd_parm_string;
tokens = tokenizebyseparator(parms, " ");
- if(tokens==2)
+ if(tokens<2||tokens>3)
+ return CMD_STATUS_ERROR;
+
+ step = (tokens == 3) ? stof(argv(2)) : 0;
+
+ if(step == 0)
{
self.v_angle_x -= stof(argv(1));
self.v_angle_y += stof(argv(0));
return CMD_STATUS_FINISHED;
}
- if(tokens<2||tokens>3)
- return CMD_STATUS_ERROR;
-
- step = stof(argv(2));
-
self.bot_cmd_aim_begin = self.v_angle;
self.bot_cmd_aim_end_x = self.v_angle_x - stof(argv(1));
return bot_cmd_aim();
}
- local entity e;
- local string parms;
- local vector v;
- local float tokens, step;
+ entity e;
+ string parms;
+ vector v;
+ float tokens, step;
parms = bot_cmd.bot_cmd_parm_string;
float bot_cmd_presskey()
{
- local string key;
+ string key;
key = bot_cmd.bot_cmd_parm_string;
float bot_cmd_releasekey()
{
- local string key;
+ string key;
key = bot_cmd.bot_cmd_parm_string;
// NOTE: Of course you need to include your commands here too :)
float bot_execute_commands_once()
{
- local float status, ispressingkey;
+ float status, ispressingkey;
// Find command
bot_setcurrentcommand();
{
if(autocvar_g_debug_bot_commands)
{
- local string parms;
+ string parms;
switch(bot_cmd_parm_type[bot_cmd.bot_cmd_type])
{