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

📄 chatmagic.c.bak

📁 石器时代8.0服务端完整源代码。可以直接编译
💻 BAK
📖 第 1 页 / 共 5 页
字号:
	}}// shan 2001/12/18 Begin   由於改变过多,故将原先的function注掉void CHAR_CHAT_DEBUG_eventclean( int charaindex, char* message ){	#ifdef _ADD_NEWEVENT              // WON 多增任务旗标	int event_num = 8;#else	int event_num = 6;#endif	int point;	int shiftbit;	int eventno=0;	char token[1024];	int array;	int shift;	char token_cdkey[256]="", token_name[256]="", cdkey[CDKEYLEN], token_flag[256]="";	unsigned int max_user = 0;	BOOL find = FALSE;	BOOL ret1, ret2;	int  charaindex_tmp = 0;	int i;         getStringFromIndexWithDelim( message, " ", 1, token_flag, sizeof( token));	ret1 = getStringFromIndexWithDelim( message, " ", 2, token_cdkey, sizeof( token_cdkey));    ret2 = getStringFromIndexWithDelim( message, " ", 3, token_name, sizeof( token_name));	shiftbit = atoi(token_flag);	eventno = atoi(token_flag);	if( shiftbit!=-1 && ret1==FALSE && ret2==FALSE ){		charaindex_tmp = charaindex;		find=TRUE;	}else{		if( shiftbit==-1 || strlen(token_cdkey)==0 || strlen(token_name)==0 ){			sprintf( token, "%s", "参数不正确。正确格式:[eventsetend 任务旗标 帐号 人物名称]");			CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE);			return; 		}		max_user = getFdnum();		for( i=0; i<max_user; i++){			char szName[256];			int i_use;						i_use = CONNECT_getUse( i);			if( i_use){				CONNECT_getCdkey( i, cdkey, sizeof( cdkey));				CONNECT_getCharname( i, szName, sizeof( szName));				if( strcmp( cdkey, token_cdkey)==0 && strcmp( szName, token_name)==0){					charaindex_tmp = CONNECT_getCharaindex( i);										find=TRUE;				}			}		}	}		if( strcmp(token_flag, "all")==0 && find ){		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT, 0);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT2, 0);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT3, 0);#ifdef _NEWEVENT		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT4, 0);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT5, 0);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT6, 0);#endif		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT, 0);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT2, 0);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT3, 0);#ifdef _NEWEVENT		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT4, 0);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT5, 0);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT6, 0);#endif#ifdef _ADD_NEWEVENT              // WON 多增任务旗标		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT7, 0);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT7, 0);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT8, 0);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT8, 0);#endif		sprintf( token, "削除全部的事件旗。" );		CHAR_talkToCli( charaindex, -1,token, CHAR_COLORWHITE);		return ;	}	if(find){		array = shiftbit / 32;		shift = shiftbit % 32;				if( array>=event_num ){			sprintf( token, "错误!!你所设的任务旗标编号已超过  围(0~%d)。",32*event_num-1);			CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE);			return;		}		point = CHAR_getInt( charaindex_tmp, CHAR_ENDEVENT+array);        point = point & ~(1<<shift);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT+array, point);		point = CHAR_getInt( charaindex_tmp, CHAR_NOWEVENT+array);			point = point & ~(1<<shift);			CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT+array, point);   		sprintf( token, "Success!! Character Name:%s delete eventflag:[%d].", CHAR_getChar( charaindex_tmp, CHAR_NAME), eventno);		CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE);		// display		if( charaindex_tmp==charaindex )			sprintf( token, "%s", "");		else			sprintf( token, "%s %s", token_cdkey, token_name);		//CHAR_CHAT_DEBUG_watchevent( charaindex, token );	}else{		sprintf( token,"%s\n","失败!!帐号与人物名称无法相符。");		CHAR_talkToCli(charaindex, -1, token, CHAR_COLORWHITE);	}	}// shan 2001/12/15 End// shan 2001/12/18 Begin   由於改变过多,故将原先的function注掉void CHAR_CHAT_DEBUG_eventsetnow( int charaindex, char* message ){#ifdef _ADD_NEWEVENT              // WON 多增任务旗标	int event_num = 8;#else	int event_num = 6;#endif	int point;	int shiftbit;	int eventno=0;	char token[1024];	int array;	int shift;	char token_cdkey[256]="", token_name[256]="", cdkey[CDKEYLEN];	unsigned int max_user = 0;	BOOL find = FALSE;	BOOL ret1, ret2;	int  charaindex_tmp = 0;	int i;         getStringFromIndexWithDelim( message, " ", 1, token, sizeof( token));	ret1 = getStringFromIndexWithDelim( message, " ", 2, token_cdkey, sizeof( token_cdkey));    ret2 = getStringFromIndexWithDelim( message, " ", 3, token_name, sizeof( token_name));	shiftbit = atoi(token);	eventno = atoi(token);	if( shiftbit!=-1 && ret1==FALSE && ret2==FALSE ){		charaindex_tmp = charaindex;		find=TRUE;	}	else{		if( shiftbit==-1 || strlen(token_cdkey)==0 || strlen(token_name)==0 ){			sprintf( token, "%s", "参数不正确。正确格式:[eventsetend 任务旗标 帐号 人物名称]");			CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE);			return; 		}		max_user = getFdnum();		for( i=0; i<max_user; i++){			char szName[256];			int i_use;						i_use = CONNECT_getUse( i);			if( i_use){				CONNECT_getCdkey( i, cdkey, sizeof( cdkey));				CONNECT_getCharname( i, szName, sizeof( szName));				if( strcmp( cdkey, token_cdkey)==0 && strcmp( szName, token_name)==0){					charaindex_tmp = CONNECT_getCharaindex( i);										find=TRUE;				}			}		}	}	if( strcmp(token, "all")==0 && find ){		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT, -1);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT2, -1);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT3, -1);#ifdef _NEWEVENT		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT4, -1);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT5, -1);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT6, -1);#endif#ifdef _ADD_NEWEVENT              // WON 多增任务旗标		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT7, -1);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT8, -1);#endif		sprintf( token, "Success, set all nowflag.." );		CHAR_talkToCli( charaindex, -1,token, CHAR_COLORWHITE);		return ;	}	if(find){		array = shiftbit / 32;		shift = shiftbit % 32;				if( array>=event_num ){			sprintf( token, "错误!!你所设的任务旗标编号已超过  围(0~%d)。",32*event_num-1);			CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE);			return;		}				point = CHAR_getInt( charaindex_tmp, CHAR_NOWEVENT+array);		point = point | (1<<shift);		CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT+array, point);   		sprintf( token, "Success!! Character Name:%s eventnow_number:[%d].", CHAR_getChar( charaindex_tmp, CHAR_NAME), eventno);		CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE);		// display		if( charaindex_tmp==charaindex )			sprintf( token, "%s", "");		else			sprintf( token, "%s %s", token_cdkey, token_name);		CHAR_CHAT_DEBUG_watchevent( charaindex, token );	}else{		sprintf( token,"%s\n","失败!!帐号与人物名称无法相符。");		CHAR_talkToCli(charaindex, -1, token, CHAR_COLORWHITE);	}}/*void CHAR_CHAT_DEBUG_eventsetnow( int charaindex, char* message ){	int point;	int shiftbit;	int eventno=0;	char token[256];	int array;	int shift;	shiftbit=atoi(message);	eventno=atoi(message);	// -1反白仿弘卞楮溢互卅中奶矛件玄   	if(shiftbit==-1) return;	array = shiftbit / 32;	shift = shiftbit % 32;	point = CHAR_getInt(charaindex,CHAR_NOWEVENT+array);	point = point | (1 << shift);	CHAR_setInt(charaindex,CHAR_NOWEVENT+array,point);	sprintf( token, "设定事件中%d号旗。",eventno);	CHAR_talkToCli( charaindex, -1,token, CHAR_COLORWHITE);}*/// shan 2001/12/18 End// shan 2001/12/15 Begin   由於改变过多,故将原先的function注掉void CHAR_CHAT_DEBUG_eventsetend( int charaindex, char* message ){#ifdef _ADD_NEWEVENT              // WON 多增任务旗标	int event_num = 8;#else 	int event_num = 6;#endif	int point;	int shiftbit;	int eventno = 0;	char token[1024];	int array;	int shift;	char token_cdkey[256]="", token_name[256]="", cdkey[CDKEYLEN];	unsigned int max_user = 0;	BOOL find = FALSE;	BOOL ret1, ret2;	int  charaindex_tmp = 0;	int i;		getStringFromIndexWithDelim( message, " ", 1, token, sizeof( token));	ret1 = getStringFromIndexWithDelim( message, " ", 2, token_cdkey, sizeof( token_cdkey));    ret2 = getStringFromIndexWithDelim( message, " ", 3, token_name, sizeof( token_name));	shiftbit = atoi(token);	eventno = atoi(token);    if( shiftbit!=-1 && ret1==FALSE && ret2==FALSE ){		charaindex_tmp = charaindex;		find=TRUE;	}	else{		if( shiftbit==-1 || strlen(token_cdkey)==0 || strlen(token_name)==0 ){			sprintf( token, "%s", "参数不正确。正确格式:[eventsetend 任务旗标 帐号 人物名称]");			CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE);			return; 		}		max_user = getFdnum();		for( i=0; i<max_user; i++){			char szName[256];			int i_use;						i_use = CONNECT_getUse( i);			if( i_use){				CONNECT_getCdkey( i, cdkey, sizeof( cdkey));				CONNECT_getCharname( i, szName, sizeof( szName));				if( strcmp( cdkey, token_cdkey)==0 && strcmp( szName, token_name)==0){					charaindex_tmp = CONNECT_getCharaindex( i);										find=TRUE;				}			}		}	}	if( strcmp(token, "all")==0 && find ){		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT, -1);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT2, -1);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT3, -1);#ifdef _NEWEVENT		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT4, -1);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT5, -1);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT6, -1);#endif#ifdef _ADD_NEWEVENT              // WON 多增任务旗标		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT7, -1);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT8, -1);#endif		sprintf( token, "Success, set all endflag.." );		CHAR_talkToCli( charaindex, -1,token, CHAR_COLORWHITE);		return ;	}	if(find){		array = shiftbit / 32;		shift = shiftbit % 32;				if( array>=event_num ){			sprintf( token, "错误!!你所设的任务旗标编号已超过  围(0~%d)。",32*event_num-1);			CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE);			return;		}		point = CHAR_getInt( charaindex_tmp, CHAR_ENDEVENT+array);		point = point | (1<<shift);		CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT+array, point);   		sprintf( token, "Success!! Character Name:%s eventend_number:[%d].", CHAR_getChar( charaindex_tmp, CHAR_NAME), eventno);		CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW);        // display		if( charaindex_tmp==charaindex )			sprintf( token, "%s", "");		else			sprintf( token, "%s %s", token_cdkey, token_name);		CHAR_CHAT_DEBUG_watchevent( charaindex, token );	}else{		sprintf( token,"%s\n","失败!!帐号与人物名称无法相符。");		CHAR_talkToCli(charaindex, -1, token, CHAR_COLORYELLOW);	}}void CHAR_CHAT_DEBUG_debug( int charaindex, char* message ){	char	msgbuf[256];	BOOL	flg = isstring1or0( message);	if( flg == TRUE ){		CHAR_setWorkInt( charaindex, CHAR_WORKFLG,			CHAR_getWorkInt( charaindex, CHAR_WORKFLG ) | WORKFLG_DEBUGMODE );		CHAR_setWorkInt( charaindex, CHAR_WORKDEBUGMODE, TRUE);	}else{		CHAR_setWorkInt( charaindex, CHAR_WORKFLG,			CHAR_getWorkInt( charaindex, CHAR_WORKFLG ) & ~WORKFLG_DEBUGMODE );		CHAR_setWorkInt( charaindex, CHAR_WORKDEBUGMODE, FALSE);	}	CHAR_send_P_StatusString( charaindex, CHAR_P_STRING_DEBUGMODE);	snprintf( msgbuf, sizeof( msgbuf), "已设定除错模式为%s。",		( flg == TRUE) ? "ON" : "OFF");	CHAR_talkToCli( charaindex, -1, msgbuf, CHAR_COLORYELLOW);}void CHAR_CHAT_DEBUG_dp( int charindex , char *message ){	int i;	char dp[15];	char cdkey[CDKEYLEN];	char token[255];	int playernum = CHAR_getPlayerMaxNum();	easyGetTokenFromString( message , 1 , dp, sizeof(dp));	easyGetTokenFromString( message , 2 , cdkey, sizeof(cdkey));	if(strlen(cdkey)>0){		for(i=0;i<playernum;i++){			if(CHAR_CHECKINDEX(i) == FALSE) continue;			if(!strcmp( CHAR_getChar( i, CHAR_CDKEY), cdkey))			{				break;			}		}		if (i>=playernum)		{		 	CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW );			return;		}		CHAR_setInt( i , CHAR_DUELPOINT, atoi( dp ) );		CHAR_send_P_StatusString( i ,CHAR_P_STRING_DUELPOINT );		sprintf( token, "[GM]%s把你的DP设置为%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(dp));		CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW );		sprintf( token, "玩家%s的DP设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(dp));		CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW );	}else{		CHAR_setInt( charindex , CHAR_DUELPOINT, atoi( dp ) );		CHAR_send_P_StatusString( charindex ,CHAR_P_STRING_DUELPOINT );		sprintf( token, "DP设置为%d!",(int)atoi(dp));		CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW );	}}#ifdef _EQUIT_ARRANGEvoid CHAR_CHAT_DEBUG_arrange( int charindex , char *message ){	CHAR_setWorkInt( charindex, CHAR_WORKFIXARRANGE, atoi( message) );	CHAR_complianceParameter( charindex );	CHAR_talkToCli( charindex, -1, "设定挡格", CHAR_COLORYELLOW);}#endif#ifdef _EQUIT_SEQUENCEvoid CHAR_CHAT_DEBUG_sequence( i

⌨️ 快捷键说明

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