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

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

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

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

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

示例1: Host_Tell_f

void Host_Tell_f(void){	client_t *client;	client_t *save;	int		j;	char	*p;	char	text[64];	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	if (Cmd_Argc () < 3)		return;	Q_strcpy(text, host_client->name);	Q_strcat(text, ": ");	p = Cmd_Args();// remove quotes if present	if (*p == '"')	{		p++;		p[Q_strlen(p)-1] = 0;	}// check length & truncate if necessary	j = sizeof(text) - 2 - Q_strlen(text);  // -2 for /n and null terminator	if (Q_strlen(p) > j)		p[j] = 0;	strcat (text, p);	strcat (text, "/n");	save = host_client;	for (j = 0, client = svs.clients; j < svs.maxclients; j++, client++)	{		if (!client->active || !client->spawned)			continue;		if (Q_strcasecmp(client->name, Cmd_Argv(1)))			continue;		host_client = client;		SV_ClientPrintf("%s", text);		break;	}	host_client = save;}
开发者ID:flwh,项目名称:Alcatel_OT_985_kernel,代码行数:50,


示例2: NET_Ban_f

void NET_Ban_f(void){    char	addrStr [32];    char	maskStr [32];    void	(*print)(char *fmt, ...);    if (cmd_source == src_command) {        if (!sv.active) {            Cmd_ForwardToServer();            return;        }        print = Con_Printf;    } else {        if (pr_global_struct->deathmatch && !host_client->privileged) {            return;        }        print = SV_ClientPrintf;    }    switch (Cmd_Argc()) {    case 1:        if (((struct in_addr *)&banAddr)->s_addr) {            Q_strcpy(addrStr, inet_ntoa(*(struct in_addr *)&banAddr));            Q_strcpy(maskStr, inet_ntoa(*(struct in_addr *)&banMask));            print("Banning %s [%s]/n", addrStr, maskStr);        } else {            print("Banning not active/n");        }        break;    case 2:        if (Q_strcasecmp(Cmd_Argv(1), "off") == 0) {            banAddr = 0x00000000;        } else {            banAddr = inet_addr(Cmd_Argv(1));        }        banMask = 0xffffffff;        break;    case 3:        banAddr = inet_addr(Cmd_Argv(1));        banMask = inet_addr(Cmd_Argv(2));        break;    default:        print("BAN ip_address [mask]/n");        break;    }}
开发者ID:carriercomm,项目名称:flQuake,代码行数:49,


示例3: Host_Status_f

/*==================Host_Status_f==================*/void Host_Status_f (void){	client_t	*client;	int			seconds;	int			minutes;	int			hours = 0;	int			j;	void		(*print_fn) (const char *fmt, ...) __fp_attribute__((__format__(__printf__,1,2)));	if (cmd_source == src_command)	{		if (!sv.active)		{			Cmd_ForwardToServer ();			return;		}		print_fn = Con_Printf;	}	else		print_fn = SV_ClientPrintf;	print_fn ("host:    %s/n", Cvar_VariableString ("hostname"));	print_fn ("version: %4.2f/n", VERSION);	if (tcpipAvailable)		print_fn ("tcp/ip:  %s/n", my_tcpip_address);	if (ipxAvailable)		print_fn ("ipx:     %s/n", my_ipx_address);	print_fn ("map:     %s/n", sv.name);	print_fn ("players: %i active (%i max)/n/n", net_activeconnections, svs.maxclients);	for (j = 0, client = svs.clients; j < svs.maxclients; j++, client++)	{		if (!client->active)			continue;		seconds = (int)(net_time - NET_QSocketGetTime(client->netconnection));		minutes = seconds / 60;		if (minutes)		{			seconds -= (minutes * 60);			hours = minutes / 60;			if (hours)				minutes -= (hours * 60);		}		else			hours = 0;		print_fn ("#%-2u %-16.16s  %3i  %2i:%02i:%02i/n", j+1, client->name, (int)client->edict->v.frags, hours, minutes, seconds);		print_fn ("   %s/n", NET_QSocketGetAddressString(client->netconnection));	}}
开发者ID:bangstk,项目名称:Quakespasm,代码行数:53,


示例4: Host_Noclip_f

/*==================Host_Noclip_f==================*/void Host_Noclip_f (void){	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	if (pr_global_struct->deathmatch)		return;	//johnfitz -- allow user to explicitly set noclip to on or off	switch (Cmd_Argc())	{	case 1:		if (sv_player->v.movetype != MOVETYPE_NOCLIP)		{			noclip_anglehack = true;			sv_player->v.movetype = MOVETYPE_NOCLIP;			SV_ClientPrintf ("noclip ON/n");		}		else		{			noclip_anglehack = false;			sv_player->v.movetype = MOVETYPE_WALK;			SV_ClientPrintf ("noclip OFF/n");		}		break;	case 2:		if (Q_atof(Cmd_Argv(1)))		{			noclip_anglehack = true;			sv_player->v.movetype = MOVETYPE_NOCLIP;			SV_ClientPrintf ("noclip ON/n");		}		else		{			noclip_anglehack = false;			sv_player->v.movetype = MOVETYPE_WALK;			SV_ClientPrintf ("noclip OFF/n");		}		break;	default:		Con_Printf("noclip [value] : toggle noclip mode. values: 0 = off, 1 = on/n");		break;	}	//johnfitz}
开发者ID:bangstk,项目名称:Quakespasm,代码行数:53,


示例5: 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,


示例6: 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, 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;	// send it as a server command if we are connected	Cmd_ForwardToServer ();}
开发者ID:raynorpat,项目名称:quake2,代码行数:56,


示例7: NET_Ban_f

voidNET_Ban_f(void){    char addrStr[32];    char maskStr[32];    void (*print)(const char *fmt, ...) __attribute__((format(printf,1,2)));    if (cmd_source == src_command) {	if (!sv.active) {	    Cmd_ForwardToServer();	    return;	}	print = Con_Printf;    } else {	if (pr_global_struct->deathmatch)	    return;	print = SV_ClientPrintf;    }    switch (Cmd_Argc()) {    case 1:	if (banAddr.s_addr != INADDR_ANY) {	    strcpy(addrStr, inet_ntoa(banAddr));	    strcpy(maskStr, inet_ntoa(banMask));	    print("Banning %s [%s]/n", addrStr, maskStr);	} else	    print("Banning not active/n");	break;    case 2:	if (strcasecmp(Cmd_Argv(1), "off") == 0)	    banAddr.s_addr = INADDR_ANY;	else	    banAddr.s_addr = inet_addr(Cmd_Argv(1));	banMask.s_addr = INADDR_NONE;	break;    case 3:	banAddr.s_addr = inet_addr(Cmd_Argv(1));	banMask.s_addr = inet_addr(Cmd_Argv(2));	break;    default:	print("BAN ip_address [mask]/n");	break;    }}
开发者ID:AidHamza,项目名称:eviltoys,代码行数:47,


示例8: Host_God_f

/*==================Host_God_fSets client to godmode==================*/void Host_God_f (void){    if (cmd_source == src_command)    {        Cmd_ForwardToServer ();        return;    }    if (pr_global_struct->deathmatch && !host_client->privileged)        return;    sv_player->v.flags = (int)sv_player->v.flags ^ FL_GODMODE;    if (!((int)sv_player->v.flags & FL_GODMODE) )        SV_ClientPrintf ("godmode OFF/n");    else        SV_ClientPrintf ("godmode ON/n");}
开发者ID:jjjaaajjj,项目名称:ws-pro-android-games,代码行数:24,


示例9: Host_Notarget_f

static void Host_Notarget_f (void){	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	if (*sv_globals.deathmatch || skill.integer > 2)		return;	sv_player->v.flags = (int)sv_player->v.flags ^ FL_NOTARGET;	if (!((int)sv_player->v.flags & FL_NOTARGET) )		SV_ClientPrintf (0, "notarget OFF/n");	else		SV_ClientPrintf (0, "notarget ON/n");}
开发者ID:svn2github,项目名称:uhexen2,代码行数:17,


示例10: Host_God_f

/*==================Host_God_fSets client to godmode==================*/static void Host_God_f (void){	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	if (*sv_globals.deathmatch || *sv_globals.coop || skill.integer > 2)		return;	sv_player->v.flags = (int)sv_player->v.flags ^ FL_GODMODE;	if (!((int)sv_player->v.flags & FL_GODMODE) )		SV_ClientPrintf (0, "godmode OFF/n");	else		SV_ClientPrintf (0, "godmode ON/n");}
开发者ID:svn2github,项目名称:uhexen2,代码行数:24,


示例11: Host_Notarget_f

void Host_Notarget_f (void){	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	if (pr_global_struct->deathmatch && !host_client->privileged)		return;	sv_player->v.flags = (int)sv_player->v.flags ^ FL_NOTARGET;	if (!((int)sv_player->v.flags & FL_NOTARGET) )		SV_ClientPrintf ("notarget OFF/n");	else		SV_ClientPrintf ("notarget ON/n");}
开发者ID:generaltso,项目名称:handmadequake,代码行数:17,


示例12: Host_Name_f

/*======================Host_Name_f======================*/static void Host_Name_f (void){	char	newName[32];	char	*pdest;	if (Cmd_Argc () == 1)	{		Con_Printf ("/"name/" is /"%s/"/n", cl_name.string);		return;	}	if (Cmd_Argc () == 2)		q_strlcpy (newName, Cmd_Argv(1), sizeof(newName));	else		q_strlcpy (newName, Cmd_Args(), sizeof(newName));	newName[15] = 0;	// client_t structure actually says name[32].	//this is for the fuckers who put braces in the name causing loadgame to crash.	pdest = strchr(newName,'{');	if (pdest)	{		*pdest = 0;	//zap the brace		Con_Printf ("Illegal char in name removed!/n");	}	if (cmd_source == src_command)	{		if (strcmp(cl_name.string, newName) == 0)			return;		Cvar_Set ("_cl_name", newName);		if (cls.state == ca_connected)			Cmd_ForwardToServer ();		return;	}	if (host_client->name[0] && strcmp(host_client->name, "unconnected") )		if (strcmp(host_client->name, newName) != 0)			Con_Printf ("%s renamed to %s/n", host_client->name, newName);	strcpy (host_client->name, newName);	host_client->edict->v.netname = PR_SetEngineString(host_client->name);// send notification to all clients	MSG_WriteByte (&sv.reliable_datagram, svc_updatename);	MSG_WriteByte (&sv.reliable_datagram, host_client - svs.clients);	MSG_WriteString (&sv.reliable_datagram, host_client->name);}
开发者ID:svn2github,项目名称:uhexen2,代码行数:50,


示例13: CL_Name_f

voidCL_Name_f(void){    char new_name[16];    const char *arg;    if (Cmd_Argc() == 1) {	Con_Printf("/"name/" is /"%s/"/n", cl_name.string);	return;    }    arg = (Cmd_Argc() == 2) ? Cmd_Argv(1) : Cmd_Args();    snprintf(new_name, sizeof(new_name), "%s", arg);    if (!strcmp(cl_name.string, new_name))	return;    Cvar_Set("_cl_name", new_name);    Cmd_ForwardToServer();}
开发者ID:dommul,项目名称:blinky,代码行数:18,


示例14: Host_QC_Exec

/*==================Host_QC_ExecExecute QC commands from the console==================*/void Host_QC_Exec (void){	dfunction_t *f;	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	if (!developer.value)		return;	f = 0;	if ((f = ED_FindFunction(Cmd_Argv(1))) != NULL)	{		pr_global_struct->self = EDICT_TO_PROG(sv_player);		PR_ExecuteProgram ((func_t)(f - pr_functions));	}	else		Con_Printf("bad function/n");}
开发者ID:darkduke606,项目名称:DQuakePlus,代码行数:26,


示例15: Cmd_ExecuteString_internal

void EXT_FUNC Cmd_ExecuteString_internal(const char* cmdName, cmd_source_t src, IGameClient* client) {	// Search in functions	cmd_function_t *cmd = cmd_functions;	while (cmd)	{		if (!Q_stricmp(cmd_argv[0], cmd->name))		{			cmd->function();			if (g_pcls.demorecording && (cmd->flags & FCMD_HUD_COMMAND) && !g_pcls.spectator)			{				CL_RecordHUDCommand(cmd->name);			}			return;		}		cmd = cmd->next;	}	// Search in aliases	cmdalias_t *a = cmd_alias;	while (a)	{		if (!Q_stricmp(cmd_argv[0], a->name))		{			Cbuf_InsertText(a->value);			return;		}		a = a->next;	}	// Search in cvars	if (!Cvar_Command() && g_pcls.state >= ca_connected)	{		// Send to a server if nothing processed locally and connected		Cmd_ForwardToServer();	}}
开发者ID:LeninChan,项目名称:rehlds,代码行数:41,


示例16: Host_Notarget_f

/*==================Host_Notarget_f==================*/void Host_Notarget_f (void){	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	if (pr_global_struct->deathmatch)		return;	//johnfitz -- allow user to explicitly set notarget to on or off	switch (Cmd_Argc())	{	case 1:		sv_player->v.flags = (int)sv_player->v.flags ^ FL_NOTARGET;		if (!((int)sv_player->v.flags & FL_NOTARGET) )			SV_ClientPrintf ("notarget OFF/n");		else			SV_ClientPrintf ("notarget ON/n");		break;	case 2:		if (Q_atof(Cmd_Argv(1)))		{			sv_player->v.flags = (int)sv_player->v.flags | FL_NOTARGET;			SV_ClientPrintf ("notarget ON/n");		}		else		{			sv_player->v.flags = (int)sv_player->v.flags & ~FL_NOTARGET;			SV_ClientPrintf ("notarget OFF/n");		}		break;	default:		Con_Printf("notarget [value] : toggle notarget mode. values: 0 = off, 1 = on/n");		break;	}	//johnfitz}
开发者ID:bangstk,项目名称:Quakespasm,代码行数:44,


示例17: Host_Name_f

/*======================Host_Name_f======================*/void Host_Name_f (void){	char	newName[32];	if (Cmd_Argc () == 1)	{		Con_Printf ("/"name/" is /"%s/"/n", cl_name.string);		return;	}	if (Cmd_Argc () == 2)		q_strlcpy(newName, Cmd_Argv(1), sizeof(newName));	else		q_strlcpy(newName, Cmd_Args(), sizeof(newName));	newName[15] = 0;	// client_t structure actually says name[32].	if (cmd_source == src_command)	{		if (Q_strcmp(cl_name.string, newName) == 0)			return;		Cvar_Set ("_cl_name", newName);		if (cls.state == ca_connected)			Cmd_ForwardToServer ();		return;	}	if (host_client->name[0] && strcmp(host_client->name, "unconnected") )	{		if (Q_strcmp(host_client->name, newName) != 0)			Con_Printf ("%s renamed to %s/n", host_client->name, newName);	}	Q_strcpy (host_client->name, newName);	host_client->edict->v.netname = PR_SetEngineString(host_client->name);// send notification to all clients	MSG_WriteByte (&sv.reliable_datagram, svc_updatename);	MSG_WriteByte (&sv.reliable_datagram, host_client - svs.clients);	MSG_WriteString (&sv.reliable_datagram, host_client->name);}
开发者ID:bangstk,项目名称:Quakespasm,代码行数:44,


示例18: Host_Noclip_f

static void Host_Noclip_f (void){	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	if (*sv_globals.deathmatch || *sv_globals.coop || skill.integer > 2)		return;	if (sv_player->v.movetype != MOVETYPE_NOCLIP)	{		sv_player->v.movetype = MOVETYPE_NOCLIP;		SV_ClientPrintf (0, "noclip ON/n");	}	else	{		sv_player->v.movetype = MOVETYPE_WALK;		SV_ClientPrintf (0, "noclip OFF/n");	}}
开发者ID:svn2github,项目名称:uhexen2,代码行数:22,


示例19: Host_Fly_f

/*==================Host_Fly_fSets client to flymode==================*/void Host_Fly_f (void){    if (cmd_source == src_command)    {        Cmd_ForwardToServer ();        return;    }    if (pr_global_struct->deathmatch && !host_client->privileged)        return;    if (sv_player->v.movetype != MOVETYPE_FLY)    {        sv_player->v.movetype = MOVETYPE_FLY;        SV_ClientPrintf ("flymode ON/n");    }    else    {        sv_player->v.movetype = MOVETYPE_WALK;        SV_ClientPrintf ("flymode OFF/n");    }}
开发者ID:jjjaaajjj,项目名称:ws-pro-android-games,代码行数:29,


示例20: Host_Notarget_f

void Host_Notarget_f (void){	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	if (!allowcheats)	{		SV_ClientPrintf("No cheats allowed, use sv_cheats 1 and restart level to enable./n");		return;	}	if (pr_global_struct->deathmatch && !host_client->privileged)		return;	sv_player->v.flags = (int)sv_player->v.flags ^ FL_NOTARGET;	if (!((int)sv_player->v.flags & FL_NOTARGET) )		SV_ClientPrintf ("notarget OFF/n");	else		SV_ClientPrintf ("notarget ON/n");}
开发者ID:DrLabman,项目名称:Vengeance-r2,代码行数:23,


示例21: Host_Name_f

/*======================Host_Name_f======================*/void Host_Name_f (void){	char	*newName;	if (Cmd_Argc () == 1)	{		Con_Printf ("/"name/" is /"%s/"/n", cl_name.string);		return;	}	if (Cmd_Argc () == 2)		newName = Cmd_Argv(1);		else		newName = Cmd_Args();	newName[15] = 0;	if (cmd_source == src_command)	{		if (Q_strcmp(cl_name.string, newName) == 0)			return;		Cvar_Set ("_cl_name", newName);		if (cls.state == ca_connected)			Cmd_ForwardToServer ();		return;	}	if (host_client->name[0] && strcmp(host_client->name, "unconnected") )		if (Q_strcmp(host_client->name, newName) != 0)			Con_Printf ("%s renamed to %s/n", host_client->name, newName);	Q_strcpy (host_client->name, newName);	host_client->edict->v.netname = host_client->name - pr_strings;	// send notification to all clients		MSG_WriteByte (&sv.reliable_datagram, svc_updatename);	MSG_WriteByte (&sv.reliable_datagram, host_client - svs.clients);	MSG_WriteString (&sv.reliable_datagram, host_client->name);}
开发者ID:DrLabman,项目名称:Vengeance-r2,代码行数:42,


示例22: Host_Noclip_f

void Host_Noclip_f (void){    if (cmd_source == src_command)    {        Cmd_ForwardToServer ();        return;    }    if (pr_global_struct->deathmatch && !host_client->privileged)        return;    if (sv_player->v.movetype != MOVETYPE_NOCLIP)    {        noclip_anglehack = true;        sv_player->v.movetype = MOVETYPE_NOCLIP;        SV_ClientPrintf ("noclip ON/n");    }    else    {        noclip_anglehack = false;        sv_player->v.movetype = MOVETYPE_WALK;        SV_ClientPrintf ("noclip OFF/n");    }}
开发者ID:jjjaaajjj,项目名称:ws-pro-android-games,代码行数:24,


示例23: Host_Ping_f

/*==================Host_Ping_f==================*/void Host_Ping_f (void){	int		i, j;	float		total;	client_t	*client;	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	SV_ClientPrintf ("Client ping times:/n");	for (i = 0, client = svs.clients; i < svs.maxclients; i++, client++)	{		if (!client->active)			continue;		total = 0;		for (j = 0; j < NUM_PING_TIMES; j++)			total+=client->ping_times[j];		total /= NUM_PING_TIMES;		SV_ClientPrintf ("%4i %s/n", (int)(total*1000), client->name);	}}
开发者ID:bangstk,项目名称:Quakespasm,代码行数:30,


示例24: Host_Class_f

static void Host_Class_f (void){	float	newClass;	if (Cmd_Argc () == 1)	{		Con_Printf("/"playerclass/" is %d (/"%s/")/n", cl_playerclass.integer,			   (cl_playerclass.integer < 1 || cl_playerclass.integer > MAX_PLAYER_CLASS) ?			   "unknown" : ClassNames[cl_playerclass.integer - 1]);		return;	}	if (Cmd_Argc () == 2)		newClass = atof(Cmd_Argv(1));	else		newClass = atof(Cmd_Args());	if (newClass < 0 || newClass > MAX_PLAYER_CLASS)	{		Con_Printf("Invalid player class./n");		return;	}#if ENABLE_OLD_DEMO	if (gameflags & GAME_OLD_DEMO && (newClass != CLASS_PALADIN && newClass != CLASS_THEIF))	{		Con_Printf("That class is not available in this demo version./n");		return;	}#endif	/* OLD_DEMO */	if (newClass == CLASS_DEMON)	{		if (!(gameflags & GAME_PORTALS))		{			Con_Printf("That class is only available in the mission pack./n");			return;		}		if (sv.active && (progs->crc != PROGS_V112_CRC))		{	/* FIXME: This isn't right!!!  A custom progs can actually			 * support 5 classes and can have v1.11 structures at the			 * same time.  I don't know a way to detect any such thing,			 * hence this lame solution! -- O.S.  */			Con_Printf("progs.dat in use doesn't support that class./n");			return;		}	}	if (cmd_source == src_command)	{		Cvar_SetValue ("_cl_playerclass", newClass);		// when class changes after map load, update cl_playerclass,		// cl_playerclass should probably only be used in worldspawn, though.		if (sv.active && sv_globals.cl_playerclass)			*sv_globals.cl_playerclass = newClass;		if (cls.state == ca_connected)			Cmd_ForwardToServer ();		return;	}	if (sv.loadgame || host_client->playerclass)	{		if (host_client->edict->v.playerclass)			newClass = host_client->edict->v.playerclass;		else if (host_client->playerclass)			newClass = host_client->playerclass;	}	host_client->playerclass = newClass;	host_client->edict->v.playerclass = newClass;	// Change the weapon model used	*sv_globals.self = EDICT_TO_PROG(host_client->edict);	PR_ExecuteProgram (*sv_globals.ClassChangeWeapon);// send notification to all clients	MSG_WriteByte (&sv.reliable_datagram, svc_updateclass);	MSG_WriteByte (&sv.reliable_datagram, host_client - svs.clients);	MSG_WriteByte (&sv.reliable_datagram, (byte)newClass);}
开发者ID:svn2github,项目名称:uhexen2,代码行数:80,


示例25: Host_Tell_f

void Host_Tell_f(void){	int		j;	client_t	*client;	client_t	*save;	const char	*p;	char		text[MAXCMDLINE], *p2;	qboolean	quoted;	if (cmd_source == src_command)	{		Cmd_ForwardToServer ();		return;	}	if (Cmd_Argc () < 3)		return;	p = Cmd_Args();// remove quotes if present	quoted = false;	if (*p == '/"')	{		p++;		quoted = true;	}	q_snprintf (text, sizeof(text), "%s: %s", host_client->name, p);// check length & truncate if necessary	j = (int) strlen(text);	if (j >= (int) sizeof(text) - 1)	{		text[sizeof(text) - 2] = '/n';		text[sizeof(text) - 1] = '/0';	}	else	{		p2 = text + j;		while ((const char *)p2 > (const char *)text &&			(p2[-1] == '/r' || p2[-1] == '/n' || (p2[-1] == '/"' && quoted)) )		{			if (p2[-1] == '/"' && quoted)				quoted = false;			p2[-1] = '/0';			p2--;		}		p2[0] = '/n';		p2[1] = '/0';	}	save = host_client;	for (j = 0, client = svs.clients; j < svs.maxclients; j++, client++)	{		if (!client->active || !client->spawned)			continue;		if (q_strcasecmp(client->name, Cmd_Argv(1)))			continue;		host_client = client;		SV_ClientPrintf("%s", text);		break;	}	host_client = save;}
开发者ID:bangstk,项目名称:Quakespasm,代码行数:63,


示例26: Host_Say

void Host_Say(qboolean teamonly){	int		j;	client_t	*client;	client_t	*save;	const char	*p;	char		text[MAXCMDLINE], *p2;	qboolean	quoted;	qboolean	fromServer = false;	if (cmd_source == src_command)	{		if (cls.state != ca_dedicated)		{			Cmd_ForwardToServer ();			return;		}		fromServer = true;		teamonly = false;	}	if (Cmd_Argc () < 2)		return;	save = host_client;	p = Cmd_Args();// remove quotes if present	quoted = false;	if (*p == '/"')	{		p++;		quoted = true;	}// turn on color set 1	if (!fromServer)		q_snprintf (text, sizeof(text), "/001%s: %s", save->name, p);	else		q_snprintf (text, sizeof(text), "/001<%s> %s", hostname.string, p);// check length & truncate if necessary	j = (int) strlen(text);	if (j >= (int) sizeof(text) - 1)	{		text[sizeof(text) - 2] = '/n';		text[sizeof(text) - 1] = '/0';	}	else	{		p2 = text + j;		while ((const char *)p2 > (const char *)text &&			(p2[-1] == '/r' || p2[-1] == '/n' || (p2[-1] == '/"' && quoted)) )		{			if (p2[-1] == '/"' && quoted)				quoted = false;			p2[-1] = '/0';			p2--;		}		p2[0] = '/n';		p2[1] = '/0';	}	for (j = 0, client = svs.clients; j < svs.maxclients; j++, client++)	{		if (!client || !client->active || !client->spawned)			continue;		if (teamplay.value && teamonly && client->edict->v.team != save->edict->v.team)			continue;		host_client = client;		SV_ClientPrintf("%s", text);	}	host_client = save;	if (cls.state == ca_dedicated)		Sys_Printf("%s", &text[1]);}
开发者ID:bangstk,项目名称:Quakespasm,代码行数:76,


示例27: Host_Say

void Host_Say(qboolean teamonly){	client_t *client;	client_t *save;	int		j;	char	*p;	char	text[64];	qboolean	fromServer = false;	if (cmd_source == src_command)	{		if (cls.state == ca_dedicated)		{			fromServer = true;			teamonly = false;		}		else		{			Cmd_ForwardToServer ();			return;		}	}	if (Cmd_Argc () < 2)		return;	save = host_client;	p = Cmd_Args();// remove quotes if present	if (*p == '"')	{		p++;		p[Q_strlen(p)-1] = 0;	}// turn on color set 1	if (!fromServer)		sprintf (text, "%c%s: ", 1, save->name);		//sprintf (text, "%s: ", save->name);	else		sprintf (text, "%c<%s> ", 1, hostname.string);		//sprintf (text, "<%s> ", hostname.string);	j = sizeof(text) - 2 - Q_strlen(text);  // -2 for /n and null terminator	if (Q_strlen(p) > j)		p[j] = 0;	strcat (text, p);	strcat (text, "/n");	for (j = 0, client = svs.clients; j < svs.maxclients; j++, client++)	{		if (!client || !client->active || !client->spawned)			continue;		if (teamplay.value && teamonly && client->edict->v.team != save->edict->v.team)			continue;		host_client = client;		SV_ClientPrintf("%s", text);	}	host_client = save;	Sys_Printf("%s", &text[1]);}
开发者ID:DrLabman,项目名称:Vengeance-r2,代码行数:64,


示例28: 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;	void			**data;	Cmd_TokenizeString (text, true);	// execute the command line	if (!Cmd_Argc())	{		//Com_DPrintf ("Cmd_ExecuteString: no tokens on '%s'/n", text);		return;		// no tokens	}	// check functions	// FIXME CRASH: NULL in the rb tree!	data = rbfind (cmd_argv[0], cmdtree);	if (data)	{		cmd = *(cmd_function_t **)data;		if (!cmd->function)		{	// forward to server command			//Cmd_ExecuteString (va("cmd %s", text));#ifndef DEDICATED_ONLY			Cmd_ForwardToServer ();#endif			//Com_DPrintf ("Cmd_ExecuteString: no function '%s' for '%s', using 'cmd'/n", cmd->name, text);		}		else		{			//Com_DPrintf ("Cmd_ExecuteString: function '%s' called for '%s'/n", cmd->name, text);			cmd->function ();		}		return;	}	// check alias	data = rbfind (cmd_argv[0], aliastree);	if (data)	{		char expanded[MAX_STRING_CHARS];		a = *(cmdalias_t **)data;		if (++alias_count == ALIAS_LOOP_COUNT)		{			Com_Printf ("ALIAS_LOOP_COUNT/n", LOG_GENERAL);			return;		}		Cmd_Expand_Args (a->value, expanded, sizeof(expanded));		Cbuf_InsertText (expanded);		return;	}	// check cvars	if (Cvar_Command ())	{		//Com_DPrintf ("Cmd_ExecuteString: '%s' : is cvar/n", text);		return;	}	// send it as a server command if we are connected#ifndef DEDICATED_ONLY	Cmd_ForwardToServer ();#else	Com_Printf ("Unknown command /"%s/"/n", LOG_GENERAL, text);#endif}
开发者ID:Slipyx,项目名称:r1q2,代码行数:78,



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


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