本文整理汇总了C++中FloatTime函数的典型用法代码示例。如果您正苦于以下问题:C++ FloatTime函数的具体用法?C++ FloatTime怎么用?C++ FloatTime使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了FloatTime函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: BotMatch_GetItem
/*
==================
BotMatch_GetItem
==================
*/
void BotMatch_GetItem(bot_state_t *bs, bot_match_t *match) {
char itemname[MAX_MESSAGE_SIZE];
char netname[MAX_MESSAGE_SIZE];
int client;
if (!TeamPlayIsOn()) return;
//if not addressed to this bot
if (!BotAddressedToBot(bs, match)) return;
//get the match variable
trap_BotMatchVariable(match, ITEM, itemname, sizeof(itemname));
//
if (!BotGetMessageTeamGoal(bs, itemname, &bs->teamgoal)) {
//BotAI_BotInitialChat(bs, "cannotfind", itemname, NULL);
//trap_BotEnterChat(bs->cs, bs->client, CHAT_TEAM);
return;
}
trap_BotMatchVariable(match, NETNAME, netname, sizeof(netname));
client = ClientOnSameTeamFromName(bs, netname);
//
bs->decisionmaker = client;
bs->ordered = qtrue;
bs->order_time = FloatTime();
//set the time to send a message to the team mates
bs->teammessage_time = FloatTime() + 2 * random();
//set the ltg type
bs->ltgtype = LTG_GETITEM;
//set the team goal time
bs->teamgoal_time = FloatTime() + TEAM_GETITEM_TIME;
//
BotSetTeamStatus(bs);
#ifdef DEBUG
BotPrintTeamGoal(bs);
#endif //DEBUG
}
开发者ID:AHPlankton,项目名称:Quake-III-Arena,代码行数:39,代码来源:ai_cmd.c
示例2: BotVoiceChat_ReturnFlag
/*
==================
BotVoiceChat_ReturnFlag
==================
*/
void BotVoiceChat_ReturnFlag(bot_state_t *bs, int client, int mode) {
/* LQ3A */
UNREFERENCED_PARAMETER(mode);
//if not in CTF mode
if (
gametype != GT_CTF
#ifdef MISSIONPACK
&& gametype != GT_1FCTF
#endif
) {
return;
}
//
bs->decisionmaker = client;
bs->ordered = qtrue;
bs->order_time = FloatTime();
//set the time to send a message to the team mates
bs->teammessage_time = FloatTime() + 2 * random();
//set the ltg type
bs->ltgtype = LTG_RETURNFLAG;
//set the team goal time
bs->teamgoal_time = FloatTime() + CTF_RETURNFLAG_TIME;
bs->rushbaseaway_time = 0;
BotSetTeamStatus(bs);
#ifdef DEBUG
BotPrintTeamGoal(bs);
#endif //DEBUG
}
开发者ID:monoknot,项目名称:loaded-q3a,代码行数:35,代码来源:ai_vcmd.c
示例3: BotMatch_Patrol
/*
==================
BotMatch_Patrol
==================
*/
void BotMatch_Patrol(bot_state_t *bs, bot_match_t *match) {
char netname[MAX_MESSAGE_SIZE];
int client;
if (!TeamPlayIsOn()) return;
//if not addressed to this bot
if (!BotAddressedToBot(bs, match)) return;
//get the patrol waypoints
if (!BotGetPatrolWaypoints(bs, match)) return;
//
trap_BotMatchVariable(match, NETNAME, netname, sizeof(netname));
//
client = FindClientByName(netname);
//
bs->decisionmaker = client;
bs->ordered = qtrue;
bs->order_time = FloatTime();
//set the time to send a message to the team mates
bs->teammessage_time = FloatTime() + 2 * random();
//set the ltg type
bs->ltgtype = LTG_PATROL;
//get the team goal time
bs->teamgoal_time = BotGetTime(match);
//set the team goal time if not set already
if (!bs->teamgoal_time) bs->teamgoal_time = FloatTime() + TEAM_PATROL_TIME;
//
BotSetTeamStatus(bs);
// remember last ordered task
BotRememberLastOrderedTask(bs);
#ifdef DEBUG
BotPrintTeamGoal(bs);
#endif //DEBUG
}
开发者ID:AHPlankton,项目名称:Quake-III-Arena,代码行数:38,代码来源:ai_cmd.c
示例4: BotAIRegularUpdate
/*
==============
BotAIRegularUpdate
==============
*/
void BotAIRegularUpdate(void)
{
if (regularupdate_time < FloatTime()) {
trap_BotUpdateEntityItems();
regularupdate_time = FloatTime() + 0.3;
}
}
开发者ID:zturtleman,项目名称:reaction,代码行数:12,代码来源:ai_main.c
示例5: BotMatch_Kill
/*
==================
BotMatch_Kill
==================
*/
void BotMatch_Kill(bot_state_t *bs, bot_match_t *match) {
char enemy[MAX_MESSAGE_SIZE];
char netname[MAX_MESSAGE_SIZE];
int client;
if (!TeamPlayIsOn()) return;
//if not addressed to this bot
if (!BotAddressedToBot(bs, match)) return;
trap_BotMatchVariable(match, ENEMY, enemy, sizeof(enemy));
//
client = FindEnemyByName(bs, enemy);
if (client < 0) {
BotAI_BotInitialChat(bs, "whois", enemy, NULL);
trap_BotMatchVariable(match, NETNAME, netname, sizeof(netname));
client = ClientFromName(netname);
trap_BotEnterChat(bs->cs, client, CHAT_TELL);
return;
}
bs->teamgoal.entitynum = client;
//set the time to send a message to the team mates
bs->teammessage_time = FloatTime() + 2 * random();
//set the ltg type
bs->ltgtype = LTG_KILL;
//set the team goal time
bs->teamgoal_time = FloatTime() + TEAM_KILL_SOMEONE;
//
BotSetTeamStatus(bs);
#ifdef DEBUG
BotPrintTeamGoal(bs);
#endif //DEBUG
}
开发者ID:AHPlankton,项目名称:Quake-III-Arena,代码行数:37,代码来源:ai_cmd.c
示例6: BotChat_StartLevel
/*
==================
BotChat_StartLevel
==================
*/
int BotChat_StartLevel(bot_state_t *bs) {
char name[32];
float rnd;
if (bot_nochat.integer) return qfalse;
if (BotIsObserver(bs)) return qfalse;
if (bs->lastchat_time > FloatTime() - TIME_BETWEENCHATTING) return qfalse;
//don't chat in teamplay
if (TeamPlayIsOn()) {
#ifdef MISSIONPACK
trap_EA_Command(bs->client, "vtaunt");
#endif
return qfalse;
}
// don't chat in tournament mode
if (gametype == GT_TOURNAMENT) return qfalse;
rnd = trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_STARTENDLEVEL, 0, 1);
if (!bot_fastchat.integer) {
if (random() > rnd) return qfalse;
}
if (BotNumActivePlayers() <= 1) return qfalse;
BotAI_BotInitialChat(bs, "level_start",
EasyClientName(bs->client, name, 32), // 0
NULL);
bs->lastchat_time = FloatTime();
bs->chatto = CHAT_ALL;
return qtrue;
}
开发者ID:MAN-AT-ARMS,项目名称:ioq3,代码行数:33,代码来源:ai_chat.c
示例7: BotMatch_ReturnFlag
/*
==================
BotMatch_ReturnFlag
==================
*/
void BotMatch_ReturnFlag(bot_state_t *bs, bot_match_t *match) {
char netname[MAX_MESSAGE_SIZE];
int playernum;
//if not in CTF mode
if (
gametype != GT_CTF
#ifdef MISSIONPACK
&& gametype != GT_1FCTF
#endif
)
return;
//if not addressed to this bot
if (!BotAddressedToBot(bs, match))
return;
//
BotMatchVariable(match, NETNAME, netname, sizeof(netname));
//
playernum = FindPlayerByName(netname);
//
bs->decisionmaker = playernum;
bs->ordered = qtrue;
bs->order_time = FloatTime();
//set the time to send a message to the team mates
bs->teammessage_time = FloatTime() + 2 * random();
//set the ltg type
bs->ltgtype = LTG_RETURNFLAG;
//set the team goal time
bs->teamgoal_time = FloatTime() + CTF_RETURNFLAG_TIME;
bs->rushbaseaway_time = 0;
//
BotSetTeamStatus(bs);
BotPrintTeamGoal(bs);
}
开发者ID:coltongit,项目名称:mint-arena,代码行数:39,代码来源:ai_cmd.c
示例8: BotChat_Kill
/*
==================
BotChat_Kill
==================
*/
int BotChat_Kill(bot_state_t *bs) {
char name[32];
float rnd;
if (bot_nochat.integer) return qfalse;
if (bs->lastchat_time > FloatTime() - TIME_BETWEENCHATTING) return qfalse;
rnd = trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_KILL, 0, 1);
// don't chat in tournament mode
if (gametype == GT_TOURNAMENT) return qfalse;
//if fast chat is off
if (!bot_fastchat.integer) {
if (random() > rnd) return qfalse;
}
if (bs->lastkilledplayer == bs->client) return qfalse;
if (BotNumActivePlayers() <= 1) return qfalse;
if (!BotValidChatPosition(bs)) return qfalse;
//
if (BotVisibleEnemies(bs)) return qfalse;
//
EasyClientName(bs->lastkilledplayer, name, 32);
//
bs->chatto = CHAT_ALL;
if (TeamPlayIsOn() && BotSameTeam(bs, bs->lastkilledplayer)) {
BotAI_BotInitialChat(bs, "kill_teammate", name, NULL);
bs->chatto = CHAT_TEAM;
}
else
{
//don't chat in teamplay
if (TeamPlayIsOn()) {
#ifdef MISSIONPACK
trap_EA_Command(bs->client, "vtaunt");
#endif
return qfalse; // don't wait
}
//
if (bs->enemydeathtype == MOD_GAUNTLET) {
BotAI_BotInitialChat(bs, "kill_gauntlet", name, NULL);
}
else if (bs->enemydeathtype == MOD_RAILGUN) {
BotAI_BotInitialChat(bs, "kill_rail", name, NULL);
}
else if (bs->enemydeathtype == MOD_TELEFRAG) {
BotAI_BotInitialChat(bs, "kill_telefrag", name, NULL);
}
#ifdef MISSIONPACK
else if (bs->botdeathtype == MOD_KAMIKAZE && trap_BotNumInitialChats(bs->cs, "kill_kamikaze"))
BotAI_BotInitialChat(bs, "kill_kamikaze", name, NULL);
#endif
//choose between insult and praise
else if (random() < trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_INSULT, 0, 1)) {
BotAI_BotInitialChat(bs, "kill_insult", name, NULL);
}
else {
BotAI_BotInitialChat(bs, "kill_praise", name, NULL);
}
}
bs->lastchat_time = FloatTime();
return qtrue;
}
开发者ID:MAN-AT-ARMS,项目名称:ioq3,代码行数:65,代码来源:ai_chat.c
示例9: BotMatch_CatchMe
void BotMatch_CatchMe(bot_state_t *bs, bot_match_t *match){
char netname[MAX_MESSAGE_SIZE];
int client;
//if not addressed to this bot
if ( !TeamPlayIsOn() || !BotAddressedToBot(bs, match) ) return;
// who wants me to to come?
trap_BotMatchVariable(match, NETNAME, netname, sizeof(netname));
client = ClientOnSameTeamFromName(bs, netname);
bs->teammate = client;
bs->teammatevisible_time = FloatTime(); //last time the team mate was assumed visible
bs->decisionmaker = client;
// bs->ordered = qtrue;
//bs->order_time = FloatTime();
//set the time to send a message to the team mates
bs->teammessage_time = FloatTime() + 2 * random();
//set the ltg type
bs->ltgtype = LTG_JOINMATE;
//set the team goal time
bs->teamgoal_time = FloatTime() + 300; // 5 minutes
}
开发者ID:PadWorld-Entertainment,项目名称:wop-gamesource,代码行数:25,代码来源:ai_cmd.c
示例10: BotChat_HitTalking
/*
==================
BotChat_HitTalking
==================
*/
int BotChat_HitTalking(bot_state_t *bs) {
char name[32], *weap;
int lasthurt_client;
float rnd;
if (bot_nochat.integer) return qfalse;
if (bs->lastchat_time > FloatTime() - TIME_BETWEENCHATTING) return qfalse;
if (BotNumActivePlayers() <= 1) return qfalse;
lasthurt_client = g_entities[bs->client].client->lasthurt_client;
if (!lasthurt_client) return qfalse;
if (lasthurt_client == bs->client) return qfalse;
//
if (lasthurt_client < 0 || lasthurt_client >= MAX_CLIENTS) return qfalse;
//
rnd = trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_HITTALKING, 0, 1);
//don't chat in teamplay
if (TeamPlayIsOn()) return qfalse;
// don't chat in tournament mode
if (gametype == GT_TOURNAMENT) return qfalse;
//if fast chat is off
if (!bot_fastchat.integer) {
if (random() > rnd * 0.5) return qfalse;
}
if (!BotValidChatPosition(bs)) return qfalse;
//
ClientName(g_entities[bs->client].client->lasthurt_client, name, sizeof(name));
weap = BotWeaponNameForMeansOfDeath(g_entities[bs->client].client->lasthurt_mod);
//
BotAI_BotInitialChat(bs, "hit_talking", name, weap, NULL);
bs->lastchat_time = FloatTime();
bs->chatto = CHAT_ALL;
return qtrue;
}
开发者ID:MAN-AT-ARMS,项目名称:ioq3,代码行数:38,代码来源:ai_chat.c
示例11: BotChat_EnemySuicide
/*
==================
BotChat_EnemySuicide
==================
*/
int BotChat_EnemySuicide(bot_state_t *bs) {
char name[32];
float rnd;
if (bot_nochat.integer) return qfalse;
if (bs->lastchat_time > FloatTime() - TIME_BETWEENCHATTING) return qfalse;
if (BotNumActivePlayers() <= 1) return qfalse;
//
rnd = trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_ENEMYSUICIDE, 0, 1);
//don't chat in teamplay
if (TeamPlayIsOn()) return qfalse;
// don't chat in tournament mode
if (gametype == GT_TOURNAMENT) return qfalse;
//if fast chat is off
if (!bot_fastchat.integer) {
if (random() > rnd) return qfalse;
}
if (!BotValidChatPosition(bs)) return qfalse;
//
if (BotVisibleEnemies(bs)) return qfalse;
//
if (bs->enemy >= 0) EasyClientName(bs->enemy, name, 32);
else strcpy(name, "");
BotAI_BotInitialChat(bs, "enemy_suicide", name, NULL);
bs->lastchat_time = FloatTime();
bs->chatto = CHAT_ALL;
return qtrue;
}
开发者ID:MAN-AT-ARMS,项目名称:ioq3,代码行数:33,代码来源:ai_chat.c
示例12: BotChat_ExitGame
/*
==================
BotChat_ExitGame
==================
*/
int BotChat_ExitGame(bot_state_t *bs) {
char name[32];
float rnd;
if (bot_nochat.integer) return qfalse;
if (bs->lastchat_time > FloatTime() - TIME_BETWEENCHATTING) return qfalse;
//don't chat in teamplay
if (TeamPlayIsOn()) return qfalse;
// don't chat in tournament mode
if (gametype == GT_TOURNAMENT) return qfalse;
rnd = trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_ENTEREXITGAME, 0, 1);
if (!bot_fastchat.integer) {
if (random() > rnd) return qfalse;
}
if (BotNumActivePlayers() <= 1) return qfalse;
//
BotAI_BotInitialChat(bs, "game_exit",
EasyClientName(bs->client, name, 32), // 0
BotRandomOpponentName(bs), // 1
"[invalid var]", // 2
"[invalid var]", // 3
BotMapTitle(), // 4
NULL);
bs->lastchat_time = FloatTime();
bs->chatto = CHAT_ALL;
return qtrue;
}
开发者ID:MAN-AT-ARMS,项目名称:ioq3,代码行数:32,代码来源:ai_chat.c
示例13: BotChat_HitNoKill
/*
==================
BotChat_HitNoKill
==================
*/
int BotChat_HitNoKill(bot_state_t *bs) {
char name[32], *weap;
float rnd;
aas_entityinfo_t entinfo;
if (bot_nochat.integer) return qfalse;
if (bs->lastchat_time > FloatTime() - TIME_BETWEENCHATTING) return qfalse;
if (BotNumActivePlayers() <= 1) return qfalse;
rnd = trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_HITNOKILL, 0, 1);
//don't chat in teamplay
if (TeamPlayIsOn()) return qfalse;
// don't chat in tournament mode
if (gametype == GT_TOURNAMENT) return qfalse;
//if fast chat is off
if (!bot_fastchat.integer) {
if (random() > rnd * 0.5) return qfalse;
}
if (!BotValidChatPosition(bs)) return qfalse;
//
if (BotVisibleEnemies(bs)) return qfalse;
//
BotEntityInfo(bs->enemy, &entinfo);
if (EntityIsShooting(&entinfo)) return qfalse;
//
ClientName(bs->enemy, name, sizeof(name));
weap = BotWeaponNameForMeansOfDeath(g_entities[bs->enemy].client->lasthurt_mod);
//
BotAI_BotInitialChat(bs, "hit_nokill", name, weap, NULL);
bs->lastchat_time = FloatTime();
bs->chatto = CHAT_ALL;
return qtrue;
}
开发者ID:MAN-AT-ARMS,项目名称:ioq3,代码行数:37,代码来源:ai_chat.c
示例14: BotMatch_Harvest
/*
==================
BotMatch_Harvest
==================
*/
void BotMatch_Harvest(bot_state_t *bs, bot_match_t *match) {
char netname[MAX_MESSAGE_SIZE];
int playernum;
if (gametype == GT_HARVESTER) {
if (!neutralobelisk.areanum || !redobelisk.areanum || !blueobelisk.areanum)
return;
}
else {
return;
}
//if not addressed to this bot
if (!BotAddressedToBot(bs, match)) return;
//
BotMatchVariable(match, NETNAME, netname, sizeof(netname));
//
playernum = FindPlayerByName(netname);
//
bs->decisionmaker = playernum;
bs->ordered = qtrue;
bs->order_time = FloatTime();
//set the time to send a message to the team mates
bs->teammessage_time = FloatTime() + 2 * random();
//set the ltg type
bs->ltgtype = LTG_HARVEST;
//set the team goal time
bs->teamgoal_time = FloatTime() + TEAM_HARVEST_TIME;
bs->harvestaway_time = 0;
//
BotSetTeamStatus(bs);
// remember last ordered task
BotRememberLastOrderedTask(bs);
BotPrintTeamGoal(bs);
}
开发者ID:coltongit,项目名称:mint-arena,代码行数:39,代码来源:ai_cmd.c
示例15: BotAIRegularUpdate
/*
==============
BotAIRegularUpdate
==============
*/
void BotAIRegularUpdate(void)
{
if (regularupdate_time < FloatTime())
{
botlib_export->ai.BotUpdateEntityItems();
regularupdate_time = FloatTime() + 0.3;
}
}
开发者ID:zturtleman,项目名称:recoil,代码行数:13,代码来源:ai_main.c
示例16: BotVoiceChat_Defend
/*
==================
BotVoiceChat_Defend
==================
*/
void BotVoiceChat_Defend(bot_state_t *bs, int client, int mode) {
Q_UNUSED(mode);
#ifdef MISSIONPACK
if ( gametype == GT_OBELISK || gametype == GT_HARVESTER) {
//
switch(BotTeam(bs)) {
case TEAM_RED:
memcpy(&bs->teamgoal, &redobelisk, sizeof(bot_goal_t));
break;
case TEAM_BLUE:
memcpy(&bs->teamgoal, &blueobelisk, sizeof(bot_goal_t));
break;
default:
return;
}
}
else
#endif
if (gametype == GT_CTF
#ifdef MISSIONPACK
|| gametype == GT_1FCTF
#endif
) {
//
switch(BotTeam(bs)) {
case TEAM_RED:
memcpy(&bs->teamgoal, &ctf_redflag, sizeof(bot_goal_t));
break;
case TEAM_BLUE:
memcpy(&bs->teamgoal, &ctf_blueflag, sizeof(bot_goal_t));
break;
default:
return;
}
}
else {
return;
}
//
bs->decisionmaker = client;
bs->ordered = qtrue;
bs->order_time = FloatTime();
//set the time to send a message to the team mates
bs->teammessage_time = FloatTime() + 2 * random();
//set the ltg type
bs->ltgtype = LTG_DEFENDKEYAREA;
//get the team goal time
bs->teamgoal_time = FloatTime() + TEAM_DEFENDKEYAREA_TIME;
//away from defending
bs->defendaway_time = 0;
//
BotSetTeamStatus(bs);
// remember last ordered task
BotRememberLastOrderedTask(bs);
#ifdef DEBUG
BotPrintTeamGoal(bs);
#endif //DEBUG
}
开发者ID:UberGames,项目名称:EF2GameSource,代码行数:63,代码来源:ai_vcmd.cpp
示例17: BotVoiceChat_Camp
/*
==================
BotVoiceChat_Camp
==================
*/
void
BotVoiceChat_Camp(bot_state_t * bs, int client, int mode)
{
int areanum;
aas_entityinfo_t entinfo;
char netname[MAX_NETNAME];
//
bs->teamgoal.entitynum = -1;
BotEntityInfo(client, &entinfo);
//if info is valid (in PVS)
if (entinfo.valid)
{
areanum = BotPointAreaNum(entinfo.origin);
if (areanum)
{ // && trap_AAS_AreaReachability(areanum)) {
//NOTE: just assume the bot knows where the person is
//if (BotEntityVisible(bs->entitynum, bs->eye, bs->viewangles, 360, client)) {
bs->teamgoal.entitynum = client;
bs->teamgoal.areanum = areanum;
VectorCopy(entinfo.origin, bs->teamgoal.origin);
VectorSet(bs->teamgoal.mins, -8, -8, -8);
VectorSet(bs->teamgoal.maxs, 8, 8, 8);
//}
}
}
//if the other is not visible
if (bs->teamgoal.entitynum < 0)
{
BotAI_BotInitialChat(bs, "whereareyou",
EasyClientName(client, netname,
sizeof(netname)), NULL);
trap_BotEnterChat(bs->cs, client, CHAT_TELL);
return;
}
//
bs->decisionmaker = client;
bs->ordered = qtrue;
bs->order_time = FloatTime();
//set the time to send a message to the team mates
bs->teammessage_time = FloatTime() + 2 * random();
//set the ltg type
bs->ltgtype = LTG_CAMPORDER;
//get the team goal time
bs->teamgoal_time = FloatTime() + TEAM_CAMP_TIME;
//the teammate that requested the camping
bs->teammate = client;
//not arrived yet
bs->arrive_time = 0;
//
BotSetTeamStatus(bs);
// remember last ordered task
BotRememberLastOrderedTask(bs);
#ifdef DEBUG
BotPrintTeamGoal(bs);
#endif //DEBUG
}
开发者ID:lrq3000,项目名称:ioquake3-anti-cheat,代码行数:62,代码来源:ai_vcmd.c
示例18: BotChat_EndLevel
/*
==================
BotChat_EndLevel
==================
*/
int BotChat_EndLevel(bot_state_t *bs) {
char name[32];
float rnd;
if (bot_nochat.integer) return qfalse;
if (BotIsObserver(bs)) return qfalse;
if (bs->lastchat_time > FloatTime() - TIME_BETWEENCHATTING) return qfalse;
// teamplay
if (TeamPlayIsOn())
{
#ifdef MISSIONPACK
if (BotIsFirstInRankings(bs)) {
trap_EA_Command(bs->client, "vtaunt");
}
#endif
return qtrue;
}
// don't chat in tournament mode
if (gametype == GT_TOURNAMENT) return qfalse;
rnd = trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_STARTENDLEVEL, 0, 1);
if (!bot_fastchat.integer) {
if (random() > rnd) return qfalse;
}
if (BotNumActivePlayers() <= 1) return qfalse;
//
if (BotIsFirstInRankings(bs)) {
BotAI_BotInitialChat(bs, "level_end_victory",
EasyClientName(bs->client, name, 32), // 0
BotRandomOpponentName(bs), // 1
"[invalid var]", // 2
BotLastClientInRankings(), // 3
BotMapTitle(), // 4
NULL);
}
else if (BotIsLastInRankings(bs)) {
BotAI_BotInitialChat(bs, "level_end_lose",
EasyClientName(bs->client, name, 32), // 0
BotRandomOpponentName(bs), // 1
BotFirstClientInRankings(), // 2
"[invalid var]", // 3
BotMapTitle(), // 4
NULL);
}
else {
BotAI_BotInitialChat(bs, "level_end",
EasyClientName(bs->client, name, 32), // 0
BotRandomOpponentName(bs), // 1
BotFirstClientInRankings(), // 2
BotLastClientInRankings(), // 3
BotMapTitle(), // 4
NULL);
}
bs->lastchat_time = FloatTime();
bs->chatto = CHAT_ALL;
return qtrue;
}
开发者ID:MAN-AT-ARMS,项目名称:ioq3,代码行数:61,代码来源:ai_chat.c
示例19: BotVoiceChat_FollowMe
/*
==================
BotVoiceChat_FollowMe
==================
*/
void
BotVoiceChat_FollowMe(bot_state_t * bs, int client, int mode)
{
int areanum;
aas_entityinfo_t entinfo;
char netname[MAX_NETNAME];
bs->teamgoal.entitynum = -1;
BotEntityInfo(client, &entinfo);
//if info is valid (in PVS)
if (entinfo.valid)
{
areanum = BotPointAreaNum(entinfo.origin);
if (areanum)
{ // && trap_AAS_AreaReachability(areanum)) {
bs->teamgoal.entitynum = client;
bs->teamgoal.areanum = areanum;
VectorCopy(entinfo.origin, bs->teamgoal.origin);
VectorSet(bs->teamgoal.mins, -8, -8, -8);
VectorSet(bs->teamgoal.maxs, 8, 8, 8);
}
}
//if the other is not visible
if (bs->teamgoal.entitynum < 0)
{
BotAI_BotInitialChat(bs, "whereareyou",
EasyClientName(client, netname,
sizeof(netname)), NULL);
trap_BotEnterChat(bs->cs, client, CHAT_TELL);
return;
}
//
bs->decisionmaker = client;
bs->ordered = qtrue;
bs->order_time = FloatTime();
//the team mate
bs->teammate = client;
//last time the team mate was assumed visible
bs->teammatevisible_time = FloatTime();
//set the time to send a message to the team mates
bs->teammessage_time = FloatTime() + 2 * random();
//get the team goal time
bs->teamgoal_time = FloatTime() + TEAM_ACCOMPANY_TIME;
//set the ltg type
bs->ltgtype = LTG_TEAMACCOMPANY;
bs->formation_dist = 3.5 * 32; //3.5 meter
bs->arrive_time = 0;
//
BotSetTeamStatus(bs);
// remember last ordered task
BotRememberLastOrderedTask(bs);
#ifdef DEBUG
BotPrintTeamGoal(bs);
#endif //DEBUG
}
开发者ID:lrq3000,项目名称:ioquake3-anti-cheat,代码行数:60,代码来源:ai_vcmd.c
示例20: BotGetTime
/*
==================
BotGetTime
==================
*/
float BotGetTime(bot_match_t *match) {
bot_match_t timematch;
char timestring[MAX_MESSAGE_SIZE];
float t;
//if the matched string has a time
if (match->subtype & ST_TIME) {
//get the time string
trap_BotMatchVariable(match, TIME, timestring, MAX_MESSAGE_SIZE);
//match it to find out if the time is in seconds or minutes
if (trap_BotFindMatch(timestring, &timematch, MTCONTEXT_TIME)) {
if (timematch.type == MSG_FOREVER) {
t = 99999999.0f;
}
else if (timematch.type == MSG_FORAWHILE) {
t = 10 * 60; // 10 minutes
}
else if (timematch.type == MSG_FORALONGTIME) {
t = 30 * 60; // 30 minutes
}
else {
trap_BotMatchVariable(&timematch, TIME, timestring, MAX_MESSAGE_SIZE);
if (timematch.type == MSG_MINUTES) t = atof(timestring) * 60;
else if (timematch.type == MSG_SECONDS) t = atof(timestring);
else t = 0;
}
//if there's a valid time
if (t > 0) return FloatTime() + t;
}
}
return 0;
}
开发者ID:AHPlankton,项目名称:Quake-III-Arena,代码行数:37,代码来源:ai_cmd.c
注:本文中的FloatTime函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论