您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ trap_Argv函数代码示例

51自学网 2021-06-03 08:57:25
  C++
这篇教程C++ trap_Argv函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中trap_Argv函数的典型用法代码示例。如果您正苦于以下问题:C++ trap_Argv函数的具体用法?C++ trap_Argv怎么用?C++ trap_Argv使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了trap_Argv函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: Svcmd_LayoutSave_f

/*===================Svcmd_LayoutSave_flayoutsave <name>===================*/static void Svcmd_LayoutSave_f( void ){	char str[ MAX_QPATH ];	char str2[ MAX_QPATH - 4 ];	char *s;	int  i = 0;	if ( trap_Argc() != 2 )	{		G_Printf( "usage: layoutsave <name>/n" );		return;	}	trap_Argv( 1, str, sizeof( str ) );	// sanitize name	s = &str[ 0 ];	str2[ 0 ] = 0;	while ( *s && i < sizeof( str2 ) - 1 )	{		if ( isalnum( *s ) || *s == '-' || *s == '_' )		{			str2[ i++ ] = *s;			str2[ i ] = '/0';		}		s++;	}	if ( !str2[ 0 ] )	{		G_Printf( "layoutsave: invalid name /"%s/"/n", str );		return;	}	G_LayoutSave( str2 );}
开发者ID:LoganTheD3vil,项目名称:Unvanquished,代码行数:45,


示例2: Svcmd_DumpUser_f

static void Svcmd_DumpUser_f( void ){	char       name[ MAX_STRING_CHARS ], userinfo[ MAX_INFO_STRING ];	char       key[ BIG_INFO_KEY ], value[ BIG_INFO_VALUE ];	const char *info;	gclient_t  *cl;	if ( trap_Argc() != 2 )	{		G_Printf( "usage: dumpuser <player>/n" );		return;	}	trap_Argv( 1, name, sizeof( name ) );	cl = ClientForString( name );	if ( !cl )	{		return;	}	trap_GetUserinfo( cl - level.clients, userinfo, sizeof( userinfo ) );	info = &userinfo[ 0 ];	G_Printf( "userinfo/n--------/n" );	//Info_Print( userinfo );	while ( 1 )	{		Info_NextPair( &info, key, value );		if ( !*info )		{			return;		}		G_Printf( "%-20s%s/n", key, value );	}}
开发者ID:LoganTheD3vil,项目名称:Unvanquished,代码行数:38,


示例3: trap_Argc

/*==================ConcatArgs==================*/char *ConcatArgs(int start) {	int i, c, tlen;	static char line[MAX_STRING_CHARS];	int len;	char arg[MAX_STRING_CHARS];	len = 0;	c = trap_Argc();	for (i = start; i < c; i++) {		trap_Argv(i, arg, sizeof(arg));		tlen = strlen(arg);		if (len + tlen >= MAX_STRING_CHARS - 1) {			break;		}		memcpy(line + len, arg, tlen);		len += tlen;		if (i != c - 1) {			line[len] = ' ';			len++;		}	}	line[len] = 0;	return line;}
开发者ID:redsaurus,项目名称:jaMME,代码行数:28,


示例4: Svcmd_PrintQueue_f

static void Svcmd_PrintQueue_f(){    team_t team;    char teamName[ MAX_STRING_CHARS ];    if ( trap_Argc() != 2 )    {        G_Printf( "usage: printqueue <team>/n" );        return;    }    trap_Argv( 1, teamName, sizeof( teamName ) );    team = G_TeamFromString(teamName);    if ( TEAM_ALIENS == team || TEAM_HUMANS == team )    {        G_PrintSpawnQueue( &level.team[ team ].spawnQueue );    }    else    {        G_Printf( "unknown team/n" );    }}
开发者ID:BlueMustache,项目名称:Unvanquished,代码行数:23,


示例5: NS_MenuSelect

void NS_MenuSelect( gentity_t *ent ) {	char arg[MAX_TOKEN_CHARS];	int menuSlot = 0;	int menu;	// no Active Menu?	if ( ent->client->pers.activeMenu == MENU_NONE ) {		return;	}	// smaller then 1 command?	if ( trap_Argc() < 1 ) {		return;	}	trap_Argv( 1, arg, sizeof( arg ) );	menuSlot = atoi( arg );	menu = ent->client->pers.activeMenu;	ent->client->pers.activeMenu = MENU_NONE;	NS_CallMenu( ent, menu, menuSlot );}
开发者ID:zturtleman,项目名称:navy-seals,代码行数:23,


示例6: Svcmd_Armageddon_f

static void Svcmd_Armageddon_f( void ){	char arg[ 4 ];	int percent;	if ( trap_Argc() != 2 )	{		G_Printf( "usage: armageddon <percent>/n" );		return;	}	trap_Argv( 1, arg, sizeof( arg ) );	percent = atoi( arg );	if ( percent < 1 || percent > 100 )	{		G_Printf( "armageddon: Strength must be between 1 and 100/n" );		return;	}	G_Armageddon( percent / 100.0f );}
开发者ID:LoganTheD3vil,项目名称:Unvanquished,代码行数:23,


示例7: G_RemoveReferee

void G_RemoveReferee(){ 	char	cmd[MAX_TOKEN_CHARS];	int		cnum;	trap_Argv( 1, cmd, sizeof( cmd ) );	if(!*cmd) {		G_Printf( "usage: RemoveReferee <clientname>." );		return;	}	cnum = G_refClientnumForName(NULL, cmd);	if (cnum != MAX_CLIENTS ) {		if( level.clients[cnum].sess.referee == RL_REFEREE ) {			level.clients[cnum].sess.referee = RL_NONE;			G_Printf( "%s is no longer a referee./n", cmd );		} else {			G_Printf( "User is not a referee./n" );		}	}}
开发者ID:thewolfteam,项目名称:Reloaded,代码行数:23,


示例8: Svcmd_TeamMessage_f

static void Svcmd_TeamMessage_f( void ){  char   teamNum[ 2 ];  team_t team;  if( trap_Argc( ) < 3 )  {    G_Printf( "usage: say_team <team> <message>/n" );    return;  }  trap_Argv( 1, teamNum, sizeof( teamNum ) );  team = G_TeamFromString( teamNum );  if( team == NUM_TEAMS )  {    G_Printf( "say_team: invalid team /"%s/"/n", teamNum );    return;  }  G_TeamCommand( team, va( "chat -1 %d /"%s/"", SAY_TEAM, ConcatArgs( 2 ) ) );  G_LogPrintf( "SayTeam: -1 /"console/": %s/n", ConcatArgs( 2 ) );}
开发者ID:redrumrobot,项目名称:r-unlimited-cz,代码行数:23,


示例9: G_refRemoveShoutcaster_cmd

/*================G_refRemoveShoutcaster_cmd================*/void G_refRemoveShoutcaster_cmd( gentity_t *ent ){	int			pid;	char		name[MAX_NAME_LENGTH];	gentity_t	*player;	if( trap_Argc() != 3 ) {		G_refPrintf( ent, "Usage: //ref removeshoutcaster <pid>" );		return;	}	if( !G_IsShoutcastPasswordSet() ) {		G_refPrintf( ent,			"Sorry, shoutcaster status disabled on this server." );		return;	}	trap_Argv( 2, name, sizeof( name ) );		if( ( pid = ClientNumberFromString( ent, name ) ) == -1 ) {		return;	}	player = g_entities + pid;	if( !player || !player->client ) {		return;	}	if( !player->client->sess.shoutcaster ) {		G_refPrintf( ent, "Sorry, %s^7 is not a shoutcaster.",			player->client->pers.netname );		return;	}	G_RemoveShoutcaster( player );}
开发者ID:thewolfteam,项目名称:Reloaded,代码行数:42,


示例10: Cmd_Follow_f

/* * Cmd_Follow_f */voidCmd_Follow_f(Gentity *ent){	int	i;	char	arg[MAX_TOKEN_CHARS];	if(trap_Argc() != 2){		if(ent->client->sess.specstate == SPECTATOR_FOLLOW)			StopFollowing(ent);		return;	}	trap_Argv(1, arg, sizeof(arg));	i = ClientNumberFromString(ent, arg);	if(i == -1)		return;	/* can't follow self */	if(&level.clients[ i ] == ent->client)		return;	/* can't follow another spectator */	if(level.clients[ i ].sess.team == TEAM_SPECTATOR)		return;	/* if they are playing a tournement game, count as a loss */	if((g_gametype.integer == GT_TOURNAMENT)	   && ent->client->sess.team == TEAM_FREE)		ent->client->sess.losses++;	/* first set them to spectator */	if(ent->client->sess.team != TEAM_SPECTATOR)		SetTeam(ent, "spectator");	ent->client->sess.specstate	= SPECTATOR_FOLLOW;	ent->client->sess.specclient	= i;}
开发者ID:icanhas,项目名称:yantar,代码行数:40,


示例11: Cmd_mShaderGroup_f

void Cmd_mShaderGroup_f( gentity_t *ent ){	int numArgs = trap_Argc();	char arg[1024] = { 0 };	gentity_t *target;	RemapSettings *group;	int num, groupCounter = 0;	if(numArgs == 2)	{		target = SelectedEnt(ent);		if(!target)			return;	}	else	{		MM_SendMessage( ent-g_entities, va("print /"Command usage: mShaderGroup <group name/0>, if you set it to 0 it will choose the default group./n/""));		return;	}	trap_Argv( 1, arg, sizeof(arg) );	if(isNumber(arg,&num))		group = FindGroup(ent-g_entities, target, NULL, &groupCounter, NULL);	else group = FindGroup(ent-g_entities, target, arg, &groupCounter, NULL);	if(!group)	{		MM_SendMessage( ent-g_entities, va("print /"This group hasn't been created yet./n/""));		return; 	}	target->s.trickedentindex = 1;	target->s.trickedentindex2 = ent - g_entities;	target->s.trickedentindex3 = groupCounter;}
开发者ID:AlexCSilva,项目名称:Makermod,代码行数:37,


示例12: Cmd_DelJail_f

void Cmd_DelJail_f(gentity_t *ent){	char buffer[MAX_TOKEN_CHARS];	if (!HasPermission(ent, PERMISSION_JAIL))		return;	if (trap_Argc() != 2)	{		MM_SendMessage(ent - g_entities, va("print /"Command usage: mdeljail <id>/n/""));		return;	}	trap_Argv(1, buffer, sizeof(buffer));	int id = atoi(buffer);	jail_t *root = jails.next;	for (int i = 0; i < id; i++)		if (root == NULL) break;		else			root = root->next;	if (root)	{		if(root->prev) root->prev->next = root->next;		if(root->next) root->next->prev = root->prev;		free(root);		jails.count--;		MM_SendMessage(ent - g_entities, va("print /"Jail spot removed./n/""));	}	else		MM_SendMessage(ent - g_entities, va("print /"Error removing jail spot./n/""));	vmCvar_t mapname;	trap_Cvar_Register(&mapname, "mapname", "", CVAR_SERVERINFO | CVAR_ROM);	MM_WriteData(va("jails//%s.json", mapname.string), MM_WriteJails);}
开发者ID:spior,项目名称:Makermod,代码行数:37,


示例13: CG_BuddyVoiceChat_f

static void CG_BuddyVoiceChat_f(void){	char chatCmd[64];	if (trap_Argc() != 2)	{		return;	}	// don't let spectators voice chat	// NOTE - This cg.snap will be the person you are following, but its just for intermission test	if (cg.snap && (cg.snap->ps.pm_type != PM_INTERMISSION))	{		if (cgs.clientinfo[cg.clientNum].team == TEAM_SPECTATOR || cgs.clientinfo[cg.clientNum].team == TEAM_FREE)		{			CG_Printf("%s", CG_TranslateString("Can't buddy voice chat as a spectator./n"));			return;		}	}	trap_Argv(1, chatCmd, 64);	trap_SendConsoleCommand(va("cmd vsay_buddy -1 %s %s/n", CG_BuildSelectedFirteamString(), chatCmd));}
开发者ID:Classixz,项目名称:etlegacy,代码行数:24,


示例14: G_BotAddNames

int G_BotAddNames( team_t team, int arg, int last ){	int  i = botNames[team].count;	int  added = 0;	char name[MAX_NAME_LENGTH];	while ( arg < last && i < MAX_CLIENTS )	{		int j, t;		trap_Argv( arg++, name, sizeof( name ) );		// name already in the list? (quick check, including colours & invalid)		for ( t = 1; t < NUM_TEAMS; ++t )		{			for ( j = 0; j < botNames[t].count; ++j )			{				if ( !Q_stricmp( botNames[t].name[j].name, name ) )				{					goto next;				}			}		}		botNames[team].name[i].name = ( char * )BG_Alloc( strlen( name ) + 1 );		strcpy( botNames[team].name[i].name, name );		botNames[team].count = ++i;		++added;		next:		;	}	return added;}
开发者ID:t4im,项目名称:Unvanquished,代码行数:36,


示例15: Svcmd_Campaign_f

void Svcmd_Campaign_f(void) {	char	str[MAX_TOKEN_CHARS];	int		i;	g_campaignInfo_t *campaign = NULL;	// find the campaign	trap_Argv( 1, str, sizeof( str ) );		for( i = 0; i < level.campaignCount; i++ ) {		campaign = &g_campaigns[i];		if( !Q_stricmp( campaign->shortname, str ) ) {			break;		}	}	if( i == level.campaignCount || !(campaign->typeBits & (1 << GT_WOLF) ) ) {		G_Printf( "Can't find campaign '%s'/n", str );		return;	}	trap_Cvar_Set( "g_oldCampaign", g_currentCampaign.string );	trap_Cvar_Set( "g_currentCampaign", campaign->shortname );	trap_Cvar_Set( "g_currentCampaignMap", "0" );	level.newCampaign = qtrue;	// we got a campaign, start it	trap_Cvar_Set( "g_gametype", va( "%i", GT_WOLF_CAMPAIGN ) );#if 0	if( g_developer.integer )		trap_SendConsoleCommand( EXEC_APPEND, va( "devmap %s/n", campaign->mapnames[0] ) );	else#endif		trap_SendConsoleCommand( EXEC_APPEND, va( "map %s/n", campaign->mapnames[0] ) );}
开发者ID:chegestar,项目名称:omni-bot,代码行数:36,


示例16: G_MakeReferee

void G_MakeReferee(){	char	cmd[MAX_TOKEN_CHARS];	int		cnum;	trap_Argv( 1, cmd, sizeof( cmd ) );	if(!*cmd) {		G_Printf( "usage: MakeReferee <clientname>." );		return;	}	cnum = G_refClientnumForName(NULL, cmd);	if (cnum != MAX_CLIENTS ) {		if(level.clients[cnum].sess.referee == RL_NONE) {			level.clients[cnum].sess.referee = RL_REFEREE;			AP(va("cp /"%s/n^3has been made a referee/n/"", cmd));			G_Printf("%s has been made a referee./n", cmd);		} else {			G_Printf("User is already authed./n");		}	}}
开发者ID:thewolfteam,项目名称:Reloaded,代码行数:24,


示例17: CG_Class_f

/** * @brief Sends an class setup message. Enables etpro like classscripts */void CG_Class_f(void){	char             cls[64];	const char       *classtype, *teamstring;	int              weapon1, weapon2, playerclass;	bg_playerclass_t *classinfo;	team_t           team;	if (cg.demoPlayback)	{		return;	}	team = cgs.clientinfo[cg.clientNum].team;	if (team == TEAM_SPECTATOR)	{		return;	}	if (trap_Argc() < 2)	{		CG_Printf("Invalid command format./n");		return;	}	switch (team)	{	case TEAM_AXIS:		classtype  = "r";		teamstring = CG_TranslateString("Axis");		break;	case TEAM_ALLIES:		classtype  = "b";		teamstring = CG_TranslateString("Allies");		break;	default:		CG_Printf("Invalid team./n");		return;	}	trap_Argv(1, cls, 64);	if (!Q_stricmp(cls, "s") || !Q_stricmp(cls, "0"))	{		playerclass = PC_SOLDIER;	}	else if (!Q_stricmp(cls, "m") || !Q_stricmp(cls, "1"))	{		playerclass = PC_MEDIC;	}	else if (!Q_stricmp(cls, "e") || !Q_stricmp(cls, "2"))	{		playerclass = PC_ENGINEER;	}	else if (!Q_stricmp(cls, "f") || !Q_stricmp(cls, "3"))	{		playerclass = PC_FIELDOPS;	}	else if (!Q_stricmp(cls, "c") || !Q_stricmp(cls, "4"))	{		playerclass = PC_COVERTOPS;	}	else	{		CG_Printf("Invalid class format./n");		return;	}	classinfo = BG_GetPlayerClassInfo(team, playerclass);	if (trap_Argc() > 2)	{		trap_Argv(2, cls, 64);		weapon1 = atoi(cls);		if (weapon1 <= 0 || weapon1 > MAX_WEAPS_PER_CLASS)		{			weapon1 = classinfo->classWeapons[0];		}		else if (!classinfo->classWeapons[weapon1 - 1])		{			CG_Printf("Invalid command format for weapon./n");			return;		}		else		{			weapon1 = classinfo->classWeapons[weapon1 - 1];		}	}	else	{		weapon1 = classinfo->classWeapons[0];	}	if (trap_Argc() > 3)	{		trap_Argv(3, cls, 64);//.........这里部分代码省略.........
开发者ID:Classixz,项目名称:etlegacy,代码行数:101,


示例18: Cmd_FireTeam_MP_f

// Command handlervoid Cmd_FireTeam_MP_f( gentity_t* ent ) {	char command[32];	int i;	if ( trap_Argc() < 2 ) {		G_ClientPrintAndReturn( ent - g_entities, "usage: fireteam <create|leave|apply|invite>" );	}	trap_Argv( 1, command, 32 );	if ( !Q_stricmp( command, "create" ) ) {		G_RegisterFireteam( ent - g_entities );	} else if ( !Q_stricmp( command, "disband" ) ) {		G_DestroyFireteam( ent - g_entities );	} else if ( !Q_stricmp( command, "leave" ) ) {		G_RemoveClientFromFireteams( ent - g_entities, qtrue, qtrue );	} else if ( !Q_stricmp( command, "apply" ) ) {		char namebuffer[32];		int fireteam;		if ( trap_Argc() < 3 ) {			G_ClientPrintAndReturn( ent - g_entities, "usage: fireteam apply <fireteamname|fireteamnumber>" );		}		trap_Argv( 2, namebuffer, 32 );		fireteam = G_FireteamNumberForString( namebuffer, ent->client->sess.sessionTeam );		if ( fireteam <= 0 ) {			G_ClientPrintAndReturn( ent - g_entities, "usage: fireteam apply <fireteamname|fireteamnumber>" );		}		G_ApplyToFireTeam( ent - g_entities, fireteam - 1 );	} else if ( !Q_stricmp( command, "invite" ) ) {		char namebuffer[32];		int clientnum = 0;		if ( trap_Argc() < 3 ) {			G_ClientPrintAndReturn( ent - g_entities, "usage: fireteam invite <clientname|clientnumber>" );		}		trap_Argv( 2, namebuffer, 32 );		for ( i = 0; i < MAX_CLIENTS; i++ ) {			if ( !g_entities[i].inuse || !g_entities[i].client ) {				continue;			}			if ( !Q_stricmp( g_entities[i].client->pers.netname, namebuffer ) ) {				clientnum = i + 1;			}		}		if ( clientnum <= 0 ) {			clientnum = atoi( namebuffer );			if ( ( clientnum <= 0 || clientnum > MAX_CLIENTS ) || !g_entities[clientnum - 1].inuse || !g_entities[clientnum - 1].client ) {				G_ClientPrintAndReturn( ent - g_entities, "Invalid client selected" );			}		}		if ( clientnum <= 0 ) {			G_ClientPrintAndReturn( ent - g_entities, "usage: fireteam invite <clientname|clientnumber>" );		}		G_InviteToFireTeam( ent - g_entities, clientnum - 1 );	} else if ( !Q_stricmp( command, "warn" ) ) {		char namebuffer[32];		int clientnum = 0;		if ( trap_Argc() < 3 ) {			G_ClientPrintAndReturn( ent - g_entities, "usage: fireteam warn <clientname|clientnumber>" );		}		trap_Argv( 2, namebuffer, 32 );		for ( i = 0; i < MAX_CLIENTS; i++ ) {			if ( !g_entities[i].inuse || !g_entities[i].client ) {				continue;			}			if ( !Q_stricmp( g_entities[i].client->pers.netname, namebuffer ) ) {				clientnum = i + 1;			}		}		if ( clientnum <= 0 ) {			clientnum = atoi( namebuffer );			if ( ( clientnum <= 0 || clientnum > MAX_CLIENTS ) || !g_entities[clientnum - 1].inuse || !g_entities[clientnum - 1].client ) {				G_ClientPrintAndReturn( ent - g_entities, "Invalid client selected" );			}		}		if ( clientnum <= 0 ) {			G_ClientPrintAndReturn( ent - g_entities, "usage: fireteam warn <clientname|clientnumber>" );		}		G_WarnFireTeamPlayer( ent - g_entities, clientnum - 1 );	} else if ( !Q_stricmp( command, "kick" ) ) {		char namebuffer[32];		int clientnum = 0;//.........这里部分代码省略.........
开发者ID:bibendovsky,项目名称:rtcw,代码行数:101,


示例19: G_ParseCampaigns

void G_ParseCampaigns( void ) {	int numdirs;	char filename[128];	char dirlist[1024];	char*       dirptr;	int i;	int dirlen;	qboolean mapFound = qfalse;	level.campaignCount = 0;	level.currentCampaign = -1;	memset( &g_campaigns, 0, sizeof( g_campaignInfo_t ) * MAX_CAMPAIGNS );	// get all campaigns from .campaign files	numdirs = trap_FS_GetFileList( "scripts", ".campaign", dirlist, 1024 );	dirptr  = dirlist;	for ( i = 0; i < numdirs && level.campaignCount < MAX_CAMPAIGNS; i++, dirptr += dirlen + 1 ) {		dirlen = strlen( dirptr );		strcpy( filename, "scripts/" );		strcat( filename, dirptr );		if ( G_LoadCampaignsFromFile( filename ) ) {			mapFound = qtrue;		}	}	if ( g_gametype.integer != GT_WOLF_CAMPAIGN ) {		trap_Cvar_Set( "g_oldCampaign", "" );		trap_Cvar_Set( "g_currentCampaign", "" );		trap_Cvar_Set( "g_currentCampaignMap", "0" );	} else if ( !mapFound ) {		// map isn't found in the current campaign, see if it's the first map in another campaign		for ( i = 0; i < level.campaignCount; i++ ) {			if ( !Q_stricmp( g_campaigns[i].mapnames[0], level.rawmapname ) ) {				// someone manually specified a /map command, and it's the first map in a campaign				trap_Cvar_Set( "g_oldCampaign", g_currentCampaign.string );				trap_Cvar_Set( "g_currentCampaign", g_campaigns[i].shortname );				trap_Cvar_Set( "g_currentCampaignMap", "0" );				level.newCampaign = qtrue;				g_campaigns[level.campaignCount].current = 0;				level.currentCampaign = i;				break;			}		}		if ( i == level.campaignCount ) {			char buf[MAX_STRING_CHARS]; // fretn			if ( trap_Argc() < 1 ) { // command not found, throw error				G_Error( "Usage 'map <mapname>/n'" );			}			trap_Argv( 0, buf, sizeof( buf ) );			if ( !buf ) { // command not found, throw error				G_Error( "Usage 'map <mapname>/n'" );			}			// no campaign found, fallback to GT_WOLF			// and reload the map			trap_Cvar_Set( "g_gametype", "2" );			trap_SendConsoleCommand( EXEC_APPEND, va( "%s %s", buf, level.rawmapname ) );		}	}}
开发者ID:AdrienJaguenet,项目名称:Enemy-Territory,代码行数:68,


示例20: ConsoleCommand

/*=================ConsoleCommand=================*/qboolean	ConsoleCommand( void ) {    char	cmd[MAX_TOKEN_CHARS];    trap_Argv( 0, cmd, sizeof( cmd ) );    if ( Q_stricmp (cmd, "entitylist") == 0 ) {        Svcmd_EntityList_f();        return qtrue;    }    if ( Q_stricmp (cmd, "forceteam") == 0 ) {        Svcmd_ForceTeam_f();        return qtrue;    }    if (Q_stricmp (cmd, "game_memory") == 0) {        Svcmd_GameMem_f();        return qtrue;    }    if (Q_stricmp (cmd, "addbot") == 0) {        Svcmd_AddBot_f();        return qtrue;    }    if (Q_stricmp (cmd, "botlist") == 0) {        Svcmd_BotList_f();        return qtrue;    }    if (Q_stricmp (cmd, "abort_podium") == 0) {        Svcmd_AbortPodium_f();        return qtrue;    }    if (Q_stricmp (cmd, "addip") == 0) {        Svcmd_AddIP_f();        return qtrue;    }    if (Q_stricmp (cmd, "removeip") == 0) {        Svcmd_RemoveIP_f();        return qtrue;    }    if (Q_stricmp (cmd, "listip") == 0) {        trap_SendConsoleCommand( EXEC_NOW, "g_banIPs/n" );        return qtrue;    }    if(Q_stricmp (cmd, "setGametype") == 0)    {        Svcmd_SetGameType_f();        return qtrue;    }    if(Q_stricmp (cmd, "startcam") == 0) {        Svcmd_StartCam();        return qtrue;    }    if(Q_stricmp (cmd, "stopcam") == 0) {        Svcmd_StopCam();        return qtrue;    }    if(Q_stricmp (cmd, "camcmd") == 0) {        Svcmd_CamCmd();        return qtrue;    }    if( !Q_stricmp( cmd, "initwp") ) {        WaypointInit();        return qtrue;    }    if ( Q_stricmp( cmd, "blibset") == 0 ) {        char key[MAX_TOKEN_CHARS];        char value[MAX_TOKEN_CHARS];        trap_Argv(1, key, sizeof(key) );        trap_Argv(2, value, sizeof(value) );        if(!strlen(key))        {            G_Printf("missing key/n");            return qtrue;        }        if( !strlen(value) )	// use "1" as default            strcpy( value, "1" );        trap_BotLibVarSet( key, value );        return qtrue;    }    if(wopSP_cmdCheck(cmd))        return qtrue;//.........这里部分代码省略.........
开发者ID:PadWorld-Entertainment,项目名称:wop-gamesource,代码行数:101,


示例21: ConsoleCommand

/*=================ConsoleCommand=================*/qboolean    ConsoleCommand( void ) {	char cmd[MAX_TOKEN_CHARS];	trap_Argv( 0, cmd, sizeof( cmd ) );	if ( Q_stricmp( cmd, "entitylist" ) == 0 ) {		Svcmd_EntityList_f();		return qtrue;	}	if ( Q_stricmp( cmd, "forceteam" ) == 0 ) {		Svcmd_ForceTeam_f();		return qtrue;	}	if ( Q_stricmp( cmd, "game_memory" ) == 0 ) {		Svcmd_GameMem_f();		return qtrue;	}	if ( Q_stricmp( cmd, "addbot" ) == 0 ) {		Svcmd_AddBot_f();		return qtrue;	}	if ( Q_stricmp( cmd, "addip" ) == 0 ) {		Svcmd_AddIP_f();		return qtrue;	}	if ( Q_stricmp( cmd, "removeip" ) == 0 ) {		Svcmd_RemoveIP_f();		return qtrue;	}	if ( Q_stricmp( cmd, "listip" ) == 0 ) {		trap_SendConsoleCommand( EXEC_INSERT, "g_banIPs/n" );		return qtrue;	}	if ( Q_stricmp( cmd, "listmaxlivesip" ) == 0 ) {		PrintMaxLivesGUID();		return qtrue;	}	// NERVE - SMF	if ( Q_stricmp( cmd, "start_match" ) == 0 ) {		Svcmd_StartMatch_f();		return qtrue;	}	if ( Q_stricmp( cmd, "reset_match" ) == 0 ) {		Svcmd_ResetMatch_f();		return qtrue;	}	if ( Q_stricmp( cmd, "swap_teams" ) == 0 ) {		Svcmd_SwapTeams_f();		return qtrue;	}	// -NERVE - SMF	if ( g_dedicated.integer ) {		if ( Q_stricmp( cmd, "say" ) == 0 ) {			trap_SendServerCommand( -1, va( "print /"server:[lof] %s/"", ConcatArgs( 1 ) ) );			return qtrue;		}		// everything else will also be printed as a say command		trap_SendServerCommand( -1, va( "print /"server:[lof] %s/"", ConcatArgs( 0 ) ) );		return qtrue;	}	return qfalse;}
开发者ID:Justasic,项目名称:RTCW-MP,代码行数:81,


示例22: Cmd_Powerup_f

void Cmd_Powerup_f( gentity_t * ent ) {    int i = 0;    int argc = trap_Argc();    char arg[MAX_TOKEN_CHARS] = "/0";	char arg2[MAX_TOKEN_CHARS] = "/0";    if( !ent->client->sess.routeMaker )    {        CP("cp /"^7You need to be a route maker to create powerups./n/"");        return;    }    if(argc < 2)    {        CP("print /"usage: ^7powerup [type]/n/"");        return;    }	    trap_Argv(1, arg, sizeof(arg));    if(!Q_stricmp(arg, "help"))    {        PrintPowerupHelp(ent);        return;    }			if(!Q_stricmp(arg, "info"))	{		trap_Argv(2, arg, sizeof(arg));		PrintPowerupInfo(ent, arg);		return;	}    // Special case, spawn random pwup    if(!Q_stricmp(arg, "random"))    {        int index = rand() % numPowerups;        if(powerups[index].spawn && powerups[index].think)        {            if(level.numPowerups == MAX_POWERUPS)            {                CP("print /"^1error: ^7too many powerups spawned./n/"");                return;            }            level.powerups[level.numPowerups] = powerups[index].spawn(ent, powerups[index].think);            level.powerups[level.numPowerups]->powerupType = powerups[index].pw;            level.powerups[level.numPowerups]->powerupModelType = powerups[index].modelIndex;            level.numPowerups++;            CP("cp /"^5Spawned a random powerup/n/"");        }        return;    }    if(!Q_stricmp(arg, "any"))    {        if(level.numPowerups == MAX_POWERUPS)        {            CP("print /"^1error: ^7too many powerups spawned./n/"");            return;        }        level.powerups[level.numPowerups] = SpawnRandomPowerupSpawner( ent );        level.powerups[level.numPowerups]->powerupType = PW_RANDOM;        level.powerups[level.numPowerups]->powerupModelType = PW_RANDOM;        level.numPowerups++;        CP("cp /"^5Spawned a random powerup/n/"");        return;    }    for(; i < numPowerups; i++)    {        if(!Q_stricmp(arg, powerups[i].name))        {            if(powerups[i].spawn && powerups[i].think)            {                if(level.numPowerups == MAX_POWERUPS)                {                    CP("print /"^1error: ^7too many powerups spawned./n/"");                    return;                }                level.powerups[level.numPowerups] = powerups[i].spawn(ent, powerups[i].think);                level.powerups[level.numPowerups]->powerupType = powerups[i].pw;                level.powerups[level.numPowerups]->powerupModelType = powerups[i].modelIndex;                level.numPowerups++;                CP(va("cp /"^5Spawned a %s powerup/n/"", powerups[i].text));            } else            {                G_LogPrintf("Undefined powerup: %s/n", arg);            }            break;        }    }}
开发者ID:haapanen,项目名称:satchelrace,代码行数:95,


示例23: G_IntermissionMapVote

// MAPVOTEvoid G_IntermissionMapVote(gentity_t *ent){	char arg[MAX_TOKEN_CHARS];	if (g_gametype.integer != GT_WOLF_MAPVOTE)	{		CP(va("print /"^3Map voting not enabled!/n/""));		return;	}	if (g_gamestate.integer != GS_INTERMISSION)	{		CP(va("print /"^3Can't vote until intermission/n/""));		return;	}	if (!level.intermissiontime)	{		CP(va("print /"^3You can only vote during intermission/n/""));		return;	}	trap_Argv(1, arg, sizeof(arg));	// normal one-map vote	if (trap_Argc() == 2)	{		if (ent->client->ps.eFlags & EF_VOTED)		{			level.mapvoteinfo[ent->client->sess.mapVotedFor[0]].numVotes--;			level.mapvoteinfo[ent->client->sess.mapVotedFor[0]].totalVotes--;		}		ent->client->ps.eFlags |= EF_VOTED;		level.mapvoteinfo[atoi(arg)].numVotes++;		level.mapvoteinfo[atoi(arg)].totalVotes++;		ent->client->sess.mapVotedFor[0] = atoi(arg);	}	else if (trap_Argc() == 3)	{		char arg2[MAX_TOKEN_CHARS];		int  voteRank = 0, i;		trap_Argv(2, arg2, sizeof(arg2));		voteRank = atoi(arg2);		if (voteRank < 1 || voteRank > 3)		{			return;		}		for (i = 0; i < 3; i++)		{			if (voteRank - 1 == i)			{				continue;			}			if (ent->client->sess.mapVotedFor[i] == atoi(arg))			{				CP(va("print /"^3Can't vote for the same map twice/n/""));				return;			}		}		if (ent->client->sess.mapVotedFor[voteRank - 1] != -1)		{			level.mapvoteinfo[ent->client->sess.mapVotedFor[voteRank - 1]].numVotes   -= voteRank;			level.mapvoteinfo[ent->client->sess.mapVotedFor[voteRank - 1]].totalVotes -= voteRank;		}		level.mapvoteinfo[atoi(arg)].numVotes      += voteRank;		level.mapvoteinfo[atoi(arg)].totalVotes    += voteRank;		ent->client->sess.mapVotedFor[voteRank - 1] = atoi(arg);		ent->client->ps.eFlags                     |= EF_VOTED;	}	// Someone has voted. Send the votetally to all ...	// Doing it now, so there is no need for players to keep polling for this.	G_IntermissionVoteTally(NULL);}
开发者ID:gitter-badger,项目名称:etlegacy,代码行数:76,


示例24: CG_SetWeaponCrosshair_f

static void CG_SetWeaponCrosshair_f( void ) {	char crosshair[64];	trap_Argv( 1, crosshair, 64 );	cg.newCrosshairIndex = atoi( crosshair ) + 1;}
开发者ID:chegestar,项目名称:omni-bot,代码行数:6,


示例25: ProcessFormula

qboolean ProcessFormula(int *values){	int		i, j;	char	buffer[MAX_TOKEN_CHARS];	for (i = 0; i < 3 ; i++ )	{		int result, len;		char *exp_p;		int num_operators[6] = { 0 };		MathOp root;		MathOp *cur_pos = &root;		trap_Argv( i+1, buffer, sizeof( buffer ) );		// If it's just a plain number use it.		if(isNumber(buffer,&result))		{			values[i] = result;			continue;		}		// Otherwise check if it's a valid expression		// And let's count supported operators first.		//len = strlen(buffer);		//for(j = 0; j < len; j++)		//{		//	if(buffer[j] == '+')		//		num_operators[0]++;		//	else if(buffer[j] == '-')		//		num_operators[1]++;		//	else if(buffer[j] == '*')		//		num_operators[2]++;		//	else if(buffer[j] == '/')		//		num_operators[3]++;		//	else if(buffer[j] == '(')		//		num_operators[4]++;		//	else if(buffer[j] == ')')		//		num_operators[5]++;		//}		// Check if we have a valid starting point		if(!(VALID_START & FormulaType(buffer[0])) && buffer[0] != '-')			return qfalse;		// Initialize the root node.		root.pos = 0;		root.left = root.right = root.back = NULL;		root.value = -1;		len = strlen(buffer);		for(j = 0; j < len; j++)		{			// Check for value.			if(FormulaType(buffer[j]) == VALUE || buffer[j] == '-')		// [FIXME]			{				// Read the full value.				char full_value[256] = { 0 };				int pos = 0;				while((buffer[j] >= '0' && buffer[j] <= '9') || buffer[j] == '-' )					full_value[pos++] = buffer[j++];				cur_pos->type = VALUE;				cur_pos->value = atoi(full_value);			}			// Check for parenthesis.			else if(FormulaType(buffer[j]) == BRACK_LEFT)			{				cur_pos->type = BRACK_LEFT;				if(!cur_pos->pos)				{					cur_pos->left = (MathOp*)malloc(sizeof(MathOp));					cur_pos->left->back = cur_pos;					cur_pos->pos++;					cur_pos = cur_pos->left;				}				else				{					cur_pos->right = (MathOp*)malloc(sizeof(MathOp));					cur_pos->right->back = cur_pos;					cur_pos->pos++;					cur_pos = cur_pos->right;				}			}			else if(FormulaType(buffer[j]) == BRACK_RIGHT)			{				if(cur_pos->back->pos != 2)	// This means the expression is malformed: 5 + (5 *) for example.					return qfalse;				cur_pos = cur_pos->back;			}			else if(FormulaType(buffer[j]) == ADD)			{				// 5+5				if(!cur_pos)				// Malformed: (+5					return qfalse;			}//.........这里部分代码省略.........
开发者ID:spior,项目名称:Makermod,代码行数:101,


示例26: Svcmd_CamCmd

void Svcmd_CamCmd( void ) {    char buf[MAX_TOKEN_CHARS];    char cmd[MAX_TOKEN_CHARS];    char name[MAX_TOKEN_CHARS];    int i;    gclient_t* cl;    if( !level.cammode ) {        return;    }    if( trap_Argc() < 2 ) {        return;    }    trap_Argv( 1, cmd, sizeof(cmd) );    if ( !Q_stricmp (cmd, "print")  )    {        trap_Argv( 2, buf, sizeof(buf) );        trap_SendServerCommand( -1, va("cp /"%s/n/"", buf ) );    }    else if( !Q_stricmp (cmd, "setclientpos") ) {        vec3_t	newOrigin;        if( trap_Argc() != 8 && trap_Argc() != 6 ) {            Com_Printf("usage: camcmd setclientpos name/id x y z (a b) /na = PITCH-angle, b = YAW-angle/n");            return;        }        trap_Argv( 2, name, sizeof( name ) );        cl = ClientForString( name ) ;        if(!cl)            return;        for( i=0; i<3; i++) {            trap_Argv( i+3, buf, sizeof( buf) );            newOrigin[i] = atof( buf );        }        G_SetOrigin( &g_entities[cl->ps.clientNum], newOrigin );        VectorCopy( newOrigin, cl->ps.origin );        if(trap_Argc() == 8) {            vec3_t	newAngles;            memset(newAngles,0,sizeof(newAngles));            trap_Argv( 6, buf, sizeof( buf ) );            newAngles[PITCH] = atoi(buf);            trap_Argv( 7, buf, sizeof( buf ) );            newAngles[YAW] = atoi(buf);            SetClientViewAngle( &g_entities[cl->ps.clientNum], newAngles );        }    }    else if( !Q_stricmp (cmd, "setspawn")  )    {        if( trap_Argc() != 8 ) {            Com_Printf("usage: camcmd setspawn x y z a b c /n");            return;        }        for( i=0; i<3; i++) {            trap_Argv( i+2, buf, sizeof(buf) );            level.cam_spawnpos[i] = atof(buf);        }        for( i=0; i<3; i++) {            trap_Argv( i+5, buf, sizeof(buf) );            level.cam_spawnangles[i] = atof(buf);        }    }    else if( !Q_stricmp (cmd, "botmove")  )    {        vec3_t pos;        if( trap_Argc() != 6 ) {            Com_Printf("usage: camcmd botmove name x y z /n");            return;        }        trap_Argv( 2, name, sizeof( name ) );        for( i=0; i<3; i++) {            trap_Argv( i+3, buf, sizeof( buf) );            pos[i] = atof( buf );        }        cl = ClientForString( name ) ;        if(!cl)            return;        BotCamMoveTo( cl->ps.clientNum, pos );    }    else if( !Q_stricmp (cmd, "botviewangles")  )    {        vec3_t angles;        if( trap_Argc() != 5 ) {            Com_Printf("usage: camcmd botviewangles name x y /n");            return;//.........这里部分代码省略.........
开发者ID:PadWorld-Entertainment,项目名称:wop-gamesource,代码行数:101,


示例27: ConsoleCommand

/*=================ConsoleCommand=================*/qboolean	ConsoleCommand( void ) {	char	cmd[MAX_TOKEN_CHARS];	trap_Argv( 0, cmd, sizeof( cmd ) );	if ( Q_stricmp (cmd, "entitylist") == 0 ) {		Svcmd_EntityList_f();		return qtrue;	}	if ( Q_stricmp (cmd, "forceteam") == 0 ) {		Svcmd_ForceTeam_f();		return qtrue;	}	if (Q_stricmp (cmd, "game_memory") == 0) {		Svcmd_GameMem_f();		return qtrue;	}	if (Q_stricmp (cmd, "addbot") == 0) {		Svcmd_AddBot_f();		return qtrue;	}	if (Q_stricmp (cmd, "botlist") == 0) {		Svcmd_BotList_f();		return qtrue;	}/*	if (Q_stricmp (cmd, "abort_podium") == 0) {		Svcmd_AbortPodium_f();		return qtrue;	}*/	if (Q_stricmp (cmd, "addip") == 0) {		Svcmd_AddIP_f();		return qtrue;	}	if (Q_stricmp (cmd, "removeip") == 0) {		Svcmd_RemoveIP_f();		return qtrue;	}	if (Q_stricmp (cmd, "listip") == 0) {		trap_SendConsoleCommand( EXEC_NOW, "g_banIPs/n" );		return qtrue;	}	if (g_dedicated.integer) {		if (Q_stricmp (cmd, "say") == 0) {			trap_SendServerCommand( -1, va("print /"server: %s/n/"", ConcatArgs(1) ) );			return qtrue;		}		// everything else will also be printed as a say command		trap_SendServerCommand( -1, va("print /"server: %s/n/"", ConcatArgs(0) ) );		return qtrue;	}	return qfalse;}
开发者ID:Drakesinger,项目名称:jediacademypc,代码行数:68,


示例28: G_ParseCampaigns

void G_ParseCampaigns(void){	int      i;	qboolean mapFound = qfalse;	level.campaignCount   = 0;	level.currentCampaign = -1;	memset(&g_campaigns, 0, sizeof(g_campaignInfo_t) * MAX_CAMPAIGNS);	if (g_gametype.integer != GT_WOLF_CAMPAIGN)	{		trap_Cvar_Set("g_oldCampaign", "");		trap_Cvar_Set("g_currentCampaign", "");		trap_Cvar_Set("g_currentCampaignMap", "0");		return;	}	if (g_campaignFile.string[0])	{		if (G_LoadCampaignsFromFile(g_campaignFile.string))		{			mapFound = qtrue;		}	}	if (!mapFound)	{		// get all campaigns from .campaign files		int  dirlen;		int  numdirs = trap_FS_GetFileList("scripts", ".campaign", bigTextBuffer, sizeof(bigTextBuffer));		char filename[MAX_QPATH]; // was 128		char *dirptr = bigTextBuffer;		for (i = 0; i < numdirs; i++, dirptr += dirlen + 1)		{			// log a warning if server has more than MAX_CAMPAIGNS			if (level.campaignCount >= MAX_CAMPAIGNS)			{				G_LogPrintf("WARNING G_ParseCampaigns: number of campaigns larger then MAX_CAMPAIGNS/n");				break;			}			dirlen = strlen(dirptr);			strcpy(filename, "scripts/");			strcat(filename, dirptr);			if (G_LoadCampaignsFromFile(filename))			{				mapFound = qtrue;			}		}	}	if (!mapFound)	{		// map isn't found in the current campaign, see if it's the first map in another campaign		for (i = 0; i < level.campaignCount; i++)		{			if (!Q_stricmp(g_campaigns[i].mapnames[0], level.rawmapname))			{				// someone manually specified a /map command, and it's the first map in a campaign				trap_Cvar_Set("g_currentCampaign", g_campaigns[i].shortname);				trap_Cvar_Set("g_currentCampaignMap", "0");				level.newCampaign = qtrue;				g_campaigns[level.campaignCount].current = 0;				level.currentCampaign                    = i;				break;			}		}		if (i == level.campaignCount)		{			char buf[MAX_STRING_CHARS];			if (trap_Argc() < 1) // command not found, throw error			{				G_Error("Usage 'map <mapname>/n'");			}			trap_Argv(0, buf, sizeof(buf));			if (!(*buf)) // command not found, throw error			{				G_Error("Usage 'map <mapname>/n'");			}			// no campaign found, fallback to GT_WOLF			// and reload the map			trap_Cvar_Set("g_gametype", "2");			trap_SendConsoleCommand(EXEC_APPEND, va("%s %s/n", buf, level.rawmapname));		}	}}
开发者ID:dstaesse,项目名称:etlegacy,代码行数:96,


示例29: ConsoleCommand

/*=================ConsoleCommand=================*/qboolean	ConsoleCommand( void ) {	char	cmd[MAX_TOKEN_CHARS];	trap_Argv( 0, cmd, sizeof( cmd ) );	//	all commands prefixed with st_ are destined for the rules engine.	if (	cmd[ 0 ] == 's' &&			cmd[ 1 ] == 't' &&			cmd[ 2 ] == '_' )	{		if ( G_ST_exec( ST_CONSOLECOMMAND, cmd+3 ) )			return qtrue;	}	switch( SWITCHSTRING( cmd ) )	{#ifdef DEVELOPER	case CS('b','u','y',0):	case CS('s','e','l','l'):	case CS('v','i','s','i'):	case CS('b','e','g','i'):	case CS('a','s','s','e'):	case CS('i','n','t','e'):	case CS('e','n','d','i'):	case CS('l','o','o','k'):	case CS('p','l','a','n'):		G_ST_exec( ST_CLIENTCOMMAND, 0, cmd );		trap_SendConsoleCommand( EXEC_INSERT, "wait 50 ;" );		return qtrue;		//	cl0_	case CS('c','l','0','_'):		ClientCommand( 0, cmd + 4 );		return 0;#endif		//	entitylist	case CS('e','n','t','i'):		Svcmd_EntityList_f();		return qtrue;		//	forceteam	case CS('f','o','r','c'):		Svcmd_ForceTeam_f();		return qtrue;		//	game_memory	case CS('g','a','m','e'):		Svcmd_GameMem_f();		return qtrue;		//	addbot	case CS('a','d','d','b'):		Svcmd_AddBot_f();		return qtrue;		//	botlist	case CS('b','o','t','l'):		Svcmd_BotList_f();		return qtrue;		//	addip	case CS('a','d','d','i'):		Svcmd_AddIP_f();		return qtrue;		//	removeip	case CS('r','e','m','o'):		Svcmd_RemoveIP_f();		return qtrue;		//	listip	case CS('l','i','s','t'):		trap_SendConsoleCommand( EXEC_NOW, "g_banIPs/n" );		return qtrue;		//	abort	case CS('a','b','o','r'):		G_ST_exec( ST_CONSOLECOMMAND, cmd );		return qtrue;	}	if (g_dedicated.integer) {		if (Q_stricmp (cmd, "say") == 0) {			trap_SendServerCommand( -1, va("print /"server: %s/"", ConcatArgs(1) ) );			return qtrue;		}		// everything else will also be printed as a say command		trap_SendServerCommand( -1, va("print /"server: %s/"", ConcatArgs(0) ) );		return qtrue;	}	return qfalse;//.........这里部分代码省略.........
开发者ID:ballju,项目名称:SpaceTrader-GPL-1.1.14,代码行数:101,



注:本文中的trap_Argv函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ trap_BotEnterChat函数代码示例
C++ trap_Args函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。