⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 npc_sysinfo.c

📁 石器时代2.0完整版源代码.已经加入新功能. 在REDHAT9下GCC3.4编译成功.
💻 C
📖 第 1 页 / 共 2 页
字号:
			snprintf( buff2, sizeof(buff2), "No.%d:%s", i, buff);			CHAR_talkToCli( tindex, meindex, buff2,							CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));		}	}}/*------------------------------------------------------------------------ *----------------------------------------------------------------------*/static void NPC_Sysinfo_Msg_SendNo( int meindex, int tindex, char *msg){	char	buff[32];	char	msgbuf[512];	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )	{		int	num;		num = atoi( buff);		if( num >=1 && num < NPC_SYSINFO_MSGMAX ) {			if( NPC_Sysinfo_GetMsg( meindex, "sendno", msgbuf,				sizeof( msgbuf), num) != NULL )			{				NPC_Sysinfo_SendMsgToAll( meindex, msgbuf);			}		}	}}/*------------------------------------------------------------------------ *----------------------------------------------------------------------*/static void NPC_Sysinfo_Msg_SendMsg( int meindex, int tindex, char *msg){	char	buff[512];	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )	{		NPC_Sysinfo_SendMsgToAll( meindex, buff);	}}/*------------------------------------------------------------------------ *----------------------------------------------------------------------*/static void NPC_Sysinfo_Msg_Msgcol( int meindex, int tindex, char *msg){	char	buff[64];	typedef struct {		int		color;		char	str[10];	}SYSINFO_COLSET;	SYSINFO_COLSET		colset[] = {		{ 249, "red"},		{ 250, "green"},		{ 251, "yellow"},		{ 252, "blue"},		{ 253, "purple"},		{ 254, "cyan"},		{ 255, "white"},	};	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )	{		int		i;		for( i = 0; i < 7; i ++ ) {			if( strstr( buff, colset[i].str) != NULL ) {				CHAR_setWorkInt( meindex, CHAR_WORK_MSGCOLOR, colset[i].color);				CHAR_talkToCli( tindex, meindex, "已改变讯息的颜色。",								CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));				break;			}		}	}}/*------------------------------------------------------------------------ *----------------------------------------------------------------------*/static char *NPC_Sysinfo_GetMsg( int meindex, char *msgindexstr,								char *out,int outlen, int num ){	char	argstr[NPC_UTIL_GETARGSTR_BUFSIZE];	char	*work;	char	*buff;	char	*cret = NULL;	int 	worklen;	worklen = strlen( msgindexstr)+3;	work = (char *)calloc( 1, worklen * sizeof( char));	buff = (char *)calloc( 1, outlen  * sizeof( char));	NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr));	snprintf( work, worklen, "%s%d", msgindexstr, num);	if( NPC_Util_GetStrFromStrWithDelim( argstr, work,buff, outlen) != NULL )	{		strcpy( out, buff);		cret = out;	}	free( work);	free( buff);	return( cret);}/*------------------------------------------------------------------------ *----------------------------------------------------------------------*/static void NPC_Sysinfo_Msg_Shutdown( int meindex, int tindex, char *msg){	char	buff[10];	int		hun;	NPC_Sysinfo_SendMsg( meindex, tindex, NPC_SYSINFO_ARG_SHUTDOWN_MSG);	/* 凛棉本永玄 */	CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNTIME, NowTime.tv_sec);	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )	{		hun = atoi( buff);		if( hun <= 0 ) {			hun = NPC_SYSINFO_SHUTDOWNLIMIT_DEFAULT;		}	}	else {		hun = NPC_SYSINFO_SHUTDOWNLIMIT_DEFAULT;	}	CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNLIMIT, hun);	CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNDSPTIME,0);}/*------------------------------------------------------------------------ *----------------------------------------------------------------------*/static void NPC_Sysinfo_SendMsg( int meindex, int pindex, int tblnum){	char	argstr[NPC_UTIL_GETARGSTR_BUFSIZE];	char	buff[128];	NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr));	if( NPC_Util_GetStrFromStrWithDelim( argstr, msgtable[tblnum].arg,buff, sizeof( buff)) == NULL )	{		strcpy( buff, msgtable[tblnum].defMsg);	}	if( buff[0] != '\0' ) {		CHAR_talkToCli( pindex, meindex, buff,						CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}}/*------------------------------------------------------------------------ *----------------------------------------------------------------------*/static void NPC_Sysinfo_SendMsgToAll( int meindex, char *msg){    int     i;    int     playernum = CHAR_getPlayerMaxNum();    for( i = 0 ; i < playernum ; i++) {        if( CHAR_getCharUse(i) != FALSE ) {			CHAR_talkToCli( i, meindex, msg,						CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));        }	}}/* 蝈衬平乓仿毛 NO_SEE 卞允月井升丹井 */static void NPC_Sysinfo_All_NoSee( int meindex, int tindex, char *msg ){	char	buff[256];	buff[0] = buff[1] = 0;	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )	{		if( strncmp( buff, "on", strlen( buff ) ) == 0 ){			all_nosee = 1;			snprintf( buff, sizeof( buff), "已开启all_nosee 。" );			CHAR_talkToCli( tindex, meindex, buff,					CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));		}else		if( strncmp( buff, "off", strlen( buff ) ) == 0 ){			all_nosee = 0;			snprintf( buff, sizeof( buff), "已关闭all_nosee 。" );			CHAR_talkToCli( tindex, meindex, buff,					CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));		}	}else	if( all_nosee == 0 ){		snprintf( buff, sizeof( buff), "all_nosee关闭着。" );		CHAR_talkToCli( tindex, meindex, buff,				CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}else{		snprintf( buff, sizeof( buff), "all_nosee开启着。" );			CHAR_talkToCli( tindex, meindex, buff,			CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}}/* 蝈衬平乓仿毛 NO_BODY 卞允月井升丹井 */static void NPC_Sysinfo_All_NoBody( int meindex, int tindex, char *msg ){	char	buff[256];	buff[0] = buff[1] = 0;	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )	{		if( strncmp( buff, "on", strlen( buff ) ) == 0 ){			all_nobody = 1;			snprintf( buff, sizeof( buff), "已开启all_nobody 。" );			CHAR_talkToCli( tindex, meindex, buff,					CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));		}else		if( strncmp( buff, "off", strlen( buff ) ) == 0 ){			all_nobody = 0;			snprintf( buff, sizeof( buff), "已关闭all_nobody 。" );			CHAR_talkToCli( tindex, meindex, buff,					CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));		}	}else	if( all_nobody == 0 ){		snprintf( buff, sizeof( buff), "all_nobody 关闭着。" );		CHAR_talkToCli( tindex, meindex, buff,				CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}else{		snprintf( buff, sizeof( buff), "all_nobody 开启着。" );		CHAR_talkToCli( tindex, meindex, buff,				CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}}static void NPC_Sysinfo_Move_Num( int meindex, int tindex, char *msg ){	char	buff[256];	int		work;	buff[0] = buff[1] = 0;	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )	{		work = atoi( buff );		if( work <= 0 ) {			work = 1000; /* 赝癫 */		}		EnemyMoveNum = work;		snprintf( buff, sizeof( buff), "让敌人同时%d动作。",			EnemyMoveNum );		CHAR_talkToCli( tindex, meindex, buff,					CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}else{		snprintf( buff, sizeof( buff), "现在敌人同时在进行%d动作。",			EnemyMoveNum );		CHAR_talkToCli( tindex, meindex, buff,					CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}}static void NPC_Sysinfo_Born_Num( int meindex, int tindex, char *msg ){	char	buff[256];	int		work;	buff[0] = buff[1] = 0;	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE )	{		work = atoi( buff );		if( work <= 0 ) {			work = 2; /* 赝癫 */		}		one_loop_born = work;		snprintf( buff, sizeof( buff), "敌人同时派出最高的%d。",			one_loop_born );		CHAR_talkToCli( tindex, meindex, buff,					CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}else{		snprintf( buff, sizeof( buff), "现在敌人同时派出最高的%d。",			one_loop_born );		CHAR_talkToCli( tindex, meindex, buff,					CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}}static void NPC_Sysinfo_Enemy_State( int meindex, int tindex, char *msg ){	char	buff[256];	if( all_nobody == 0 ){		snprintf( buff, sizeof( buff), "allnobody 关闭着。" );		CHAR_talkToCli( tindex, meindex, buff,				CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}else{		snprintf( buff, sizeof( buff), "allnobody 开启着。" );		CHAR_talkToCli( tindex, meindex, buff,				CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}	if( all_nosee == 0 ){		snprintf( buff, sizeof( buff), "allnosee 关闭着。" );		CHAR_talkToCli( tindex, meindex, buff,				CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}else{		snprintf( buff, sizeof( buff), "allnosee 开启着。" );		CHAR_talkToCli( tindex, meindex, buff,				CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}	snprintf( buff, sizeof( buff),              "bornnum 现在敌人同时派出最高的%d。",              one_loop_born );	CHAR_talkToCli( tindex, meindex, buff,				CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	snprintf( buff, sizeof( buff),              "movenum 现在敌人同时在进行%d动作。",              EnemyMoveNum );	CHAR_talkToCli( tindex, meindex, buff,			CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));}static void NPC_Sysinfo_SetWalkTime( int meindex, int tindex, char *msg){	int interval;	char	msgbuf[256];	char	buff[256];	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {		interval = atoi( buff);		if( interval > 0 ) {			setWalksendinterval( (unsigned)interval);		}	}	snprintf( msgbuf, sizeof(msgbuf),"WalkInterval = %d 氂秒",getWalksendinterval());	CHAR_talkToCli( tindex, meindex, msgbuf,			CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));	}static void NPC_Sysinfo_SetCATime( int meindex, int tindex, char *msg){	int interval;	char	msgbuf[256];	char	buff[256];	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {		interval = atoi( buff);		if( interval > 0 ) {			setCAsendinterval_ms( (unsigned)interval);		}	}	snprintf( msgbuf, sizeof(msgbuf),"CAsendInterval = %d 氂秒",              getCAsendinterval_ms());	CHAR_talkToCli( tindex, meindex, msgbuf,			CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));}static void NPC_Sysinfo_SetCDTime( int meindex, int tindex, char *msg){	int interval;	char	msgbuf[256];	char	buff[256];	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {		interval = atoi( buff);		if( interval > 0 ) {			setCDsendinterval_ms( (unsigned)interval);		}	}	snprintf( msgbuf, sizeof(msgbuf),"CDsendInterval = %d 氂秒",              getCDsendinterval_ms());	CHAR_talkToCli( tindex, meindex, msgbuf,			CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));}static void NPC_Sysinfo_SetOneloop( int meindex, int tindex, char *msg){	int interval;	char	msgbuf[256];	char	buff[256];	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {		interval = atoi( buff);		if( interval > 0 ) {			setOnelooptime_ms( (unsigned)interval);		}	}	snprintf( msgbuf, sizeof(msgbuf),"Onelooptime = %d 氂秒",              getOnelooptime_ms());	CHAR_talkToCli( tindex, meindex, msgbuf,			CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));}static void NPC_Sysinfo_TitleRestart( int meindex, int tindex, char *msg){	int		rc;	char	msgbuf[256];		rc = TITLE_reinitTitleName();	if( rc) {		snprintf( msgbuf, sizeof(msgbuf),"读取完毕。" );	}	else {		snprintf( msgbuf, sizeof(msgbuf),"发生ERROR。" );	}	CHAR_talkToCli( tindex, meindex, msgbuf,			CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));}static void NPC_Sysinfo_SetSaacwrite( int meindex, int tindex, char *msg){	int interval;	char	msgbuf[256];	char	buff[256];	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {		interval = atoi( buff);		if( interval > 0 ) {			setSaacwritenum( (unsigned)interval);		}	}	snprintf( msgbuf, sizeof(msgbuf),"Saacwritenum = %d ",getSaacwritenum());	CHAR_talkToCli( tindex, meindex, msgbuf,			CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));}static void NPC_Sysinfo_SetSaacread( int meindex, int tindex, char *msg){	int interval;	char	msgbuf[256];	char	buff[256];	if( getStringFromIndexWithDelim( msg, " ", 2, buff, sizeof( buff)) == TRUE ) {		interval = atoi( buff);		if( interval > 0 ) {			setSaacreadnum( (unsigned)interval);		}	}	snprintf( msgbuf, sizeof(msgbuf),"Saacreadnum = %d ",getSaacreadnum());	CHAR_talkToCli( tindex, meindex, msgbuf,			CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -