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

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

51自学网 2021-06-01 20:11:58
  C++
这篇教程C++ Cmd_TokenizeString函数代码示例写得很实用,希望能帮到您。

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

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

示例1: Cmd_ExecuteString

/*============Cmd_ExecuteStringA complete command line has been parsed, so try to execute it============*/void Cmd_ExecuteString( char *text, cmd_source_t src ){		qboolean		isServerCommand = false;	qboolean		isDLLCommand = false;	cmd_function_t	*cmd;	cmdalias_t	*a;	// set cmd source	cmd_source = src;		// execute the command line	Cmd_TokenizeString( text );			if( !Cmd_Argc()) return; // no tokens	// check alias	for( a = cmd_alias; a; a = a->next )	{		if( !Q_stricmp( cmd_argv[0], a->name ))		{			Cbuf_InsertText( a->value );			return;		}	}	// check functions	for( cmd = cmd_functions; cmd; cmd = cmd->next )	{		if( cmd && !Q_stricmp( cmd_argv[0], cmd->name ) && cmd->function )		{			cmd->function();			return;		}	}	// check cvars	if( Cvar_Command( )) return;	// forward the command line to the server, so the entity DLL can parse it	if( cmd_source == src_command && host.type == HOST_NORMAL )	{		if( cls.state >= ca_connected )		{			Cmd_ForwardToServer();			return;		}	}	else if( text[0] != '@' && host.type == HOST_NORMAL )	{		// commands with leading '@' are hidden system commands		MsgDev( D_INFO, "Unknown command /"%s/"/n", text );	}}
开发者ID:bmk10,项目名称:sing-engine,代码行数:60,


示例2: CL_TableDeleteRow

/*=====================CL_TableDeleteRow=====================*/static void CL_TableDeleteRow( void ) {	tableInfo_t * table = find_table( &cl.db, Cmd_Argv( 1 ) );	if ( table && table->rows ) {		const int i = atoi( Cmd_Argv( 2 ) );		cellInfo_t * row = table->rows + (i*table->column_count);		const int lastrow = table->row_count-1;				if ( cl.db.delete_trigger ) {			cl.db.delete_trigger( &cl.db, table, i );		}		if ( i == -1 ) {			table->row_count = 0;			table->last_changed++;		} else {						memmove( row, row + table->column_count, (lastrow-i) * table->column_count * sizeof(cellInfo_t) );			table->row_count--;			table->last_changed++;		}		if ( uivm ) {			Cmd_TokenizeString( va("st_table %s", table->name) );			VM_Call( uivm, UI_CONSOLE_COMMAND, cls.realtime );		}	}}
开发者ID:ballju,项目名称:SpaceTrader-GPL-1.1.14,代码行数:33,


示例3: SV_ConnectionlessPacket

/** SV_ConnectionlessPacket* * A connectionless packet has four leading 0xff* characters to distinguish it from a game channel.* Clients that are in the game can still send* connectionless packets.*/void SV_ConnectionlessPacket( const socket_t *socket, const netadr_t *address, msg_t *msg ){	connectionless_cmd_t *cmd;	char *s, *c;	MSG_BeginReading( msg );	MSG_ReadLong( msg );    // skip the -1 marker	s = MSG_ReadStringLine( msg );	Cmd_TokenizeString( s );	c = Cmd_Argv( 0 );	Com_DPrintf( "Packet %s : %s/n", NET_AddressToString( address ), c );	for( cmd = connectionless_cmds; cmd->name; cmd++ )	{		if( !strcmp( c, cmd->name ) )		{			cmd->func( socket, address );			return;		}	}	Com_DPrintf( "Bad connectionless packet from %s:/n%s/n", NET_AddressToString( address ), s );}
开发者ID:Kaperstone,项目名称:warsow,代码行数:34,


示例4: Cmd_ExecuteString

/* * A complete command line has been parsed, so try to execute it */voidCmd_ExecuteString(char *text){    cmd_function_t *cmd;    cmdalias_t *a;    Cmd_TokenizeString(text, true);    /* execute the command line */    if (!Cmd_Argc())    {        return; /* no tokens */    }    /* check functions */    for (cmd = cmd_functions; cmd; cmd = cmd->next)    {        if (!Q_strcasecmp(cmd_argv[0], cmd->name))        {            if (!cmd->function)            {                /* forward to server command */                Cmd_ExecuteString(va("cmd %s", text));            }            else            {                cmd->function();            }            return;        }    }    /* check alias */    for (a = cmd_alias; a; a = a->next)    {        if (!Q_strcasecmp(cmd_argv[0], a->name))        {            if (++alias_count == ALIAS_LOOP_COUNT)            {                Com_Printf("ALIAS_LOOP_COUNT/n");                return;            }            Cbuf_InsertText(a->value);            return;        }    }    /* check cvars */    if (Cvar_Command())    {        return;    }#ifndef DEDICATED_ONLY    /* send it as a server command if we are connected */    Cmd_ForwardToServer();#endif}
开发者ID:smcv,项目名称:yquake2,代码行数:63,


示例5: SV_ConnectionlessPacket

/*=================SV_ConnectionlessPacketA connectionless packet has four leading 0xffcharacters to distinguish it from a game channel.Clients that are in the game can still sendconnectionless packets.=================*/void SV_ConnectionlessPacket( netadr_t from, msg_t *msg ) {	char	*s;	char	*c;	#ifdef USE_AUTH	netadr_t	authServerIP;	#endif	MSG_BeginReadingOOB( msg );	MSG_ReadLong( msg );		// skip the -1 marker	if (!Q_strncmp("connect", (char *) &msg->data[4], 7)) {		Huff_Decompress(msg, 12);	}	s = MSG_ReadStringLine( msg );	Cmd_TokenizeString( s );	c = Cmd_Argv(0);	Com_DPrintf ("SV packet %s : %s/n", NET_AdrToString(from), c);	if (!Q_stricmp(c, "getstatus")) {		if (SV_CheckDRDoS(from)) { return; }		SVC_Status( from  );  } else if (!Q_stricmp(c, "getinfo")) {		if (SV_CheckDRDoS(from)) { return; }		SVC_Info( from );	} else if (!Q_stricmp(c, "getchallenge")) {		SV_GetChallenge( from );	} else if (!Q_stricmp(c, "connect")) {		SV_DirectConnect( from );	} else if (!Q_stricmp(c, "ipAuthorize")) {		SV_AuthorizeIpPacket( from );	}	#ifdef USE_AUTH	// @Barbatos @Kalish	else if ( (!Q_stricmp(c, "AUTH:SV")))	{		NET_StringToAdr(sv_authServerIP->string, &authServerIP);				if ( !NET_CompareBaseAdr( from, authServerIP ) ) {			Com_Printf( "AUTH not from the Auth Server/n" );			return;		}		VM_Call(gvm, GAME_AUTHSERVER_PACKET);	}	#endif		else if (!Q_stricmp(c, "rcon")) {		SVC_RemoteCommand( from, msg );	}else if (!Q_stricmp(c, "rconRecovery")) {		SVC_RconRecoveryRemoteCommand( from, msg );	} else if (!Q_stricmp(c, "disconnect")) {		// if a client starts up a local server, we may see some spurious		// server disconnect messages when their new server sees our final		// sequenced messages to the old client	} else {		Com_DPrintf ("bad connectionless packet from %s:/n%s/n"		, NET_AdrToString (from), s);	}}
开发者ID:pedrxd,项目名称:MinModUrT,代码行数:70,


示例6: CL_ParseServerCommand

/** CL_ParseServerCommand*/static void CL_ParseServerCommand( msg_t *msg ){	const char *s;	char *text;	svcmd_t *cmd;	text = MSG_ReadString( msg );	Cmd_TokenizeString( text );	s = Cmd_Argv( 0 );	if( cl_debug_serverCmd->integer && ( cls.state < CA_ACTIVE || cls.demo.playing ) )		Com_Printf( "CL_ParseServerCommand: /"%s/"/n", text );	// filter out these server commands to be called from the client	for( cmd = svcmds; cmd->name; cmd++ )	{		if( !strcmp( s, cmd->name ) )		{			cmd->func();			return;		}	}	Com_Printf( "Unknown server command: %s/n", s );}
开发者ID:ShaitanShootout,项目名称:BM,代码行数:29,


示例7: SV_ExecuteClientCommand

/*==================SV_ExecuteClientCommandAlso called by bot code==================*/void SV_ExecuteClientCommand(client_t *cl, const char *s, qboolean clientOK){	ucmd_t  *u;	Cmd_TokenizeString(s);	// see if it is a server level command	for(u = ucmds ; u->name ; u++)	{		if(!strcmp(Cmd_Argv(0), u->name))		{			u->func(cl);			break;		}	}	if(clientOK)	{		// pass unknown strings to the game		if(!u->name && sv.state == SS_GAME)		{			VM_Call(gvm, GAME_CLIENT_COMMAND, cl - svs.clients);		}	}}
开发者ID:Diskutant,项目名称:RTCW-SP,代码行数:32,


示例8: Cmd_ExecuteString

void	Cmd_ExecuteString( const char *str ) {		int l = strlen( str );	if ( str[l-1] == '/n' ) {		char *stripped = alloca( l+1 );		strcpy( stripped, str );		str = stripped;		stripped[l-1] = 0;	}		Com_Printf( "%s/n", str );	Cmd_TokenizeString( str );		 	const char *arg0 = Cmd_Argv( 0 );	int hashid = HashString( arg0 );		// check commands first	for( cmd_function_t *cmd = cmd_functions ; cmd ; cmd = cmd->next ) {		if( hashid == cmd->hashid && !strcmp( arg0, cmd->name ) ) {			cmd->function();			return;		}	}		// then check cvars	cvar_t *cvar = Cvar_FindVar( arg0 );	if ( cvar ) {		Cvar_Set( arg0, Cmd_Argv( 1 ) );		return;	}	Com_Printf( "Unknown command: %s/n", arg0 );}
开发者ID:TermiT,项目名称:Doomsday--Hellraiser,代码行数:31,


示例9: ParseFloats

int ParseFloats(char *s, float *f, int *f_size){	int i, argc;	if (!s || !f || !f_size)	{		Sys_Error("ParseFloats() wrong params");	}	if (f_size[0] <= 0)	{		return (f_size[0] = 0);    // array have no size, unusual but no crime	}	Cmd_TokenizeString(s);	argc = min(Cmd_Argc(), f_size[0]);	for (i = 0; i < argc; i++)	{		f[i] = Q_atof(Cmd_Argv(i));	}	for (; i < f_size[0]; i++)	{		f[i] = 0;    // zeroing unused elements	}	return (f_size[0] = argc);}
开发者ID:carriercomm,项目名称:Doodle,代码行数:29,


示例10: SV_ExecuteClientCommand

/*==================SV_ExecuteClientCommandAlso called by bot code==================*/void SV_ExecuteClientCommand( client_t *cl, const char *s, qboolean clientOK ) {	ucmd_t	*u;	qboolean bProcessed = qfalse;	Cmd_TokenizeString( s );	// see if it is a server level command	for (u=ucmds ; u->name ; u++) {		if (!strcmp (Cmd_Argv(0), u->name) ) {			u->func( cl );			bProcessed = qtrue;			break;		}	}	if (clientOK) {		// pass unknown strings to the game		if (!u->name && sv.state == SS_GAME && (cl->state == CS_ACTIVE || cl->state == CS_PRIMED)) {			// strip /r /n and ;			if ( sv_filterCommands->integer )				Cmd_Args_Sanitize();			GVM_ClientCommand( cl - svs.clients );		}	}	else if (!bProcessed)		Com_DPrintf( "client text ignored for %s: %s/n", cl->name, Cmd_Argv(0) );}
开发者ID:Ben2917,项目名称:OpenJK,代码行数:34,


示例11: Sv_UserStringCommand

/* * Sv_UserStringCommand * * Invoke the specified user string command.  If we don't have a function for * it, pass it off to the game module. */static void Sv_UserStringCommand(const char *s) {	sv_user_string_cmd_t *c;	Cmd_TokenizeString(s);	if (strchr(s, '/xFF')) { // catch end of message exploit		Com_Warn("Sv_ExecuteUserCommand: Illegal command from %s/n",				Sv_NetaddrToString(sv_client));		Sv_KickClient(sv_client, NULL);		return;	}	for (c = sv_user_string_cmds; c->name; c++) {		if (!strcmp(Cmd_Argv(0), c->name)) {			c->func();			break;		}	}	if (!c->name) { // unmatched command		if (sv.state == SV_ACTIVE_GAME) // maybe the game knows what to do with it			svs.game->ClientCommand(sv_player);	}}
开发者ID:darkshade9,项目名称:aq2w,代码行数:32,


示例12: SV_NocPacket

void SV_NocPacket(netadr_t from, msg_t *msg) { //Not connected packet (Server is not running)	char* s;	char* c;	if(msg->cursize >= 4) {		if(*(int*)msg->data == -1) {			#if 1			int CSteamServer_HandleIncomingPacket(const void* pData, int cbData, unsigned int srcIP, unsigned short srcPort);			if(!CSteamServer_HandleIncomingPacket((const void*)msg->data, msg->cursize, from._ip, from.port));			#endif		} else if(*(int*)msg->data == -2) {				MSG_BeginReading(msg);			MSG_ReadLong(msg);						s = MSG_ReadStringLine(msg);						Cmd_TokenizeString(s);						c = Cmd_Argv(0);						if(!Q_stricmp(c, "serverversionresponse")) {				if(!NET_CompareBaseAdr(from, x_master))					return;			} else if(!Q_stricmp(c, "clientversionresponse")) {				if(!NET_CompareBaseAdr(from, x_master))					return;				clientversion = atoi( Cmd_Argv(1) );			}		}	}}
开发者ID:EndlessClan,项目名称:CoDExtended,代码行数:30,


示例13: SV_ConnectionlessPacket

/** * @brief Handles a connectionless message from a client * @sa NET_OOB_Printf * @param[out] stream The stream to write to * @param msg The message buffer to read the connectionless data from */static void SV_ConnectionlessPacket (struct net_stream *stream, struct dbuffer *msg){	const char *c;	char s[512];	char buf[256];	NET_ReadStringLine(msg, s, sizeof(s));	Cmd_TokenizeString(s, qfalse);	c = Cmd_Argv(0);	Com_DPrintf(DEBUG_SERVER, "Packet : %s/n", c);	if (Q_streq(c, "teaminfo"))		SVC_TeamInfo(stream);	else if (Q_streq(c, "info"))		SVC_Info(stream);	else if (Q_streq(c, "status"))		SVC_Status(stream);	else if (Q_streq(c, "connect"))		SVC_DirectConnect(stream);	else if (Q_streq(c, "rcon"))		SVC_RemoteCommand(stream);	else		Com_Printf("Bad connectionless packet from %s:/n%s/n", NET_StreamPeerToName(stream, buf, sizeof(buf), qtrue), s);}
开发者ID:chrisglass,项目名称:ufoai,代码行数:32,


示例14: SV_ConnectionlessPacket

/*=================SV_ConnectionlessPacketA connectionless packet has four leading 0xffcharacters to distinguish it from a game channel.Clients that are in the game can still sendconnectionless packets.=================*/static void SV_ConnectionlessPacket( netadr_t from, msg_t *msg ) {	char	*s;	const char	*c;	MSG_BeginReading( msg );	MSG_ReadLong( msg );		// skip the -1 marker	s = MSG_ReadStringLine( msg );	Cmd_TokenizeString( s );	c = Cmd_Argv(0);	Com_DPrintf ("SV packet %s : %s/n", NET_AdrToString(from), c);	if (!strcmp(c,"getstatus")) {		SVC_Status( from  );	} else if (!strcmp(c,"getinfo")) {		SVC_Info( from );	} else if (!strcmp(c,"connect")) {		SV_DirectConnect( from );	} else if (!strcmp(c,"disconnect")) {		// if a client starts up a local server, we may see some spurious		// server disconnect messages when their new server sees our final		// sequenced messages to the old client	} else {		Com_DPrintf ("bad connectionless packet from %s:/n%s/n"		, NET_AdrToString (from), s);	}}
开发者ID:BSzili,项目名称:OpenJK,代码行数:39,


示例15: Sv_ConnectionlessPacket

/* * @brief A connection-less packet has four leading 0xff bytes to distinguish * it from a game channel. Clients that are in the game can still send these, * and they will be handled here. */static void Sv_ConnectionlessPacket(void) {	Net_BeginReading(&net_message);	Net_ReadLong(&net_message); // skip the -1 marker	const char *s = Net_ReadStringLine(&net_message);	Cmd_TokenizeString(s);	const char *c = Cmd_Argv(0);	const char *a = Net_NetaddrToString(&net_from);	Com_Debug("Packet from %s: %s/n", a, c);	if (!g_strcmp0(c, "ping"))		Sv_Ping_f();	else if (!g_strcmp0(c, "ack"))		Sv_Ack_f();	else if (!g_strcmp0(c, "status"))		Sv_Status_f();	else if (!g_strcmp0(c, "info"))		Sv_Info_f();	else if (!g_strcmp0(c, "get_challenge"))		Sv_GetChallenge_f();	else if (!g_strcmp0(c, "connect"))		Sv_Connect_f();	else if (!g_strcmp0(c, "rcon"))		Sv_Rcon_f();	else		Com_Print("Bad connectionless packet from %s:/n%s/n", a, s);}
开发者ID:chrisnew,项目名称:quetoo,代码行数:36,


示例16: SV_ExecuteClientCommand

/*==================SV_ExecuteClientCommandAlso called by bot code==================*/void SV_ExecuteClientCommand( client_t *cl, const char *s, qboolean clientOK ) {	const ucmd_t *u;	const char *cmd;	const char *arg1;	const char *arg2;	qboolean foundCommand = qfalse;	Cmd_TokenizeString(s);	cmd = Cmd_Argv(0);	arg1 = Cmd_Argv(1);	arg2 = Cmd_Argv(2);	// see if it is a server level command	for (u=ucmds ; u->name ; u++) {		if (!strcmp (cmd, u->name) ) {			foundCommand = qtrue;			u->func( cl );			break;		}	}	if (clientOK) {		// pass unknown strings to the game		if (!u->name && sv.state == SS_GAME) {			// q3cbufexec fix			if (!Q_stricmp(cmd, "say") || !Q_stricmp(cmd, "say_team") || !Q_stricmp(cmd, "tell")) {				for (int i = 1; i < Cmd_Argc(); i++) {					if (strpbrk(Cmd_Argv(i), "/n/r")) {						return;					}				}			}			// disable useless vsay commands (because?)			if (!Q_stricmp(cmd, "vsay") || !Q_stricmp(cmd, "vsay_team") || !Q_stricmp(cmd, "vtell") || !Q_stricmp(cmd, "vosay") ||				!Q_stricmp(cmd, "vosay_team") || !Q_stricmp(cmd, "votell") || !Q_stricmp(cmd, "vtaunt")) {				return;			}			// q3cbufexec fix			if ((!Q_stricmp(cmd, "callvote") || !Q_stricmp(cmd, "callteamvote"))) {				if (strpbrk(arg1, ";/n/r") || strpbrk(arg2, ";/n/r")) {					return;				}			}			// teamcmd crash fix			if (!Q_stricmp(cmd, "team") && (!Q_stricmp(arg1, "follow1") || !Q_stricmp(arg1, "follow2"))) {				return;			}			VM_Call( gvm, GAME_CLIENT_COMMAND, cl - svs.clients );		}	}	else if ( !foundCommand )	{		Com_DPrintf( "client text ignored for %s/n", cl->name );	}}
开发者ID:ouned,项目名称:jk2mv,代码行数:66,


示例17: Cmd_ExecuteString

/*----------------------------------------------------------------------------- Function: Cmd_ExecuteString -Execute command string.  Parameters: text -[in] text string to execute.  Returns: Nothing.  Notes: 	A complete command line has been parsed, so try to execute it	FIXME: lookupnoadd the token to speed search?-----------------------------------------------------------------------------*/PUBLIC void Cmd_ExecuteString( char *text ){		cmd_function_t	*cmd;	cmdalias_t		*a;	W32	hashid;	Cmd_TokenizeString( text, true );				// execute the command line	if( ! Cmd_Argc() )	{		return;		// no tokens	}	hashid = my_strhash( cmd_argv[ 0 ] );	// check functions	for( cmd = cmd_functions ; cmd ; cmd = cmd->next )	{		if( hashid == cmd->id )		{			if( ! cmd->function )			{	// forward to server command				Cmd_ExecuteString( va( "cmd %s", text ) );			}			else			{				cmd->function();			}						return;		}	}	// check alias	for( a = cmd_alias ; a ; a = a->next )	{		if( ! my_stricmp( cmd_argv[ 0 ], a->name ) )		{			if( ++alias_count == ALIAS_LOOP_COUNT )			{				Com_Printf( "ALIAS_LOOP_COUNT/n" );				return;			}			Cbuf_InsertText( a->value );			return;		}	}		// check cvars	if( Cvar_Command() )	{		return;	}	// send it as a server command if we are connected//	Cmd_ForwardToServer();}
开发者ID:feraligatr,项目名称:wolf2d,代码行数:71,


示例18: SV_ConnectionlessPacket

/*=================SV_ConnectionlessPacketA connectionless packet has four leading 0xffcharacters to distinguish it from a game channel.Clients that are in the game can still sendconnectionless packets.=================*/void SV_ConnectionlessPacket( netadr_t from, msg_t *msg ) {	char    *s;	const char    *c;	MSG_BeginReadingOOB( msg );	MSG_ReadLong( msg );        // skip the -1 marker#if !defined RTCW_SP	if ( !Q_strncmp( "connect", reinterpret_cast<const char*> (&msg->data[4]), 7 ) ) {		Huff_Decompress( msg, 12 );	}#endif // RTCW_XX	s = MSG_ReadStringLine( msg );	Cmd_TokenizeString( s );	c = Cmd_Argv( 0 );	Com_DPrintf( "SV packet %s : %s/n", NET_AdrToString( from ), c );	if ( !Q_stricmp( c,"getstatus" ) ) {		SVC_Status( from  );	} else if ( !Q_stricmp( c,"getinfo" ) ) {		SVC_Info( from );	} else if ( !Q_stricmp( c,"getchallenge" ) ) {		SV_GetChallenge( from );	} else if ( !Q_stricmp( c,"connect" ) ) {		SV_DirectConnect( from );#if !defined RTCW_ET || (defined RTCW_ET && AUTHORIZE_SUPPORT)	} else if ( !Q_stricmp( c,"ipAuthorize" ) ) {		SV_AuthorizeIpPacket( from );#endif // RTCW_XX	} else if ( !Q_stricmp( c, "rcon" ) ) {		SVC_RemoteCommand( from, msg );#if defined RTCW_MP// DHM - Nerve#ifdef UPDATE_SERVER	} else if ( !Q_stricmp( c, "getUpdateInfo" ) ) {		SVC_GetUpdateInfo( from );#endif// DHM - Nerve#endif // RTCW_XX	} else if ( !Q_stricmp( c,"disconnect" ) ) {		// if a client starts up a local server, we may see some spurious		// server disconnect messages when their new server sees our final		// sequenced messages to the old client	} else {		Com_DPrintf( "bad connectionless packet from %s:/n%s/n"					 , NET_AdrToString( from ), s );	}}
开发者ID:bibendovsky,项目名称:rtcw,代码行数:65,


示例19: Cmd_ExecuteString

/*============Cmd_ExecuteStringA complete command line has been parsed, so try to execute it============*/void	Cmd_ExecuteString( const char *text ) {		cmd_function_t	*cmd, **prev;	// execute the command line	Cmd_TokenizeString( text );			if ( !Cmd_Argc() ) {		return;		// no tokens	}	// check registered command functions		for ( prev = &cmd_functions ; *prev ; prev = &cmd->next ) {		cmd = *prev;		if ( !Q_stricmp( Cmd_Argv(0), cmd->name ) ) {			// rearrange the links so that the command will be			// near the head of the list next time it is used			*prev = cmd->next;			cmd->next = cmd_functions;			cmd_functions = cmd;			// perform the action			if ( !cmd->function ) {				// let the cgame or game handle it				break;			} else {				cmd->function ();			}			return;		}	}		// check cvars	if ( Cvar_Command() ) {		return;	}	// check client game commands	if ( com_cl_running && com_cl_running->integer && CL_GameCommand() ) {		return;	}	// check server game commands	if ( com_sv_running && com_sv_running->integer && SV_GameCommand() ) {		return;	}	// check ui commands	if ( com_cl_running && com_cl_running->integer && UI_GameCommand() ) {		return;	}	// send it as a server command if we are connected	// this will usually result in a chat message	//CL_ForwardCommandToServer ( text );	CL_ForwardCommandToServer ( text );}
开发者ID:3ddy,项目名称:Jedi-Academy,代码行数:62,


示例20: SV_ConnectionlessPacket

/*=================SV_ConnectionlessPacketA connectionless packet has four leading 0xffcharacters to distinguish it from a game channel.Clients that are in the game can still sendconnectionless packets.=================*/void SV_ConnectionlessPacket( netadr_t from, msg_t *msg ){	char *s;	char *c;	MSG_BeginReadingOOB( msg );	MSG_ReadLong( msg );  // skip the -1 marker	if ( !Q_strncmp( "connect", ( char * ) &msg->data[ 4 ], 7 ) )	{		Huff_Decompress( msg, 12 );	}	s = MSG_ReadStringLine( msg );	Cmd_TokenizeString( s );	c = Cmd_Argv( 0 );	Com_DPrintf( "SV packet %s : %s/n", NET_AdrToString( from ), c );	if ( !Q_stricmp( c, "getstatus" ) )	{		if ( SV_CheckDRDoS( from ) ) { return; }		SVC_Status( from );	}	else if ( !Q_stricmp( c, "getinfo" ) )	{		if ( SV_CheckDRDoS( from ) ) { return; }		SVC_Info( from );	}	else if ( !Q_stricmp( c, "getchallenge" ) )	{		SV_GetChallenge( from );	}	else if ( !Q_stricmp( c, "connect" ) )	{		SV_DirectConnect( from );	}	else if ( !Q_stricmp( c, "rcon" ) )	{		SVC_RemoteCommand( from, msg );	}	else if ( !Q_stricmp( c, "disconnect" ) )	{		// if a client starts up a local server, we may see some spurious		// server disconnect messages when their new server sees our final		// sequenced messages to the old client	}	else	{		Com_DPrintf( "bad connectionless packet from %s:/n%s/n", NET_AdrToString( from ), s );	}}
开发者ID:ghostmod,项目名称:Unvanquished,代码行数:65,


示例21: Cmd_ExecuteString

/*============Cmd_ExecuteStringA complete command line has been parsed, so try to execute it============*/void	Cmd_ExecuteString( const char *text ) {		// execute the command line	Cmd_TokenizeString( text );			if ( !Cmd_Argc() ) {		return;		// no tokens	}	// check registered command functions		for ( int c = 0; c < CMD_MAX_NUM; ++c )	{		if ( !Q_stricmp( cmd_argv[0],cmd_functions[c].name ) ) {			// rearrange the links so that the command will be			// near the head of the list next time it is used			cmd_function_t temp = cmd_functions[c];			cmd_functions[c] = cmd_functions[0];			cmd_functions[0] = temp;			// perform the action			if ( !temp.function ) {				// let the cgame or game handle it				break;			} else {				temp.function ();			}			return;		}	}		// check cvars	if ( Cvar_Command() ) {		return;	}	// check client game commands	if ( com_cl_running && com_cl_running->integer && CL_GameCommand() ) {		return;	}	// check server game commands	if ( com_sv_running && com_sv_running->integer && SV_GameCommand() ) {		return;	}	// check ui commands	if ( com_cl_running && com_cl_running->integer && UI_GameCommand() ) {		return;	}	// send it as a server command if we are connected	// this will usually result in a chat message	CL_ForwardCommandToServer ();}
开发者ID:bdwakefield,项目名称:OpenJK,代码行数:60,


示例22: Cmd_ExecuteString

/** * @brief A complete command line has been parsed, so try to execute it * @todo lookupnoadd the token to speed search? */void Cmd_ExecuteString (const char *text){	const cmd_function_t *cmd;	const cmd_alias_t *a;	const char *str;	unsigned int hash;	Com_DPrintf(DEBUG_COMMANDS, "ExecuteString: '%s'/n", text);	Cmd_TokenizeString(text, qtrue);	/* execute the command line */	if (!Cmd_Argc())		/* no tokens */		return;	str = Cmd_Argv(0);	/* check functions */	hash = Com_HashKey(str, CMD_HASH_SIZE);	for (cmd = cmd_functions_hash[hash]; cmd; cmd = cmd->hash_next) {		if (!Q_strcasecmp(str, cmd->name)) {			if (!cmd->function) {	/* forward to server command */				Cmd_ExecuteString(va("cmd %s", text));			} else {				cmd_userdata = cmd->userdata;				cmd->function();			}			return;		}	}	/* check alias */	hash = Com_HashKey(str, ALIAS_HASH_SIZE);	for (a = cmd_alias_hash[hash]; a; a = a->hash_next) {		if (!Q_strcasecmp(str, a->name)) {			if (++alias_count == ALIAS_LOOP_COUNT) {				Com_Printf("ALIAS_LOOP_COUNT/n");				return;			}			Cbuf_InsertText(a->value);			return;		}	}	/* check cvars */	if (Cvar_Command())		return;	/* send it as a server command if we are connected */	Cmd_ForwardToServer();}
开发者ID:chrisglass,项目名称:ufoai,代码行数:56,


示例23: Cmd_TokenizeString

//For using chat with @@ prefixvoid AdminCmds::SM_PSay(const char* msg, int source){  int i;  char message[1024];  char cleannames[128];  char cleannamed[128];  Cmd_TokenizeString(msg);  if(Cmd_Argc() < 2)  {    Plugin_ChatPrintf(source, "Usage: @@player message");    return;  }  client_t* cl = Plugin_SV_Cmd_GetPlayerClByHandle(Cmd_Argv(0));  if(cl == NULL)  {    Plugin_ChatPrintf(source, "No player for %s found", Cmd_Argv(0));    return;  }  if(cl->state < CS_ACTIVE)  {    Plugin_ChatPrintf(source, "Player %s is not in active", cl->name);    return;  }  message[0] = '/0';  for(i = 1; i < Cmd_Argc(); ++i)  {    Q_strcat(message, sizeof(message), Cmd_Argv(i));    Q_strcat(message, sizeof(message), " ");  }  int destination = NUMFORCLIENT(cl);  if(source == destination)  {      Plugin_ChatPrintf(source, "Why would you send a message to yourself?");      return;  }  Q_strncpyz(cleannames, Plugin_GetPlayerName(source), sizeof(cleannames));  Q_strncpyz(cleannamed, cl->name, sizeof(cleannamed));  Q_CleanStr(cleannames);  Q_CleanStr(cleannamed);  Plugin_ChatPrintf(source, "^7%s ^1>> ^7%s: %s", cleannames, cleannamed, message);  Plugin_ChatPrintf(destination, "^7%s ^1>> ^7%s: %s", cleannames, cleannamed, message);}
开发者ID:D4edalus,项目名称:CoD4x_Server,代码行数:53,


示例24: Com_SafeMode

/*===================Com_SafeModeCheck for "safe" on the command line, which willskip loading of openjk_sp.cfg===================*/qboolean Com_SafeMode( void ) {	int		i;	for ( i = 0 ; i < com_numConsoleLines ; i++ ) {		Cmd_TokenizeString( com_consoleLines[i] );		if ( !Q_stricmp( Cmd_Argv(0), "safe" )			|| !Q_stricmp( Cmd_Argv(0), "cvar_restart" ) ) {			com_consoleLines[i][0] = 0;			return qtrue;		}	}	return qfalse;}
开发者ID:Aura15,项目名称:OpenJK,代码行数:21,


示例25: SV_ConnectionlessPacket

/*=================SV_ConnectionlessPacketA connectionless packet has four leading 0xffcharacters to distinguish it from a game channel.Clients that are in the game can still sendconnectionless packets.=================*/void SV_ConnectionlessPacket( netadr_t from, msg_t *msg ) {	char	*s;	char	*c;	MSG_BeginReadingOOB( msg );	MSG_ReadLong( msg );		// skip the -1 marker	if (!Q_strncmp("connect", (char *) &msg->data[4], 7)) {		Huff_Decompress(msg, 12);	}	s = MSG_ReadStringLine( msg );	Cmd_TokenizeString( s );	c = Cmd_Argv(0);	if (!Q_stricmp(c, "getstatus")) {		if (SV_CheckDRDoS(from)) { return; }		SVC_Status( from  );  } else if (!Q_stricmp(c, "getinfo")) {		if (SV_CheckDRDoS(from)) { return; }		SVC_Info( from );	} else if (!Q_stricmp(c, "getchallenge")) {		SV_GetChallenge( from );	} else if (!Q_stricmp(c, "connect")) {		SV_DirectConnect( from );	/*	} else if (!Q_stricmp(c, "ipAuthorize")) {		SV_AuthorizeIpPacket( from );	*/	} else if (!Q_stricmp(c, "rcon")) {		SVC_RemoteCommand( from, msg );	////////////////////////////////////////////////	// separator for ip2loc.patch and playerdb.patch	////////////////////////////////////////////////	} else if (!Q_stricmp(c, "disconnect")) {		// if a client starts up a local server, we may see some spurious		// server disconnect messages when their new server sees our final		// sequenced messages to the old client	} else {		Com_DPrintf ("bad connectionless packet from %s:/n%s/n"		, NET_AdrToString (from), s);	}	// We moved this from the top of this function to the bottom.	// During a DRDoS attack we get thousands of lines of packets	// that just garble the screen.  Since we return from this	// function early if a DRDoS is detected, we don't print a line	// for each attacking packet anymore.	Com_DPrintf ("SV packet %s : %s/n", NET_AdrToString(from), c);}
开发者ID:promolic1,项目名称:iourt-fru,代码行数:61,


示例26: SV_ConnectionlessPacket

/* * A connectionless packet has four leading 0xff * characters to distinguish it from a game channel. * Clients that are in the game can still send * connectionless packets. */voidSV_ConnectionlessPacket(void){	char *s;	char *c;	MSG_BeginReading(&net_message);	MSG_ReadLong(&net_message); /* skip the -1 marker */	s = MSG_ReadStringLine(&net_message);	Cmd_TokenizeString(s, false);	c = Cmd_Argv(0);	Com_DPrintf("Packet %s : %s/n", NET_AdrToString(net_from), c);	if (!strcmp(c, "ping"))	{		SVC_Ping();	}	else if (!strcmp(c, "ack"))	{		SVC_Ack();	}	else if (!strcmp(c, "status"))	{		SVC_Status();	}	else if (!strcmp(c, "info"))	{		SVC_Info();	}	else if (!strcmp(c, "getchallenge"))	{		SVC_GetChallenge();	}	else if (!strcmp(c, "connect"))	{		SVC_DirectConnect();	}	else if (!strcmp(c, "rcon"))	{		SVC_RemoteCommand();	}	else	{		Com_Printf("bad connectionless packet from %s:/n%s/n",				NET_AdrToString(net_from), s);	}}
开发者ID:Clever-Boy,项目名称:yquake2,代码行数:56,


示例27: SV_ConnectionlessPacket

/*=================SV_ConnectionlessPacketA connectionless packet has four leading 0xffcharacters to distinguish it from a game channel.Clients that are in the game can still sendconnectionless packets.=================*/static void SV_ConnectionlessPacket (void){	const char	*s;	const char	*c;	MSG_BeginReading ();	MSG_ReadLong ();	// skip the -1 marker	s = MSG_ReadStringLine ();	Cmd_TokenizeString (s);	c = Cmd_Argv(0);	if (!strcmp(c, "ping") || ( c[0] == A2A_PING && (c[1] == 0 || c[1] == '/n')) )	{		SVC_Ping ();		return;	}	if (c[0] == A2A_ACK && (c[1] == 0 || c[1] == '/n') )	{		Con_Printf ("A2A_ACK from %s/n", NET_AdrToString (net_from));		return;	}	else if (c[0] == A2S_ECHO)	{		NET_SendPacket (net_message.cursize, net_message.data, net_from);		return;	}	else if (!strcmp(c,"status"))	{		SVC_Status ();		return;	}	else if (!strcmp(c,"log"))	{		SVC_Log ();		return;	}	else if (!strcmp(c,"connect"))	{		SVC_DirectConnect ();		return;	}	else if (!strcmp(c, "rcon"))		SVC_RemoteCommand ();	else		Con_Printf ("bad connectionless packet from %s:/n%s/n", NET_AdrToString (net_from), s);}
开发者ID:crutchwalkfactory,项目名称:motocakerteam,代码行数:59,


示例28: Cmd_ExecuteString

void Cmd_ExecuteString (const char *text){	cmd_function_t	*cmd;	cmd_alias_t	*a;	int		key;	static char	buf[1024];	Cmd_ExpandString (text, buf);	Cmd_TokenizeString (buf);	// execute the command line	if (!Cmd_Argc())		return;		// no tokens	key = Com_HashKey (cmd_argv[0]);	// check functions	for (cmd=cmd_hash_array[key] ; cmd ; cmd=cmd->hash_next)	{		if (!strcasecmp (cmd_argv[0], cmd->name))		{			if (cmd->function)				cmd->function ();			return;		}	}	// check cvars	if (Cvar_Command())		return;	// check alias	for (a=cmd_alias_hash[key] ; a ; a=a->hash_next)	{		if (!strcasecmp (cmd_argv[0], a->name))		{			Cbuf_InsertText ("/n");			Cbuf_InsertText (a->value);			return;		}	}	if (PR_ConsoleCmd())		return;	Con_Printf ("Unknown command /"%s/"/n", Cmd_Argv(0));}
开发者ID:QuakePhil,项目名称:mvdsv,代码行数:48,


示例29: Cmd_ExecuteString

/*============Cmd_ExecuteStringA complete command line has been parsed, so try to execute itFIXME: lookupnoadd the token to speed search?============*/void	Cmd_ExecuteString (char *text){		cmd_function_t	*cmd;	cmdalias_t		*a;	Cmd_TokenizeString (text);			// execute the command line	if (!Cmd_Argc())		return;		// no tokens// check functions	for (cmd=cmd_functions ; cmd ; cmd=cmd->next)	{		if (!Q_strcasecmp (cmd_argv[0],cmd->name))		{			if (!strcmp(cmd->name, "kill"))			{				if ((trace_state == read_trace || trace_state == write_trace)) 				{					trace_state = stop_trace;					printf("GAJA: command = kill/n");				}			}			if (!cmd->function)				Cmd_ForwardToServer ();			else				cmd->function ();			return;		}	}// check alias	for (a=cmd_alias ; a ; a=a->next)	{		if (!Q_strcasecmp (cmd_argv[0], a->name))		{			Cbuf_InsertText (a->value);			return;		}	}	// check cvars	if (!Cvar_Command () && (cl_warncmd.value || developer.value))		Con_Printf ("Unknown command /"%s/"/n", Cmd_Argv(0));	}
开发者ID:jrk,项目名称:QuakeTM,代码行数:56,



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


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