亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? npc_familyman.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 2 頁
字號:
	char	argstr[NPC_UTIL_GETARGSTR_BUFSIZE];
	char	filename[64];
	char	opfile[128];
	char	line[1024];
	char	firstToken[1024];
	char	secondToken[1024];
	
	/* 它奴件玉它及澀爛毛  曰  戈厭瞻   */
	
	NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr));
	/* 澀爛白央奶伙  潸   */
	NPC_Util_GetStrFromStrWithDelim( argstr, "conff", filename, sizeof( filename));

	sprintf( opfile, "%s/", getNpcdir( ) );
	strcat( opfile, filename);
	
	fp = fopen( opfile, "r");
	if( fp == NULL ) {
		print( "familyman:file open error [%s]\n", opfile);
		return FALSE;
	}
	
	while( readflg == TRUE ) {
		endflg = FALSE;
		buttonendflg = TRUE;
		buttonconfmode = FALSE;
		selectnum = 0;
		messagepos = 0;
		winno = -1;
		b_mode = -1;
		errflg = FALSE;

		/* 賡渝祭 */
		w.windowno = -1;
		w.windowtype = -1;
		w.buttontype = -1;
		w.takeitem = -1;
		w.giveitem = -1;
		w.message[0] = '\0';
	
		for( i = 0; i < arraysizeof( buttonproc); i ++ ) {
			buttonproc[i].use = FALSE;
			buttonproc[i].checkhaveitem = -1;
			buttonproc[i].checkhaveitemgotowin = -1;
			buttonproc[i].checkdonthaveitem = -1;
			buttonproc[i].checkdonthaveitemgotowin = -1;
			buttonproc[i].warp = -1;
			buttonproc[i].battle = -1;
			buttonproc[i].gotowin = -1;
		}

		while( 1) {
			char    buf[256];
			int		ret;
			if( !fgets( line, sizeof( line), fp)){
				readflg = FALSE;
				break;
			}
			
			linenum ++;
			
			/* 戊丟件玄反  骰 */
			if( line[0] == '#' || line[0] == '\n') continue;
			/* 荼墊潸月 */
			chomp( line );
			
			/*  墊毛幫溥允月    */
			/*  引內 tab 毛 " " 卞  五晶尹月    */
			replaceString( line, '\t' , ' ' );
			/* 燮  及旦矢□旦毛潸月[*/
			for( i = 0; i < strlen( line); i ++) {
				if( line[i] != ' ' ) {
					break;
				}
				strcpy( buf, &line[i]);
			}
			if( i != 0 ) strcpy( line, buf);

			/* delim "=" 匹  賡(1)及玄□弁件毛  月*/
			ret = getStringFromIndexWithDelim( line, "=",  1, firstToken,
											   sizeof( firstToken ) );
			if( ret == FALSE ){
				print( "Find error at %s in line %d. Ignore\n",
					   filename , linenum);
				continue;
			}
			/* delim "=" 匹2    及玄□弁件毛  月*/
			ret = getStringFromIndexWithDelim( line, "=", 2, secondToken,
											   sizeof( secondToken ) );
			if( ret == FALSE ){
				print( "Find error at %s in line %d. Ignore\n",
					   filename , linenum);
				continue;
			}
			
			if( strcasecmp( firstToken, "winno") == 0 ) {
				if( winno != -1 ) {
					print( "familyman:已有winno卻重新定義winno\n");
					print( "filename:[%s] line[%d]\n", filename, linenum);
					errflg = TRUE;
					readflg = FALSE;
					break;
				}
				/* 它奴件玉它No毛忡繡 */
				winno = atoi( secondToken);
				continue;
			}
			/* 它奴件玉它No 互瑁引勻化中卅中凜及墊反  骰允月 */
			if( winno == -1 ) {
				print( "familyman:winno 尚未定義,資料卻已設定。\n");
				print( "filename:[%s] line[%d]\n", filename, linenum);
				readflg = FALSE;
				errflg = FALSE;
				break;
			}
			/* 它奴件玉它No 互域譙仄兇凜反橢瘀毛  戈[
			 * 公木動陸反  骰允月 */
			if( (chkflg == FALSE && winno == windowno )||
				chkflg == TRUE) 
			{
				if( buttonconfmode == TRUE ) {
					if( strcasecmp( firstToken, "gotowin") == 0 ) {
						buttonproc[b_mode].gotowin = atoi( secondToken);
					}
					else if( strcasecmp( firstToken, "checkhaveitem") == 0 ) {
						buttonproc[b_mode].checkhaveitem = atoi( secondToken);
					}
					else if( strcasecmp( firstToken, "haveitemgotowin") == 0 ) {
						buttonproc[b_mode].checkhaveitemgotowin = atoi( secondToken);
					}
					else if( strcasecmp( firstToken, "checkdonthaveitem") == 0 ) {
						buttonproc[b_mode].checkdonthaveitem = atoi( secondToken);
					}
					else if( strcasecmp( firstToken, "donthaveitemgotowin") == 0 ) {
						buttonproc[b_mode].checkdonthaveitemgotowin = atoi( secondToken);
					}
					else if( strcasecmp( firstToken, "endbutton") == 0 ) {
						if( buttonproc[b_mode].gotowin == - 1 ) {
							if( buttonproc[b_mode].checkhaveitem == -1 && 
								buttonproc[b_mode].checkdonthaveitem == -1)
							{
								errflg = TRUE;
							}
							else {
								/* 升勻切井井兇勻吊分仃匹手澀爛今木化中木壬     */
								if( !((buttonproc[b_mode].checkhaveitem != -1 && 
									   buttonproc[b_mode].checkhaveitemgotowin != -1)
									 || (buttonproc[b_mode].checkdonthaveitem != -1 && 
									     buttonproc[b_mode].checkdonthaveitemgotowin != -1)))
								{
									errflg = TRUE;
								}
							}
						}
						
						if( errflg == TRUE) {
							print( "familyman: 找不到gotowin\n");
							print( "filename:[%s] line[%d]\n", filename, linenum);
							readflg = FALSE;
							errflg = TRUE;
							break;
						}
						buttonproc[b_mode].use = TRUE;
						buttonconfmode = FALSE;
						buttonendflg = TRUE;
					}
				}
				else {
					
					w.windowno = winno;
					/* 它奴件玉它正奶皿及澀爛 */
					if( strcasecmp( firstToken, "wintype") == 0 ) {
						w.windowtype = atoi( secondToken);
					}
					/* 示正件正奶皿及澀爛 */
					else if( strcasecmp( firstToken, "buttontype") == 0 ) {
						w.buttontype = NPC_Familyman_restoreButtontype( secondToken);
					}
					/* getitem及澀爛 */
					else if( strcasecmp( firstToken, "takeitem") == 0 ) {
						w.takeitem = atoi( secondToken);
					}
					/* giveitem及澀爛 */
					else if( strcasecmp( firstToken, "giveitem") == 0 ) {
						w.giveitem = atoi( secondToken);
					}
					/* message及澀爛 */
					else if( strcasecmp( firstToken, "message") == 0 ) {
						if( messagepos == 0 ) {
							strcpy(  w.message, secondToken);
							messagepos = strlen( w.message);
						}
						else {
							w.message[messagepos]='\n';
							messagepos++;
							strcpy( &w.message[messagepos], secondToken);
							messagepos+=strlen(secondToken);
						}
					}
					/* 示正件毛瓷仄兇凜及澀爛 */
					else if( strcasecmp( firstToken, "okpressed") == 0 ) {
						buttonconfmode = TRUE;
						b_mode = 0;
						buttonendflg = FALSE;
					}
					else if( strcasecmp( firstToken, "cancelpressed") == 0 ) {
						buttonconfmode = TRUE;
						b_mode = 1;
						buttonendflg = FALSE;
					}
					else if( strcasecmp( firstToken, "yespressed") == 0 ) {
						buttonconfmode = TRUE;
						b_mode = 2;
						buttonendflg = FALSE;
					}
					else if( strcasecmp( firstToken, "nopressed") == 0 ) {
						buttonconfmode = TRUE;
						b_mode = 3;
						buttonendflg = FALSE;
					}
					else if( strcasecmp( firstToken, "prevpressed") == 0 ) {
						buttonconfmode = TRUE;
						b_mode = 4;
						buttonendflg = FALSE;
					}
					else if( strcasecmp( firstToken, "nextpressed") == 0 ) {
						buttonconfmode = TRUE;
						b_mode = 5;
						buttonendflg = FALSE;
					}
					else if( strcasecmp( firstToken, "selected") == 0 ) {
						buttonconfmode = TRUE;
						b_mode = 6 + selectnum;
						buttonendflg = FALSE;
						selectnum ++;
					}
					/* 澀爛蔽歹曰 */
					else if( strcasecmp( firstToken, "endwin") == 0 ) {
						endflg = TRUE;
						if( chkflg == FALSE) {
							readflg = FALSE;
						}
						break;
					}
					else {
						print( "familyman:設定是不可能的參數\n");
						print( "filename:[%s] line[%d]\n", filename, linenum);
					}
				}
			}
			else {
				if( strcasecmp( firstToken, "endwin") == 0 ) {
					winno = -1;
				}
			}
		}
		if( buttonendflg == FALSE) {
			print( "familyman: 找不到endbutton\n");
			print( "filename:[%s] line[%d]\n", filename, linenum);
			errflg = TRUE;
			break;
		}
		if( winno != -1 ) {
			if( w.windowtype == -1 ) {
				print( "familyman: 找不到wintype\n");
				print( "filename:[%s] line[%d]\n", filename, linenum);
				errflg = TRUE;
				break;
			}
			if( w.buttontype == -1 ) {
				print( "familyman: 找不到button\n");
				print( "filename:[%s] line[%d]\n", filename, linenum);
				errflg = TRUE;
				break;
			}
			if( strlen( w.message) == 0 ) {
				print( "familyman: 找不到message\n");
				print( "filename:[%s] line[%d]\n", filename, linenum);
				errflg = TRUE;
				break;
			}
		}
	}
	fclose( fp);
	
	if( chkflg == FALSE && w.windowno == -1 ) {
		print( "familyman: 找不到所指定的windowno\n");
		print( "filename:[%s] line[%d]\n", filename, linenum);
		return FALSE;
	}
	if( winno != -1 && endflg == FALSE) {
		print( "familyman: 找不到endwin\n");
		print( "filename:[%s] line[%d]\n", filename, linenum);
		return FALSE;
	}
	if( errflg == TRUE) return FALSE;
	
	return TRUE;
}
/*
 * buttontype=匹隙爛仄兇  儂  毛醒襖卞  晶允月[
 *
 */
static int NPC_Familyman_restoreButtontype( char *data )
{
	int		ret = 0;
	int		rc;
	int		i;
	char	buff[1024];
	
	for( i = 1; ; i ++ ) {
		rc = getStringFromIndexWithDelim( data, "|",  i, buff,
											   sizeof( buff ) );
		if( rc == FALSE) break;
		if( strcasecmp( buff, "ok") == 0 ) {
			ret |= WINDOW_BUTTONTYPE_OK;
		}
		else if( strcasecmp( buff, "cancel") == 0 ) {
			ret |= WINDOW_BUTTONTYPE_CANCEL;
		}
		else if( strcasecmp( buff, "yes") == 0 ) {
			ret |= WINDOW_BUTTONTYPE_YES;
		}
		else if( strcasecmp( buff, "no") == 0 ) {
			ret |= WINDOW_BUTTONTYPE_NO;
		}
		else if( strcasecmp( buff, "prev") == 0 ) {
			ret |= WINDOW_BUTTONTYPE_PREV;
		}
		else if( strcasecmp( buff, "next") == 0 ) {
			ret |= WINDOW_BUTTONTYPE_NEXT;
		}
	}
	if( ret == 0 ) {
		ret = atoi( data);
	}
	return ret;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本最新不卡在线| 亚洲成人av一区二区三区| 日韩午夜激情视频| 欧美疯狂性受xxxxx喷水图片| 97久久精品人人做人人爽| 成人av综合在线| 91丝袜高跟美女视频| 色美美综合视频| 777午夜精品视频在线播放| 欧美一级精品大片| 26uuu精品一区二区| 久久网站热最新地址| 久久精品人人做人人爽人人| 中文字幕一区三区| 亚洲一区二区三区视频在线| 丝袜美腿成人在线| 国产一区二区三区四| 99久久久国产精品免费蜜臀| 欧美在线一区二区| 制服.丝袜.亚洲.另类.中文| 欧美大白屁股肥臀xxxxxx| 精品国产伦一区二区三区观看体验| 久久综合色播五月| 中文字幕综合网| 日韩电影在线免费观看| 精品一区二区三区久久| 色哟哟一区二区| 欧美一二三区精品| 亚洲美女少妇撒尿| 另类欧美日韩国产在线| 91一区二区三区在线播放| 欧美一区日本一区韩国一区| 国产亚洲欧美在线| 亚洲mv在线观看| 福利视频网站一区二区三区| 欧美日韩免费电影| 国产亚洲精品资源在线26u| 一区二区三区日韩精品| 国产一区二三区| 欧美日韩国产免费一区二区| 久久亚洲一级片| 日韩电影在线一区二区三区| 99久精品国产| 久久久99久久| 伦理电影国产精品| 在线观看日韩av先锋影音电影院| 欧美成人高清电影在线| 亚洲一区国产视频| 99久久精品免费精品国产| 日韩欧美国产1| 亚洲一区在线观看免费 | 日韩视频免费观看高清完整版| 国产视频在线观看一区二区三区| 一区二区三区精品在线观看| 国产乱人伦精品一区二区在线观看| 91国模大尺度私拍在线视频| 久久丝袜美腿综合| 久久国产精品72免费观看| 欧美精品久久久久久久久老牛影院 | 亚洲人成在线观看一区二区| 国产一区在线观看视频| 日韩欧美国产一区二区三区| 视频在线观看91| 欧美乱妇15p| 婷婷中文字幕一区三区| 欧美四级电影网| 亚洲影院久久精品| 欧美在线免费观看视频| 亚洲综合成人在线| 欧美日韩亚洲不卡| 亚洲不卡一区二区三区| 精品视频一区二区三区免费| 艳妇臀荡乳欲伦亚洲一区| 91福利社在线观看| 亚洲成人久久影院| 欧美一区国产二区| 成人精品一区二区三区中文字幕| 久久伊人中文字幕| 国产一区欧美日韩| 国产精品网站在线| av不卡在线观看| 亚洲人成亚洲人成在线观看图片| 91丨九色丨黑人外教| 亚洲美女免费在线| 欧美精品日韩综合在线| 丝瓜av网站精品一区二区| 日韩欧美一区二区久久婷婷| 精品一区二区久久| 中文字幕亚洲区| 欧美中文字幕一区| 捆绑紧缚一区二区三区视频| 久久一夜天堂av一区二区三区| 成人国产精品免费观看动漫| 亚洲欧美激情一区二区| 欧美日韩在线三区| 国产一区在线观看麻豆| 亚洲国产精品精华液2区45| av激情成人网| 午夜精品久久久久| 久久久久久久久久久久电影| 91网页版在线| 青青草原综合久久大伊人精品| 2022国产精品视频| 91蜜桃视频在线| 蜜臀久久久99精品久久久久久| 国产网站一区二区| 在线视频观看一区| 极品销魂美女一区二区三区| 亚洲人成精品久久久久| 日韩一级免费一区| 不卡av在线免费观看| 丝袜亚洲另类丝袜在线| 亚洲国产精品av| 欧美一卡2卡三卡4卡5免费| 成人久久久精品乱码一区二区三区| 五月婷婷综合在线| 中文字幕不卡在线| 欧美精品在线观看一区二区| 国产成人啪免费观看软件| 日韩黄色片在线观看| 国产精品久久久久久亚洲伦| 91精品国产综合久久精品| 91免费看`日韩一区二区| 久久国产麻豆精品| 亚洲6080在线| 亚洲精品国产无天堂网2021 | 国产欧美日韩视频一区二区| 欧美日韩午夜影院| 9色porny自拍视频一区二区| 久久精品999| 日本成人在线看| 婷婷中文字幕一区三区| 亚洲日本乱码在线观看| 国产精品麻豆99久久久久久| 欧美成人vps| 精品久久久久一区二区国产| 欧美日韩成人综合天天影院 | 国产精品久久久久国产精品日日| 欧美电影免费观看高清完整版在线| 在线视频中文字幕一区二区| 成人免费福利片| 成人理论电影网| 欧美日韩一级二级| 在线观看欧美精品| 色网综合在线观看| 91美女精品福利| 日本韩国欧美一区| 欧美亚洲愉拍一区二区| 色久优优欧美色久优优| 色噜噜狠狠成人网p站| 在线免费不卡视频| 欧美午夜电影一区| 欧美日韩亚洲综合在线| 在线不卡a资源高清| 日韩午夜激情av| 精品欧美久久久| 亚洲国产精品成人综合色在线婷婷 | 欧美一区欧美二区| 欧美成va人片在线观看| 久久九九99视频| 国产精品人成在线观看免费| 国产精品乱码一区二区三区软件| 国产精品水嫩水嫩| 中文字幕一区二区三区av| 一区二区三区免费观看| 婷婷久久综合九色综合绿巨人| 午夜欧美一区二区三区在线播放| 亚洲国产中文字幕| 奇米四色…亚洲| 国内精品伊人久久久久av一坑| 国产成人激情av| 色88888久久久久久影院野外| 欧美日韩精品欧美日韩精品一| 欧美一卡2卡3卡4卡| 中文字幕欧美国产| 亚洲成a人片综合在线| 美国十次了思思久久精品导航| 国产麻豆一精品一av一免费 | 日韩一区二区免费电影| 久久日韩精品一区二区五区| 国产精品美女久久福利网站| 亚洲国产成人av好男人在线观看| 开心九九激情九九欧美日韩精美视频电影 | 91国偷自产一区二区使用方法| 欧美精品免费视频| 日本一区二区三区电影| 一级特黄大欧美久久久| 韩国三级在线一区| 欧美在线免费观看亚洲| 久久久久久久久久美女| 自拍视频在线观看一区二区| 麻豆精品久久久| 91丝袜国产在线播放| 精品国产一区二区在线观看| 自拍偷拍欧美激情| 国产裸体歌舞团一区二区| 欧美日韩免费不卡视频一区二区三区| 久久久高清一区二区三区| 亚洲成av人在线观看| 风间由美性色一区二区三区|