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

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

?? npc_fmdengon.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 4 頁
字號:
					int_status = atoi(getstatus);
					
					// 家族的加入、退出、申請等選項
					if( buttonevent!=11 )
#ifdef _FMVER21            
						strcpy( memberlist[fmindex_wk].numberlistarray[numberlistindex+buttonevent - 1]
						+ (strlen(memberlist[fmindex_wk].numberlistarray[numberlistindex+buttonevent - 1]) - 1), dutybuf);                			    
#else
					switch( int_status ){
					case 1:
					case 3:
						strcpy( memberlist[fmindex_wk].numberlistarray[numberlistindex+buttonevent - 1]
							+ (strlen(memberlist[fmindex_wk].numberlistarray[numberlistindex+buttonevent - 1]) - 1), "4");                      
						break;
					case 2:
						strcpy( memberlist[fmindex_wk].numberlistarray[numberlistindex+buttonevent - 1]
							+ (strlen(memberlist[fmindex_wk].numberlistarray[numberlistindex+buttonevent - 1]) - 1), "1"); 					  
						break;
					default:
						break;
					}              
#endif                 
					// 家族的召募選項
					if( buttonevent == 11 )
					{
						strcpy( getstatus, enlistbuf + (strlen(enlistbuf) - 1));
						int_status = atoi(getstatus);
						
						switch( int_status ){
						case 1:
							memberlist[fmindex_wk].accept = 0;
							sprintf(enlistbuf, "是否繼續召募家族人員|%d|%d",numberlistindex,memberlist[fmindex_wk].accept);
							break;
						case 0:
							memberlist[fmindex_wk].accept = 1;
							sprintf(enlistbuf, "是否繼續召募家族人員|%d|%d",numberlistindex,memberlist[fmindex_wk].accept);
							break;
						default:
							break;    
						}
					}
					
					strcpy( numberlistbuf, memberlist[fmindex_wk].numberlistarray[numberlistindex]);
					strcat( numberlistbuf, "\n");
					for( i=(numberlistindex + 1); i<numberlistindex + 10; i++){
						strcat( numberlistbuf, memberlist[fmindex_wk].numberlistarray[i]);
						strcat( numberlistbuf, "\n");
					}
					sprintf(enlistbuf, "是否繼續召募家族人員|%d|%d",numberlistindex,memberlist[fmindex_wk].accept);
					strcat( numberlistbuf, enlistbuf);
					strcat( numberlistbuf, "\n");
					
					buttontype = WINDOW_BUTTONTYPE_OK;
					if( (numberlistindex + 10) > memberlist[fmindex_wk].fmnum) 
						buttontype |= WINDOW_BUTTONTYPE_PREV;
					else if( numberlistindex == 0 ) 
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					else{
						buttontype |= WINDOW_BUTTONTYPE_PREV;
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					}
					
					lssproto_WN_send( fd, WINDOW_FMMESSAGETYPE_SELECT,
						buttontype,
						CHAR_WINDOWTYPE_FM_MEMBERLIST,
#ifndef _FM_MODIFY
						CHAR_getWorkInt( index, CHAR_WORKOBJINDEX),
#else
						-1,
#endif
						makeEscapeString( numberlistbuf, buf, sizeof(buf)));
        } // end if
        switch( select ){
				case WINDOW_BUTTONTYPE_NEXT:
				case WINDOW_BUTTONTYPE_PREV:
          {
						int fd,i;
						
						fd = getfdFromCharaIndex( talker );
						if( fd == -1 )  return;
						
						numberlistindex += 10 * (( select == WINDOW_BUTTONTYPE_NEXT) ? 1 : -1);
						
						if( numberlistindex >= memberlist[fmindex_wk].fmnum) 
							numberlistindex -= 10;
						else if( numberlistindex < 1 ) 
							numberlistindex = 0;
						
						buttontype = WINDOW_BUTTONTYPE_OK;
						if( (numberlistindex + 10) >= memberlist[fmindex_wk].fmnum) 
							buttontype |= WINDOW_BUTTONTYPE_PREV;
						else if( numberlistindex==0 )
							buttontype |= WINDOW_BUTTONTYPE_NEXT;
						else{
							buttontype |= WINDOW_BUTTONTYPE_PREV;
							buttontype |= WINDOW_BUTTONTYPE_NEXT;
						}
						
						strcpy( numberlistbuf, memberlist[fmindex_wk].numberlistarray[numberlistindex]);
						strcat( numberlistbuf, "\n");
						for( i=(numberlistindex+1); i<numberlistindex+10; i++){
							strcat( numberlistbuf, memberlist[fmindex_wk].numberlistarray[i]);
							strcat( numberlistbuf, "\n");
						}
						sprintf(enlistbuf, "是否繼續召募家族人員|%d|%d",numberlistindex,memberlist[fmindex_wk].accept);
						strcat( numberlistbuf, enlistbuf);
						strcat( numberlistbuf, "\n");
						lssproto_WN_send( fd, WINDOW_FMMESSAGETYPE_SELECT,
							buttontype,
							CHAR_WINDOWTYPE_FM_MEMBERLIST,
#ifndef _FM_MODIFY
							CHAR_getWorkInt( index, CHAR_WORKOBJINDEX),
#else
							-1,
#endif
							makeEscapeString( numberlistbuf, buf, sizeof(buf)));
          }
          break;
				case WINDOW_BUTTONTYPE_OK:
          break;
				default:
          break;
        }
    }
    
    // 家族強者表(前叁十)
    else if( seqno == CHAR_WINDOWTYPE_FM_DPTOP)
    {
			char listbuf[4096],tmp_buffer[4096];
			int  listindex;
			getStringFromIndexWithDelim(data,"|",1,tmp_buffer,sizeof(tmp_buffer));
			listindex = atoi(tmp_buffer);
			
			switch( select ){
			case WINDOW_BUTTONTYPE_NEXT:
			case WINDOW_BUTTONTYPE_PREV:
				{
					int fd,i;
					fd = getfdFromCharaIndex( talker );
					if( fd == -1 )  return;
					
					listindex += 10 * (( select == WINDOW_BUTTONTYPE_NEXT) ? 1 : -1);
					
					if( listindex >= 30) 
						return;
					//listindex = 20;
					//listindex -= 10;
					//else if( listindex < 1 ) 
					//    listindex = 0;
					if (listindex < 0) return;
					
					buttontype = WINDOW_BUTTONTYPE_OK;
					if( (listindex + 10) >= 30) 
						buttontype |= WINDOW_BUTTONTYPE_PREV;
					else if( listindex==0 )
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					else{
						buttontype |= WINDOW_BUTTONTYPE_PREV;
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					}
					
					strcpy( listbuf, fmdptop.topmemo[listindex]);
					strcat( listbuf, "\n");
					for( i=(listindex+1); i<listindex+10; i++){
						strcat( listbuf, fmdptop.topmemo[i]);
						strcat( listbuf, "\n");
					}
					sprintf(tmp_buffer, "%d\n", listindex);
					strcat( listbuf, tmp_buffer);
					
#ifdef _FMVER21              
					lssproto_WN_send( fd, WINDOW_FMMESSAGETYPE_TOP30DP,
#else
					lssproto_WN_send( fd, WINDOW_FMMESSAGETYPE_DP,
#endif              
						buttontype,
						CHAR_WINDOWTYPE_FM_DPTOP,
#ifndef _FM_MODIFY
						CHAR_getWorkInt( index, CHAR_WORKOBJINDEX),
#else
						-1,
#endif
						makeEscapeString( listbuf, buf, sizeof(buf)));
				}
				break;
			case WINDOW_BUTTONTYPE_OK:
				break;
			default:
				break;
			}
    }

    // 據點列表
    else if( seqno == CHAR_WINDOWTYPE_FM_POINTLIST)
    {
			char pointlistbuf[4096];
			int  pointlistindex;
			
			pointlistindex = 0;
			buttonevent = atoi(data);
			
			switch( select ){
			case WINDOW_BUTTONTYPE_NEXT:
			case WINDOW_BUTTONTYPE_PREV:
				{
					int fd,i;
					
					fd = getfdFromCharaIndex( talker );
					if( fd == -1 )  return;
					
					pointlistindex += 10 * (( select == WINDOW_BUTTONTYPE_NEXT) ? 1 : -1);
					
					if( pointlistindex > FMPOINTNUM) 
						pointlistindex -= 10;
					else if( pointlistindex < 1 ) 
						pointlistindex = 0;
					
					buttontype = WINDOW_BUTTONTYPE_OK;
					if( (pointlistindex + 10) > FMPOINTNUM) 
						buttontype |= WINDOW_BUTTONTYPE_PREV;
					else if( pointlistindex==0 )
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					else{
						buttontype |= WINDOW_BUTTONTYPE_PREV;
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					}
					
					strcpy( pointlistbuf, fmpointlist.pointlistarray[pointlistindex]);
					strcat( pointlistbuf, "\n");
					for( i=(pointlistindex+1); i<pointlistindex+10; i++){
						strcat( pointlistbuf, fmpointlist.pointlistarray[i]);
						strcat( pointlistbuf, "\n");
					}
					
					lssproto_WN_send( fd, WINDOW_FMMESSAGETYPE_POINTLIST,
						buttontype,
						CHAR_WINDOWTYPE_FM_POINTLIST,
#ifndef _FM_MODIFY
						CHAR_getWorkInt( index, CHAR_WORKOBJINDEX),
#else
						-1,
#endif
						makeEscapeString( pointlistbuf, buf, sizeof(buf)));
				}
				break;
			case WINDOW_BUTTONTYPE_OK:
				break;
			default:
				break;
			}
    }        

    // 家族強者表(自己及前十大)
    else if( seqno == CHAR_WINDOWTYPE_FM_DPME )
    {
			switch( select ){
			case WINDOW_BUTTONTYPE_PREV:
				{
					int  fd;
					
					fd = getfdFromCharaIndex( talker );
					if( fd == -1 )  return;
					
					if( NowTime.tv_sec > READTIME3 ){
						saacproto_ACShowTopFMList_send(acfd, FM_TOP_INTEGRATE);
						saacproto_ACShowTopFMList_send(acfd, FM_TOP_ADV);    
						saacproto_ACShowTopFMList_send(acfd, FM_TOP_FEED);
						saacproto_ACShowTopFMList_send(acfd, FM_TOP_SYNTHESIZE);
						saacproto_ACShowTopFMList_send(acfd, FM_TOP_DEALFOOD);
						saacproto_ACShowTopFMList_send(acfd, FM_TOP_PK);                           
#ifdef _NEW_MANOR_LAW
						saacproto_ACShowTopFMList_send(acfd, FM_TOP_MOMENTUM);
#endif
						READTIME3 = NowTime.tv_sec+FM_WAITTIME;
					}
					
					strcpy( NPC_sendbuf, "\n              叁十大家族聲望列表\n");
					strcat( NPC_sendbuf, "              十大冒險家族\n");
					strcat( NPC_sendbuf, "              十大飼育家族\n");
#ifndef _NEW_MANOR_LAW
					strcat( NPC_sendbuf, "              十大合成家族\n");
					strcat( NPC_sendbuf, "              十大料理家族\n");
#endif
					strcat( NPC_sendbuf, "              十大戰斗家族\n");
#ifdef _NEW_MANOR_LAW
					strcat( NPC_sendbuf, "              十大氣勢家族\n");
#endif
					strcat( NPC_sendbuf, "              自己家族聲望列表\n");
#ifdef _NEW_MANOR_LAW
					strcat( NPC_sendbuf, "              自己家族氣勢排名\n");
#endif					
					lssproto_WN_send( fd, WINDOW_MESSAGETYPE_SELECT,
						WINDOW_BUTTONTYPE_NONE,
						CHAR_WINDOWTYPE_FM_DPSELECT,
#ifndef _FM_MODIFY
						CHAR_getWorkInt( index, CHAR_WORKOBJINDEX),
#else
						-1,
#endif
						makeEscapeString( NPC_sendbuf, buf, sizeof(buf)));                
				}
				break;
			case WINDOW_BUTTONTYPE_OK:
				break;
			default:
				break;
			}
			
    }        
}

// call FmDengon NPC event
#ifndef _FM_MODIFY
void NPC_FmDengonLooked( int meindex, int lookedindex )
{
    char buf[DENGONFILEENTRYSIZE*MESSAGEINONEWINDOW*2];
    char menubuf[4096];
    int  fd;
    
    if (!CHAR_CHECKINDEX(lookedindex)) return;
    
    fd = getfdFromCharaIndex( lookedindex );
    if( fd == -1 )  return;
    
    // 必須站在布告欄的前面一格
    if( NPC_Util_CharDistance( lookedindex, meindex ) > 1) return;
    // 空白處請勿更動
    strcpy( menubuf, "                『家族布告欄』\n\n");
	strcat( menubuf, "                 家族成員列表\n");
	strcat( menubuf, "                   家族留言\n");
#ifdef _UN_FMMEMO
#else
	strcat( menubuf, "                家族之間留言板\n");
#endif
#ifdef _UN_FMPOINT
#else
	strcat( menubuf, "                 申請家族據點\n");
#endif
	strcat( menubuf, "                家族之間強者表");
        
    lssproto_WN_send(fd, WINDOW_MESSAGETYPE_SELECT,
        	     WINDOW_BUTTONTYPE_CANCEL,
                     CHAR_WINDOWTYPE_FM_SELECT,
 		     CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
		     makeEscapeString( menubuf, buf, sizeof(buf)));        
}
#else
void NPC_FmDengonLooked( int meindex, int lookedindex )
{
    char buf[DENGONFILEENTRYSIZE*MESSAGEINONEWINDOW*2];
    char menubuf[4096];
    int  fd;
    
    if (!CHAR_CHECKINDEX(lookedindex)) return;
    
    fd = getfdFromCharaIndex( lookedindex );
    if( fd == -1 )  return;
    
    // 空白處請勿更動
    strcpy( menubuf, "                『家族布告欄』\n\n");
		strcat( menubuf, "                 家族成員列表\n");
		strcat( menubuf, "                   家族留言\n");
#ifdef _UN_FMMEMO
#else
		strcat( menubuf, "                家族之間留言板\n");
#endif
#ifdef _UN_FMPOINT
#else
		strcat( menubuf, "                 申請家族據點\n");
#endif
		strcat( menubuf, "                家族之間強者表");
        
    lssproto_WN_send(fd,
										 WINDOW_MESSAGETYPE_SELECT,
        						 WINDOW_BUTTONTYPE_CANCEL,
                     CHAR_WINDOWTYPE_FM_SELECT,
 										 -1,
										 makeEscapeString( menubuf, buf, sizeof(buf)));        
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区四区| 国产自产高清不卡| 美脚の诱脚舐め脚责91| 成人深夜视频在线观看| 欧美一区三区二区| 亚洲精品一二三四区| 国产成人夜色高潮福利影视| 88在线观看91蜜桃国自产| 国产精品丝袜久久久久久app| 青椒成人免费视频| 欧美日韩一卡二卡三卡| 国产精品短视频| 国内不卡的二区三区中文字幕| 欧美性色综合网| 亚洲精品五月天| 色综合色狠狠天天综合色| 久久久久久久电影| 国产一区激情在线| 日韩丝袜美女视频| 亚洲成人精品影院| 精品婷婷伊人一区三区三| 一区二区三区免费看视频| 99riav久久精品riav| 中文字幕一区二区三区在线观看 | 日韩免费观看高清完整版 | 99精品国产一区二区三区不卡| 久久影院午夜论| 狠狠色丁香久久婷婷综合_中 | 久久一二三国产| 美日韩一区二区三区| 91精品国产日韩91久久久久久| 亚洲电影第三页| 538prom精品视频线放| 亚洲成年人网站在线观看| 欧美日韩高清一区二区不卡 | 国产精品99久久久久| 精品成人一区二区| 国产精品一区二区不卡| 久久亚洲一级片| 处破女av一区二区| 亚洲免费观看高清完整版在线观看熊| 99视频热这里只有精品免费| 综合亚洲深深色噜噜狠狠网站| 91亚洲资源网| 亚洲高清视频中文字幕| 日韩视频一区二区三区 | 国产精品一区二区三区四区| 久久精品男人天堂av| 成人精品视频一区二区三区| 亚洲欧美日韩国产一区二区三区 | 欧美日韩在线播放| 久久爱www久久做| 中文字幕不卡在线播放| 在线视频中文字幕一区二区| 青青草97国产精品免费观看| 欧美国产欧美亚州国产日韩mv天天看完整 | 成人妖精视频yjsp地址| 亚洲色图色小说| 欧美高清激情brazzers| 国内成+人亚洲+欧美+综合在线| 2020国产精品自拍| 在线影院国内精品| 久久精品99国产精品| 中文字幕在线不卡| 欧美一级精品在线| 99视频有精品| 精品中文字幕一区二区小辣椒| 中文字幕免费一区| 91麻豆精品国产自产在线观看一区| 精品一区二区在线免费观看| 一区2区3区在线看| 91精品国产一区二区三区| 国产99久久久国产精品潘金网站| 夜夜夜精品看看| 欧美国产成人精品| 日韩亚洲欧美成人一区| 成人a免费在线看| 久久 天天综合| 午夜激情一区二区三区| 中文字幕免费一区| 欧美成人a在线| 色网站国产精品| 国产成人免费在线| 老司机精品视频在线| 亚洲午夜激情网页| 综合久久一区二区三区| 欧美r级电影在线观看| 欧美日韩视频在线观看一区二区三区 | 亚洲天堂精品在线观看| 日本一区二区免费在线观看视频| 欧美一区日韩一区| 欧美日韩国产首页| 色悠久久久久综合欧美99| 成人激情开心网| 国产一区二区不卡老阿姨| 日韩高清在线观看| 亚洲狠狠爱一区二区三区| 亚洲天堂免费在线观看视频| 中文字幕二三区不卡| 国产欧美日韩视频一区二区| 精品日韩99亚洲| 欧美成人性战久久| 日韩美女视频一区二区在线观看| 欧美高清视频在线高清观看mv色露露十八 | 欧美国产欧美综合| 国产三区在线成人av| 日韩欧美不卡一区| 日韩欧美中文字幕精品| 91精品国产91热久久久做人人| 欧美色精品在线视频| 欧美视频在线不卡| 欧美天天综合网| 欧美在线不卡一区| 欧美少妇xxx| 91蝌蚪porny九色| 一本色道久久综合精品竹菊| 91蝌蚪国产九色| 欧美日韩一区二区三区不卡 | 99热99精品| 99久久亚洲一区二区三区青草| 成人精品免费网站| 日本乱码高清不卡字幕| 在线观看一区二区视频| 欧美日韩精品免费| 4438亚洲最大| 精品国产污网站| 国产日韩欧美不卡| 亚洲免费三区一区二区| 亚洲电影一级片| 狠狠色丁香婷综合久久| 成人福利视频在线| 欧美最新大片在线看| 777奇米成人网| 国产三级欧美三级| 亚洲综合男人的天堂| 日本成人在线一区| 高清在线不卡av| 欧美自拍偷拍午夜视频| 日韩欧美一区在线| 国产精品污污网站在线观看 | 亚洲情趣在线观看| 丝袜亚洲另类欧美| 国产成人午夜精品5599| 在线一区二区三区做爰视频网站| 欧美精选午夜久久久乱码6080| 欧美一区二区福利在线| 国产精品久久毛片av大全日韩| 亚洲自拍偷拍图区| 国产一区在线视频| 色综合久久六月婷婷中文字幕| 欧美蜜桃一区二区三区| 国产日韩欧美精品综合| 亚洲一区成人在线| 国产成a人亚洲精| 欧美日韩国产不卡| 国产精品久久久久久久岛一牛影视| 亚洲午夜免费电影| 成人动漫一区二区在线| 8v天堂国产在线一区二区| 国产精品高潮久久久久无| 奇米影视7777精品一区二区| av在线不卡观看免费观看| 精品久久人人做人人爰| 亚洲欧美日韩综合aⅴ视频| 精品一区二区免费看| 欧美亚洲一区二区在线| 国产亚洲女人久久久久毛片| 日韩影视精彩在线| 91香蕉国产在线观看软件| 日韩美女主播在线视频一区二区三区| 国产精品三级av| 精品一区二区三区影院在线午夜| 色偷偷一区二区三区| 日本一区二区视频在线| 韩国v欧美v日本v亚洲v| 在线成人免费观看| 一区二区三区在线观看视频| 不卡在线视频中文字幕| 国产偷国产偷精品高清尤物| 日韩av一区二区在线影视| 欧美影片第一页| 一区二区在线观看视频在线观看| 国产成人在线视频播放| www欧美成人18+| 精久久久久久久久久久| 精品少妇一区二区三区在线视频| 香港成人在线视频| 欧美日韩国产不卡| 日韩精品一级中文字幕精品视频免费观看| 波多野结衣中文字幕一区二区三区 | 亚洲精品国产高清久久伦理二区| 国产99久久久国产精品| 亚洲国产高清不卡| 国产·精品毛片| 国产精品美日韩| 91丨九色丨尤物| 亚洲午夜免费电影| 在线亚洲欧美专区二区| 亚洲福利视频一区二区| 欧美日韩中文国产|