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

📄 npc_exchangeman.c

📁 石器时代2.0完整版源代码.已经加入新功能. 在REDHAT9下GCC3.4编译成功.
💻 C
📖 第 1 页 / 共 5 页
字号:
						CHAR_complianceParameter( talker );						CHAR_send_P_StatusString( talker, CHAR_P_STRING_CHARM);						NPC_CharmStatus( meindex, talker);					}				}			}		break;		  case 9:					  	if( NPC_Util_GetStrFromStrWithDelim( buf, "NomalWindowMsg",												buf2, sizeof( buf2) )			 != NULL)			{				strcpysafe( token, sizeof( buf2), buf2);				if(EvNo != -1) NPC_NowEventSetFlg( talker, EvNo);			}#ifdef _NEWEVENT			CHAR_setWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD, 1);			work = CHAR_getWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD);			work = work + ( i * 100);			CHAR_setWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD, work);			/*--戚矢□斥互丐月桦宁反示正件它奶件玉它及正奶皿毛井尹月--*/			if(strstr( buf, "NomalWindowMsg2") != NULL) {				/*仇仇匹霜耨允月*/				lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,							WINDOW_BUTTONTYPE_NEXT,							CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG,							CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),							token);				return;			}#endif		  	break;		  	#ifdef _NEWEVENT	  case 99:			work = CHAR_getWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD);			work = work % 100;			if(work == 1)			{				if( NPC_Util_GetStrFromStrWithDelim( buf, "NomalWindowMsg1",									 buf2, sizeof( buf2) ) != NULL)					strcpysafe( token,sizeof( buf2), buf2);				/*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/				if(strstr( buf, "NomalWindowMsg2") != NULL) {					/*仇仇匹霜耨允月*/					lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,								WINDOW_BUTTONTYPE_NEXT,								CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG,								CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),								token);					return;				}			}else{							sprintf( tmp, "NomalWindowMsg%d", work);				if( NPC_Util_GetStrFromStrWithDelim( buf, tmp,													 buf2, sizeof( buf2) )				 != NULL){					strcpysafe( token,sizeof( buf2), buf2);				}				work++;				sprintf( tmp, "NomalWindowMsg%d", work);				/*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/				if(strstr( buf, tmp) != NULL) {										/*仇仇匹霜耨允月*/					lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,								WINDOW_BUTTONTYPE_NEXT,								CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG,								CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),								token);					return;				}else{					int fd = getfdFromCharaIndex( talker);					char token2[14*50];					/*--仇仇匹}失奶  丞卅升及馨笛毛垫丹--*/					if(NPC_AcceptDel( meindex, talker,0) == FALSE) return;						/*白仿弘毛本永玄仄化中木壬}本永玄允月--*/					if( EvNo != -1) NPC_NowEventSetFlg( talker, EvNo);											if(NPC_Util_GetStrFromStrWithDelim( buf,"NpcWarp",										token2,sizeof( token2) )!= NULL){								NPC_EventWarpNpc(meindex,token2);					}										//白仿弘毛  化月					if(NPC_Util_GetStrFromStrWithDelim( buf, "EndSetFlg", 										buf2, sizeof( buf2) )!=NULL)					{						char buf3[16];						int k = 1;										if(EvNo != -1) NPC_NowEventSetFlgCls( talker, EvNo);										while(getStringFromIndexWithDelim(buf2 , "," ,k, 								buf3, sizeof(buf3)) !=FALSE )						{								k++;							NPC_EventSetFlg( talker, atoi( buf3));						}					}					//奶矛件玄白仿弘毛壅允					if( NPC_Util_GetStrFromStrWithDelim( buf, "CleanFlg",							 buf2, sizeof( buf2)) != NULL) {						 	char buf3[16];							int k = 1;						 	k= 1 ;							while(getStringFromIndexWithDelim(buf2 , "," , k, 																buf3, sizeof(buf3))							!= FALSE )							{								NPC_NowEndEventSetFlgCls( talker, atoi(buf3));								k++;							}					}					lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,								WINDOW_BUTTONTYPE_YES,								CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG,								CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),								token);					return;				}			}		  break;#endif		  case 10:			  			/*--矢永玄互中匀天中及凛及丢永本□斥--*/			if( NPC_Util_GetStrFromStrWithDelim( buf, "PetFullMsg",												 buf2, sizeof( buf2) )			 != NULL)			{				strcpysafe( token, sizeof( buf2), buf2);				print(" PetFullMsg:%s ", token);			}			else			{				print(" PetFullMsg_Error:%d ", __LINE__);			}		break;	  case 11:			/*--白仿弘毛壅允午五及丢永本□斥--*/			if( NPC_Util_GetStrFromStrWithDelim( buf, "CleanMainMsg",												 buf2, sizeof( buf2) )			 != NULL)			{				strcpysafe( token, sizeof( buf2), buf2);				buttontype = WINDOW_BUTTONTYPE_YESNO;				windowtype = CHAR_WINDOWTYPE_WINDOWEVENT_CLEANMSG;			}		break;	  case 12:			/*--白仿弘毛壅仄凶  及永本□斥--*/			if( NPC_Util_GetStrFromStrWithDelim( buf, "CleanFlgMsg",												 buf2, sizeof( buf2) )			 != NULL)			{				char buf3[64];				int loop=1;								strcpysafe( token, sizeof( buf2), buf2);				NPC_Util_GetStrFromStrWithDelim( buf, "CleanFlg",												 buf2, sizeof( buf2) );				while(getStringFromIndexWithDelim(buf2 , "," , loop, buf3, sizeof(buf3))				!= FALSE )				{					NPC_NowEndEventSetFlgCls( talker, atoi(buf3));					loop++;				}			}		break;	  case 13:			/*--云嗯互中匀天中及丢永本□斥--*/			if( NPC_Util_GetStrFromStrWithDelim( buf, "StoneFullMsg",												 buf2, sizeof( buf2) )			 != NULL)			{				strcpysafe( token, sizeof( buf2), buf2);			}		break;				 case 14:			/*--云嗯互凶曰卅中丢永本□斥--*/					if( NPC_Util_GetStrFromStrWithDelim( buf, "StoneLessMsg",												 buf2, sizeof( buf2) )			 != NULL)			{				strcpysafe( token, sizeof( buf2), buf2);			}		break;	}	/*仇仇匹霜耨允月*/#ifdef _NEWEVENT	if(num != 8)#endif	lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,					buttontype,					windowtype,					CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),					token);}/*-------------------------------------- *奶矛件玄迕及失奶  丞毛馨笛允月 ---------------------------------------*/BOOL NPC_EventAdd(int meindex,int talker,int mode){	char buf[64];	char buff2[128];	int j = 1,i = 0;	int kosuucnt = 0;	int itemindex;	char buff[1024*2];	int rand_j = 0;	int rand_flg = 0;	int rand_cnt = 0;	int evcnt;	int b_flg = 0;	/*--涩烂白央奶伙  卞踏中化丐月椭瘀毛  凶仄化中月手及毛  五请允--*/	evcnt = NPC_EventFile( meindex, talker, buff);	if(evcnt == -1) return FALSE;//	if(NPC_EventFile( meindex, talker, buff) == FALSE) return FALSE;	/*--失奶  丞及醒毛民尼永弁--*/	if(NPC_ItemFullCheck( meindex, talker, buff, mode, evcnt) == FALSE){		NPC_MsgDisp( meindex, talker, 4);		return FALSE;	}	/*--云嗯民尼永弁卞  月--*/	if(NPC_Util_GetStrFromStrWithDelim( buff, "DelStone", buff2, sizeof( buff2) )	!=NULL)	{		int stone;				stone = NPC_EventGetCost( meindex, talker, buff2);		if( (CHAR_getInt( talker, CHAR_GOLD) - stone) < 0 ){			NPC_MsgDisp( meindex, talker, 14);			return FALSE;		}	}	/*--矢永玄及  毛馨笛允月--*/	if((NPC_Util_GetStrFromStrWithDelim( buff, "pet_skill", buff2, sizeof( buff2) )	 !=NULL) && mode == 0 ){		if(mode == 0) {			NPC_PetSkillMakeStr( meindex, talker, 1);			return TRUE;		}	}			if(mode == 2) mode = 0;		/*--矢永玄毛馨笛允月---*/	if(NPC_Util_GetStrFromStrWithDelim( buff, "GetPet", buff2, sizeof( buff2) )	 !=NULL)	{			if(mode == 0){			if(NPC_EventAddPet( meindex, talker, buff2,0) == FALSE) {				NPC_MsgDisp( meindex, talker, 10);				return FALSE;			}		}else if(mode == 1){				}	}	// Robin add 从NPC取宠物蛋	if(NPC_Util_GetStrFromStrWithDelim( buff, "GetEgg", buff2, sizeof( buff2) )	 !=NULL)	{			if(mode == 0){			if(NPC_EventAddEgg( meindex, talker, buff2,0) == FALSE) {				print(" AddEgg_Error:%d ", __LINE__);				NPC_MsgDisp( meindex, talker, 10);				return FALSE;			}		}else if(mode == 1){				}	}	if(NPC_Util_GetStrFromStrWithDelim( buff, "DelItem", buff2, sizeof( buff2) ) !=NULL){		if(strstr(buff2,"EVDEL") != NULL){			char work[256];			char nbuf[256];						NPC_Util_GetStrFromStrWithDelim(buf, "EVENT", buff2, sizeof( buff2));			getStringFromIndexWithDelim( buff2, ",", evcnt, work, sizeof( work));			if(strstr(buff,"Break")!=NULL){				b_flg=1;			}else{				b_flg=0;			}						if(NPC_Util_GetStrFromStrWithDelim( buff, "NotDel", nbuf, sizeof( nbuf)) !=  NULL) {				NPC_EventDelItemEVDEL( meindex, talker, work, nbuf,b_flg);			}else{				NPC_EventDelItemEVDEL( meindex, talker, work, "-1",b_flg);			}					}else{			if(strstr(buff,"Break")!=NULL){				b_flg=1;			}else{				b_flg=0;			}			NPC_EventDelItem( meindex, talker, buff2, b_flg);		}	}	/*--云嗯毛潸月---*/	if(NPC_Util_GetStrFromStrWithDelim( buff, "DelStone", buff2, sizeof( buff2) )	!=NULL)	{		int stone;		char token[128];				stone = NPC_EventGetCost( meindex, talker, buff2);		CHAR_setInt(talker,CHAR_GOLD,CHAR_getInt( talker, CHAR_GOLD) - stone);		/*--由仿丢□正霜曰--*/		CHAR_send_P_StatusString( talker, CHAR_P_STRING_GOLD);		sprintf(token, "付出%d的stone。", stone);		CHAR_talkToCli( talker, -1, token, CHAR_COLORWHITE);	}	/*--仿件母丞失奶  丞---*/	if(NPC_Util_GetStrFromStrWithDelim( buff, "GetRandItem", buf, sizeof( buf) ) != NULL ){		j=1;		while( getStringFromIndexWithDelim( buf , "," , j, buff2, sizeof( buff2)) != FALSE ){			j++;			rand_j++;		}		rand_cnt = 1;	}	/*--  骚及失奶  丞必永玄--*/	if(NPC_Util_GetStrFromStrWithDelim( buff, "GetItem", buf, sizeof( buf)) != NULL ){		if(mode == 0) {			j = 1;			/*--窒蜊及失奶  丞毛  允井"--*/			while(getStringFromIndexWithDelim( buf, "," , j, buff2, sizeof(buff2)) !=FALSE ){				j++;			}						j--;			for( i = CHAR_STARTITEMARRAY ; i < CHAR_MAXITEMHAVE ; i++ ){				itemindex=CHAR_getItemIndex( talker , i );				if( !ITEM_CHECKINDEX( itemindex) ){					kosuucnt++;				 }			}			j= j + rand_cnt;			if( kosuucnt < j ){				NPC_MsgDisp( meindex, talker, 4);				return FALSE;			}else{				if(NPC_Util_GetStrFromStrWithDelim( buff, "GetRandItem", buff2, sizeof( buff2))	!=NULL)	{	 				rand_flg = 1;					NPC_RandItemGet( meindex, talker, rand_j, buff2);	 			}				if(NPC_EventAddItem( meindex, talker, buf) == FALSE) return FALSE;			}		}else if(mode == 1){			if(strstr(buff,"Break")!=NULL){				b_flg=1;			}else{				b_flg=0;			}			NPC_EventDelItem( meindex, talker, buf,b_flg);		}	}	if( (NPC_Util_GetStrFromStrWithDelim( buff, "GetRandItem", buf, sizeof( buf) )		!=NULL) && (rand_flg == 0) && mode == 0 )	{			/*--民尼永弁   癫卞蝈    月井"-*/		for( i = CHAR_STARTITEMARRAY ; i < CHAR_MAXITEMHAVE ; i++ ){			itemindex=CHAR_getItemIndex( talker , i );			if( !ITEM_CHECKINDEX( itemindex) ){				kosuucnt++;			 }		}		/*--坞五互丐月井升丹井--*/		if( kosuucnt == 0 ){			NPC_MsgDisp( meindex, talker, 4);			return FALSE;		}			NPC_RandItemGet( meindex, talker, rand_j,buf);	}	#ifdef _EXCHANGEMAN_REQUEST_DELPET	if( NPC_Util_GetStrFromStrWithDelim( buff, "DelPet", buff2, sizeof( buff2) ) != NULL && mode == 0 ) {		char buf4[32];		char buf5[256];		int i=1;		char work[256];		int j=1;				if(strstr(buff2,"EVDEL") != NULL){			NPC_Util_GetStrFromStrWithDelim( buf, "EVENT", buf5, sizeof( buf5));			getStringFromIndexWithDelim( buf5, ",",evcnt , buff2, sizeof( buff2));				while(getStringFromIndexWithDelim( buff2, "&", j, work, sizeof( work))!=FALSE){				j++;							if(strstr( work, "PET") != NULL) {					if(strstr( work, "EV") != NULL) {						if(NPC_PetLvCheck( meindex, talker, work, 1) == FALSE) return FALSE;					}else{						if(NPC_PetLvCheck( meindex, talker, work, 0) == FALSE) return FALSE;					}				}			}			j = 1;					while(getStringFromIndexWithDelim( buff2, "&", j, work, sizeof( work)) != FALSE){				j++;				if(strstr( work, "PET") == NULL ) continue;					if(strstr(work,"*") != NULL){					int cnt=0;					int petcnt=0;					int petindex;										getStringFromIndexWithDelim( work, "*", 2, buf4, sizeof( buf4));					cnt = atoi(buf4);										for(i=0 ; i < CHAR_MAXPETHAVE ; i++){						petindex = CHAR_getCharPet( talker, i);								if( petindex == -1  )  continue;								if(strstr( work, "EV") != NULL) {							if(NPC_PetLvCheckType2(petindex, meindex, talker, work, 1)							== FALSE) {								continue;							}						}else{							if(NPC_PetLvCheckType2(petindex, meindex, talker, work, 0) == FALSE) {								continue;							}						}						if(NPC_EventDelPet( meindex, talker,i

⌨️ 快捷键说明

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