本文整理汇总了C++中ClientName函数的典型用法代码示例。如果您正苦于以下问题:C++ ClientName函数的具体用法?C++ ClientName怎么用?C++ ClientName使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ClientName函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: FindClientByName
/*
=======================================================================================================================================
FindClientByName
=======================================================================================================================================
*/
int FindClientByName(char *name) {
int i;
char buf[MAX_INFO_STRING];
static int maxclients;
if (!maxclients) {
maxclients = trap_Cvar_VariableIntegerValue("sv_maxclients");
}
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
ClientName(i, buf, sizeof(buf));
if (!Q_stricmp(buf, name)) {
return i;
}
}
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
ClientName(i, buf, sizeof(buf));
if (stristr(buf, name)) {
return i;
}
}
return -1;
}
开发者ID:ioid3-games,项目名称:ioid3-rtcw,代码行数:32,代码来源:ai_cmd.c
示例2: FindEnemyByName
/*
=======================================================================================================================================
FindEnemyByName
=======================================================================================================================================
*/
int FindEnemyByName(bot_state_t *bs, char *name) {
int i;
char buf[MAX_INFO_STRING];
static int maxclients;
if (!maxclients) {
maxclients = trap_Cvar_VariableIntegerValue("sv_maxclients");
}
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
if (BotSameTeam(bs, i)) {
continue;
}
ClientName(i, buf, sizeof(buf));
if (!Q_stricmp(buf, name)) {
return i;
}
}
for (i = 0; i < maxclients && i < MAX_CLIENTS; i++) {
if (BotSameTeam(bs, i)) {
continue;
}
ClientName(i, buf, sizeof(buf));
if (stristr(buf, name)) {
return i;
}
}
return -1;
}
开发者ID:ioid3-games,项目名称:ioid3-rtcw,代码行数:40,代码来源:ai_cmd.c
示例3: server
Bridge::Bridge(ulen num_clients)
: server(*this),
clients(DoReserve,num_clients),
masters(DoReserve,num_clients+1),
msem("Bridge"),
mutex("Bridge"),
running(false)
{
masters.append_fill(server,ServerName());
for(ulen i=0; i<num_clients ;i++)
{
Client *client=clients.append_fill(*this,i+1);
masters.append_fill(*client,ClientName(i+1).str);
}
drop_rate=0;
drop_den=1;
to_server_format.prefix=11;
to_server_format.max_data=1100;
to_server_format.suffix=10;
to_client_format.prefix=13;
to_client_format.max_data=1000;
to_client_format.suffix=15;
}
开发者ID:SergeyStrukov,项目名称:CCore-2-99,代码行数:28,代码来源:Bridge.cpp
示例4: BotSetTeamMateCTFPreference
/*
==================
BotGetTeamMateCTFPreference
==================
*/
void BotSetTeamMateCTFPreference(bot_state_t *bs, int teammate, int preference) {
char teammatename[MAX_NETNAME];
ctftaskpreferences[teammate].preference = preference;
ClientName(teammate, teammatename, sizeof(teammatename));
strcpy(ctftaskpreferences[teammate].name, teammatename);
}
开发者ID:UberGames,项目名称:RPG-X2-rpgxEF,代码行数:12,代码来源:ai_team.c
示例5: BotAddressedToBot
/*
==================
BotAddressedToBot
==================
*/
int BotAddressedToBot(bot_state_t *bs, bot_match_t *match) {
char addressedto[MAX_MESSAGE_SIZE];
char netname[MAX_MESSAGE_SIZE];
//char name[MAX_MESSAGE_SIZE];
char botname[128];
int client;
//char buf[MAX_MESSAGE_SIZE];
trap_BotMatchVariable(match, NETNAME, netname, sizeof(netname));
client = ClientOnSameTeamFromName(bs, netname);
if (client < 0) return qfalse;
//if the message is addressed to someone
if (match->subtype & ST_ADDRESSED) {
// compare addressee with botname
trap_BotMatchVariable(match, ADDRESSEE, addressedto, sizeof(addressedto));
ClientName(bs->client, botname, 128);
// is that me?
if ( strlen(addressedto) && (stristr(botname, addressedto)) ){
return qtrue;
}
// no its not!
if( bot_developer.integer & AIDBG_CHAT){
//Com_sprintf(buf, sizeof(buf), "not addressed to me but %s", addressedto);
//trap_EA_Say(bs->client, buf);
}
return qfalse;
}
// not addressed, take it
return qtrue;
}
开发者ID:PadWorld-Entertainment,项目名称:wop-gamesource,代码行数:40,代码来源:ai_cmd.c
示例6: 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
示例7: FindHumanTeamLeader
/*
==================
FindHumanTeamLeader
==================
*/
int FindHumanTeamLeader(bot_state_t *bs)
{
int i;
for (i = 0; i < MAX_CLIENTS; i++)
{
if ( g_entities[i].inuse )
{
// if this player is not a bot
if ( !(g_entities[i].r.svFlags & SVF_BOT) )
{
// if this player is ok with being the leader
if (!notleader[i])
{
// if this player is on the same team
if ( BotSameTeam(bs, i) )
{
ClientName(i, bs->teamleader, sizeof(bs->teamleader));
// if not yet ordered to do anything
if ( !BotSetLastOrderedTask(bs) )
{
// go on defense by default
BotVoiceChat_Defend(bs, i, SAY_TELL);
}
return qtrue;
}
}
}
}
}
return qfalse;
}
开发者ID:zturtleman,项目名称:recoil,代码行数:37,代码来源:ai_team.c
示例8: BotMatch_StopTeamLeaderShip
/*
=======================================================================================================================================
BotMatch_StopTeamLeaderShip
=======================================================================================================================================
*/
void BotMatch_StopTeamLeaderShip(bot_state_t *bs, bot_match_t *match) {
int client;
char teammate[MAX_MESSAGE_SIZE];
char netname[MAX_MESSAGE_SIZE];
if (!TeamPlayIsOn()) {
return;
}
// get the team mate that stops being the team leader
trap_BotMatchVariable(match, TEAMMATE, teammate, sizeof(teammate));
// if chats for him or herself
if (match->subtype & ST_I) {
trap_BotMatchVariable(match, NETNAME, netname, sizeof(netname));
client = FindClientByName(netname);
}
// chats for someone else
else {
client = FindClientByName(teammate);
}
if (client >= 0) {
if (!Q_stricmp(bs->teamleader, ClientName(client, netname, sizeof(netname)))) {
bs->teamleader[0] = '\0';
}
}
}
开发者ID:ioid3-games,项目名称:ioid3-rtcw,代码行数:31,代码来源:ai_cmd.c
示例9: BotVoiceChat_StartLeader
/*
==================
BotVoiceChat_StartLeader
==================
*/
void BotVoiceChat_StartLeader(bot_state_t *bs, int client, int mode) {
/* LQ3A */
UNREFERENCED_PARAMETER(mode);
ClientName(client, bs->teamleader, sizeof(bs->teamleader));
}
开发者ID:monoknot,项目名称:loaded-q3a,代码行数:12,代码来源:ai_vcmd.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_HitNoDeath
/*
==================
BotChat_HitNoDeath
==================
*/
int BotChat_HitNoDeath( bot_state_t *bs ) {
char name[32];
const char* weap;
float rnd;
int lasthurt_client;
aas_entityinfo_t entinfo;
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;
}
//
if ( bot_nochat.integer ) {
return qfalse;
}
if ( bs->lastchat_time > trap_AAS_Time() - 3 ) {
return qfalse;
}
if ( BotNumActivePlayers() <= 1 ) {
return qfalse;
}
rnd = trap_Characteristic_BFloat( bs->character, CHARACTERISTIC_CHAT_HITNODEATH, 0, 1 );
//don't chat in teamplay
if ( TeamPlayIsOn() ) {
return qfalse;
}
//if fast chat is off
if ( !bot_fastchat.integer ) {
if ( random() > rnd * 0.5 ) {
return qfalse;
}
}
if ( !BotValidChatPosition( bs ) ) {
return qfalse;
}
//if the enemy is visible
if ( BotEntityVisible( bs->client, bs->eye, bs->viewangles, 360, bs->enemy ) ) {
return qfalse;
}
//
BotEntityInfo( bs->enemy, &entinfo );
if ( EntityIsShooting( &entinfo ) ) {
return qfalse;
}
//
ClientName( lasthurt_client, name, sizeof( name ) );
weap = BotWeaponNameForMeansOfDeath( g_entities[bs->client].client->lasthurt_mod );
//
BotAI_BotInitialChat( bs, "hit_nodeath", name, weap, NULL );
bs->lastchat_time = trap_AAS_Time();
bs->chatto = CHAT_ALL;
return qtrue;
}
开发者ID:bibendovsky,项目名称:rtcw,代码行数:65,代码来源:ai_chat.cpp
示例12: BotAddressedToBot
/*
==================
BotAddressedToBot
==================
*/
int BotAddressedToBot( bot_state_t *bs, bot_match_t *match ) {
char addressedto[MAX_MESSAGE_SIZE];
char netname[MAX_MESSAGE_SIZE];
char name[MAX_MESSAGE_SIZE];
char botname[128];
int client;
bot_match_t addresseematch;
trap_BotMatchVariable( match, NETNAME, netname, sizeof( netname ) );
client = ClientFromName( netname );
if ( client < 0 ) {
return qfalse;
}
if ( !BotSameTeam( bs, client ) ) {
return qfalse;
}
//if the message is addressed to someone
if ( match->subtype & ST_ADDRESSED ) {
trap_BotMatchVariable( match, ADDRESSEE, addressedto, sizeof( addressedto ) );
//the name of this bot
ClientName( bs->client, botname, 128 );
//
while ( trap_BotFindMatch( addressedto, &addresseematch, MTCONTEXT_ADDRESSEE ) ) {
if ( addresseematch.type == MSG_EVERYONE ) {
return qtrue;
} else if ( addresseematch.type == MSG_MULTIPLENAMES ) {
trap_BotMatchVariable( &addresseematch, TEAMMATE, name, sizeof( name ) );
if ( strlen( name ) ) {
if ( stristr( botname, name ) ) {
return qtrue;
}
if ( stristr( bs->subteam, name ) ) {
return qtrue;
}
}
trap_BotMatchVariable( &addresseematch, MORE, addressedto, MAX_MESSAGE_SIZE );
} else {
trap_BotMatchVariable( &addresseematch, TEAMMATE, name, MAX_MESSAGE_SIZE );
if ( strlen( name ) ) {
if ( stristr( botname, name ) ) {
return qtrue;
}
if ( stristr( bs->subteam, name ) ) {
return qtrue;
}
}
break;
}
}
//Com_sprintf(buf, sizeof(buf), "not addressed to me but %s", addressedto);
//trap_EA_Say(bs->client, buf);
return qfalse;
} else {
//make sure not everyone reacts to this message
if ( random() > (float ) 1.0 / ( NumPlayersOnSameTeam( bs ) - 1 ) ) {
return qfalse;
}
}
return qtrue;
}
开发者ID:JackalFrost,项目名称:RTCW-WSGF,代码行数:65,代码来源:ai_cmd.c
示例13: BotMatch_WhatIsMyCommand
/*
==================
BotMatch_WhatIsMyCommand
==================
*/
void BotMatch_WhatIsMyCommand(bot_state_t *bs, bot_match_t *match) {
char netname[MAX_NETNAME];
ClientName(bs->client, netname, sizeof(netname));
if (Q_stricmp(netname, bs->teamleader) != 0) return;
bs->forceorders = qtrue;
}
开发者ID:AHPlankton,项目名称:Quake-III-Arena,代码行数:12,代码来源:ai_cmd.c
示例14: BotMatch_StartTeamLeaderShip
/*
=======================================================================================================================================
BotMatch_StartTeamLeaderShip
=======================================================================================================================================
*/
void BotMatch_StartTeamLeaderShip(bot_state_t *bs, bot_match_t *match) {
int client;
char teammate[MAX_MESSAGE_SIZE];
if (!TeamPlayIsOn()) {
return;
}
// if chats for him or herself
if (match->subtype & ST_I) {
// get the team mate that will be the team leader
trap_BotMatchVariable(match, NETNAME, teammate, sizeof(teammate));
strncpy(bs->teamleader, teammate, sizeof(bs->teamleader));
bs->teamleader[sizeof(bs->teamleader) - 1] = '\0';
}
// chats for someone else
else {
// get the team mate that will be the team leader
trap_BotMatchVariable(match, TEAMMATE, teammate, sizeof(teammate));
client = FindClientByName(teammate);
if (client >= 0) {
ClientName(client, bs->teamleader, sizeof(bs->teamleader));
}
}
}
开发者ID:ioid3-games,项目名称:ioid3-rtcw,代码行数:30,代码来源:ai_cmd.c
示例15: BotGetTeamMateCTFPreference
/*
==================
BotGetTeamMateCTFPreference
==================
*/
int BotGetTeamMateCTFPreference(bot_state_t *bs, int teammate) {
char teammatename[MAX_NETNAME];
if (!ctftaskpreferences[teammate].preference) return 0;
ClientName(teammate, teammatename, sizeof(teammatename));
if (Q_stricmp(teammatename, ctftaskpreferences[teammate].name)) return 0;
return ctftaskpreferences[teammate].preference;
}
开发者ID:UberGames,项目名称:RPG-X2-rpgxEF,代码行数:13,代码来源:ai_team.c
示例16: BotVoiceChat_StopLeader
/*
==================
BotVoiceChat_StopLeader
==================
*/
void BotVoiceChat_StopLeader(bot_state_t *bs, int client, int mode) {
char netname[MAX_MESSAGE_SIZE];
if (!Q_stricmp(bs->teamleader, ClientName(client, netname, sizeof(netname)))) {
bs->teamleader[0] = '\0';
notleader[client] = qtrue;
}
}
开发者ID:Mixone-FinallyHere,项目名称:SmokinGuns,代码行数:13,代码来源:ai_vcmd.c
示例17: BotCTFOrders_BothFlagsAtBase
/*
==================
BotCTFOrders
==================
*/
void BotCTFOrders_BothFlagsAtBase( bot_state_t *bs ) {
int numteammates, defenders, attackers, i;
int teammates[MAX_CLIENTS];
char name[MAX_NETNAME];
// char buf[MAX_MESSAGE_SIZE];
numteammates = BotSortTeamMatesByBaseTravelTime( bs, teammates, sizeof( teammates ) );
//different orders based on the number of team mates
switch ( numteammates ) {
case 1: break;
case 2:
{
//the one closest to the base will defend the base
ClientName( teammates[0], name, sizeof( name ) );
BotAI_BotInitialChat( bs, "cmd_defendbase", name, NULL );
BotSayTeamOrder( bs, teammates[0] );
//the other will get the flag
ClientName( teammates[1], name, sizeof( name ) );
BotAI_BotInitialChat( bs, "cmd_getflag", name, NULL );
BotSayTeamOrder( bs, teammates[1] );
break;
}
case 3:
{
//the one closest to the base will defend the base
ClientName( teammates[0], name, sizeof( name ) );
BotAI_BotInitialChat( bs, "cmd_defendbase", name, NULL );
BotSayTeamOrder( bs, teammates[0] );
//the second one closest to the base will defend the base
ClientName( teammates[1], name, sizeof( name ) );
BotAI_BotInitialChat( bs, "cmd_defendbase", name, NULL );
BotSayTeamOrder( bs, teammates[1] );
//the other will get the flag
ClientName( teammates[2], name, sizeof( name ) );
BotAI_BotInitialChat( bs, "cmd_getflag", name, NULL );
BotSayTeamOrder( bs, teammates[2] );
break;
}
default:
{
defenders = (int) ( float ) numteammates * 0.5 + 0.5;
attackers = (int) ( float ) numteammates * 0.3 + 0.5;
for ( i = 0; i < defenders; i++ ) {
//
ClientName( teammates[i], name, sizeof( name ) );
BotAI_BotInitialChat( bs, "cmd_defendbase", name, NULL );
BotSayTeamOrder( bs, teammates[i] );
}
for ( i = 0; i < attackers; i++ ) {
//
ClientName( teammates[numteammates - i - 1], name, sizeof( name ) );
BotAI_BotInitialChat( bs, "cmd_getflag", name, NULL );
BotSayTeamOrder( bs, teammates[numteammates - i - 1] );
}
//
break;
}
}
}
开发者ID:bibendovsky,项目名称:rtcw,代码行数:64,代码来源:ai_team.cpp
示例18: BotMatch_WhoIsTeamLeader
/*
==================
BotMatch_WhoIsTeamLeader
==================
*/
void BotMatch_WhoIsTeamLeader(bot_state_t *bs, bot_match_t *match) {
char netname[MAX_MESSAGE_SIZE];
if (!TeamPlayIsOn()) return;
ClientName(bs->client, netname, sizeof(netname));
//if this bot IS the team leader
if (!Q_stricmp(netname, bs->teamleader)) {
trap_EA_SayTeam(bs->client, "I'm the team leader\n");
}
}
开发者ID:AHPlankton,项目名称:Quake-III-Arena,代码行数:16,代码来源:ai_cmd.c
示例19: BotCreateGroup
/*
==================
BotCreateGroup
==================
*/
void BotCreateGroup(bot_state_t *bs, int *teammates, int groupsize)
{
char name[MAX_NETNAME], leadername[MAX_NETNAME];
int i;
// the others in the group will follow the teammates[0]
ClientName(teammates[0], leadername, sizeof(leadername));
for (i = 1; i < groupsize; i++)
{
ClientName(teammates[i], name, sizeof(name));
if (teammates[0] == bs->client)
{
BotAI_BotInitialChat(bs, "cmd_accompanyme", name, NULL);
}
else
{
BotAI_BotInitialChat(bs, "cmd_accompany", name, leadername, NULL);
}
BotSayTeamOrderAlways(bs, teammates[i]);
}
}
开发者ID:zturtleman,项目名称:recoil,代码行数:26,代码来源:ai_team.c
示例20: BotVoiceChat_WhoIsLeader
/*
==================
BotVoiceChat_WhoIsLeader
==================
*/
void BotVoiceChat_WhoIsLeader(bot_state_t *bs, int client, int mode) {
char netname[MAX_MESSAGE_SIZE];
if (!TeamPlayIsOn()) return;
ClientName(bs->client, netname, sizeof(netname));
//if this bot IS the team leader
if (!Q_stricmp(netname, bs->teamleader)) {
BotAI_BotInitialChat(bs, "iamteamleader", NULL);
trap_BotEnterChat(bs->cs, 0, CHAT_TEAM);
BotVoiceChatOnly(bs, -1, VOICECHAT_STARTLEADER);
}
}
开发者ID:Mixone-FinallyHere,项目名称:SmokinGuns,代码行数:18,代码来源:ai_vcmd.c
注:本文中的ClientName函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论