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

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

?? npc_fmdengon.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 4 頁
字號:
#include "version.h"
#include <time.h>
#include "char.h"
#include "object.h"
#include "lssproto_serv.h"
#include "saacproto_cli.h"
#include "npcutil.h"
#include "handletime.h"
#include "npc_fmdengon.h"
#include "family.h"

#define DENGONFILELINENUM      35     // 整個公布欄的資料筆數
#define FMSDENGONFILELINENUM   140    // 家族間的留言板資料筆數
#define DENGONFILEENTRYSIZE    128    // 本文大小
#ifdef _NEW_MANOR_LAW
#define MESSAGEINONEWINDOW     10     // 每頁所顯示的筆數
#else
#define MESSAGEINONEWINDOW     7      // 每頁所顯示的筆數
#endif
#define FMMAXNUM               1000   // 家族數量的最大值
#define FM_MEMBERLIST          2      // 家族成員列表    (主功能表的按鍵)
#define FM_MEMBERMEMO          3      // 家族留言        (主功能表的按鍵)
#ifdef _UN_FMMEMO
#define FM_FMPOINT             4      // 申請家族據點    (主功能表的按鍵)
#define FM_FMDPTOP             5      // 家族間強者表    (主功能表的按鍵)
#else
#define FM_FMMEMO              4      // 家族之間留言板  (主功能表的按鍵)
#ifdef _UN_FMPOINT
#define FM_FMDPTOP			   5          // 家族間強者表    (主功能表的按鍵)
#else
#define FM_FMPOINT             5      // 申請家族據點    (主功能表的按鍵)
#define FM_FMDPTOP             6      // 家族間強者表    (主功能表的按鍵)
#endif//_UN_FMPOINT
#endif//_UN_FMMEMO
#define FM_WAITTIME            (3*60)
#define FMSDENGON_SN           10000  // 家族之間的留言板的識別碼

extern struct  FMMEMBER_LIST memberlist[FMMAXNUM];         // 接收 AC 成員列表資料的 ARRAY 
extern struct  FMS_MEMO fmsmemo;                           // 家族之間的留言板
extern struct  FM_POINTLIST fmpointlist;                   // 家族據點
extern struct  FMS_DPTOP fmdptop;                          // 家族強者表
extern int leaderdengonindex;                              // 777 家族公布欄 index
char NPC_sendbuf[DENGONFILEENTRYSIZE*MESSAGEINONEWINDOW];  // 一整頁的大小
char enlistbuf[4096];                                        // 家族成員召募 BUF(顯示用的)

unsigned long READTIME1 = 0,
              READTIME2 = 0,
              READTIME3 = 0,
              READTIME4 = 0;

// 公布欄的初始化(when gmsv start)
BOOL NPC_FmDengonInit( int meindex)
{
    int i;
    
    CHAR_setInt( meindex, CHAR_WHICHTYPE, CHAR_TYPEDENGON);
    
    if( CHAR_getInt(meindex, CHAR_FLOOR) == 777 ){
        leaderdengonindex = meindex;
    }
    
    if( READTIME1 == 0 || READTIME2 == 0 || READTIME3 == 0 || READTIME4 == 0 ){
        READTIME1 = NowTime.tv_sec+FM_WAITTIME,
        READTIME2 = NowTime.tv_sec+FM_WAITTIME,
        READTIME3 = NowTime.tv_sec+FM_WAITTIME,
        READTIME4 = NowTime.tv_sec+FM_WAITTIME;
       
        // 取得家族的成員列表(memberlist struct),以及家族的留言板
        for( i=0; i<FMMAXNUM; i++){
            saacproto_ACShowMemberList_send( acfd, i);
            saacproto_ACFMReadMemo_send( acfd, i);
        }
        // 家族之間的留言板所傳的值預設為 FMSDENGON_SN
        saacproto_ACFMReadMemo_send( acfd, FMSDENGON_SN);
        saacproto_ACFMPointList_send(acfd);
        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
    }
    return TRUE;
}

// Select Event
void NPC_FmDengonWindowTalked( int index, int talker, int seqno, int select, char *data)
{
//    char buf[DENGONFILEENTRYSIZE*MESSAGEINONEWINDOW*2];
    char buf[4096];
    int  buttonevent;
    int  buttontype = 0;
    struct timeval recvtime;
    
    if (!CHAR_CHECKINDEX(talker)) return;
    
    CONNECT_getLastrecvtime_D( getfdFromCharaIndex( talker), &recvtime);
    if( time_diff( NowTime, recvtime) < 0.5 ){
        return;
    }
    
    CONNECT_setLastrecvtime_D( getfdFromCharaIndex( talker), &NowTime);
#ifndef _FM_MODIFY
    // 距離超出 DENGONDISTANCE 的  圍內時,即取消動作
#define DENGONDISTANCE 3	
    if( CHAR_getInt(index, CHAR_FLOOR) != 777 )
        if(NPC_Util_CharDistance( index, talker) > DENGONDISTANCE) return;
#endif
    
    // 家族留言板
    if( seqno == CHAR_WINDOWTYPE_FM_DENGON)
    {
			int dengonindex;
			int fmindex_wk;
			char tmp_buffer[4096],tmp[4096];
			
			getStringFromIndexWithDelim(data,"|",1,tmp_buffer,sizeof(tmp_buffer));
			dengonindex = atoi(tmp_buffer);
			
			fmindex_wk = CHAR_getWorkInt( talker, CHAR_WORKFMINDEXI);
			
			if( fmindex_wk < 0 || fmindex_wk >= FMMAXNUM) return;
			
			switch( select){
			case WINDOW_BUTTONTYPE_NEXT:
			case WINDOW_BUTTONTYPE_PREV:
				{
					int fd,i;
					fd = getfdFromCharaIndex( talker);
					if( fd == -1) return;
					
					dengonindex += 7 * (( select == WINDOW_BUTTONTYPE_NEXT) ? 1 : -1);
					if( dengonindex > memberlist[fmindex_wk].memoindex && memberlist[fmindex_wk].memonum < DENGONFILELINENUM)
						dengonindex = memberlist[fmindex_wk].memoindex;
					else if( dengonindex < 6 && memberlist[fmindex_wk].memonum < DENGONFILELINENUM) 
						dengonindex = 6;
					else if( dengonindex < 1 && memberlist[fmindex_wk].memonum >= DENGONFILELINENUM)
						dengonindex = memberlist[fmindex_wk].memonum+dengonindex;
					else if( dengonindex > memberlist[fmindex_wk].memonum && memberlist[fmindex_wk].memonum >= DENGONFILELINENUM)
						dengonindex -= memberlist[fmindex_wk].memonum;
					
					buttontype = WINDOW_BUTTONTYPE_OKCANCEL;
					if( dengonindex==memberlist[fmindex_wk].memoindex && memberlist[fmindex_wk].memonum >= DENGONFILELINENUM) 
						buttontype |= WINDOW_BUTTONTYPE_PREV;
					else if( (dengonindex - 7)<=memberlist[fmindex_wk].memoindex && (dengonindex - 7)>=(memberlist[fmindex_wk].memoindex - 7) &&
						memberlist[fmindex_wk].memonum >= DENGONFILELINENUM) 
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					else if( dengonindex==memberlist[fmindex_wk].memoindex) 
						buttontype |= WINDOW_BUTTONTYPE_PREV;    
					else if( dengonindex == 6) buttontype |= WINDOW_BUTTONTYPE_NEXT;
					else{
						buttontype |= WINDOW_BUTTONTYPE_PREV;
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					}
					if(dengonindex >= 6){
						strcpy( NPC_sendbuf, memberlist[fmindex_wk].memo[dengonindex - 6]);
						strcat( NPC_sendbuf, "\n");
						for( i=(dengonindex - 5); i<=dengonindex; i++){
							strcat( NPC_sendbuf, memberlist[fmindex_wk].memo[i]);
							strcat( NPC_sendbuf, "\n");
						}
						sprintf(tmp, "%d\n", dengonindex);
						strcat( NPC_sendbuf, tmp);
					}
					if(dengonindex < 6){
						strcpy( NPC_sendbuf, memberlist[fmindex_wk].memo[memberlist[fmindex_wk].memonum+(dengonindex - 6)]);
						strcat( NPC_sendbuf, "\n");
						for( i=memberlist[fmindex_wk].memonum+(dengonindex - 5); i<memberlist[fmindex_wk].memonum; i++){
							strcat( NPC_sendbuf, memberlist[fmindex_wk].memo[i]);
							strcat( NPC_sendbuf, "\n");
						}
						for( i=0; i<=dengonindex; i++){
							strcat( NPC_sendbuf, memberlist[fmindex_wk].memo[i]);
							strcat( NPC_sendbuf, "\n");
						}
						sprintf(tmp, "%d\n", dengonindex);
						strcat( NPC_sendbuf, tmp);
					}
					
					lssproto_WN_send( fd, WINDOW_FMMESSAGETYPE_DENGON,
						buttontype,
						CHAR_WINDOWTYPE_FM_DENGON,
#ifndef _FM_MODIFY
						CHAR_getWorkInt( index, CHAR_WORKOBJINDEX),
#else
						-1,
#endif
						makeEscapeString( NPC_sendbuf, buf, sizeof(buf)));
				}
				break;
			case WINDOW_BUTTONTYPE_OK:
				{
					int    fd,i;
					struct tm tm1;
					char   m_buf[4096];
					
					fd = getfdFromCharaIndex( talker);
					if( fd == -1 ) return;
					if( strlen(data) == 0 ) break;
					
					memberlist[fmindex_wk].memonum++;
					if( memberlist[fmindex_wk].memonum > DENGONFILELINENUM) 
						memberlist[fmindex_wk].memonum = DENGONFILELINENUM;
					
					memberlist[fmindex_wk].memoindex++;
					if( memberlist[fmindex_wk].memoindex >= DENGONFILELINENUM) 
						memberlist[fmindex_wk].memoindex=0;
					
					dengonindex = memberlist[fmindex_wk].memoindex;
					
					if( dengonindex < 6 && memberlist[fmindex_wk].memonum<DENGONFILELINENUM)
						dengonindex = 6;
					
					memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof(struct tm));
					getStringFromIndexWithDelim(data,"|",2,tmp_buffer,sizeof(tmp_buffer));
					sprintf( m_buf,"%s|%2d/%02d %2d:%02d %s",
						tmp_buffer,
						tm1.tm_mon +1, tm1.tm_mday, tm1.tm_hour, tm1.tm_min,
						CHAR_getChar( talker, CHAR_NAME));
					strcpy(memberlist[fmindex_wk].memo[memberlist[fmindex_wk].memoindex], m_buf);
					
					// send acsv 
					saacproto_ACFMWriteMemo_send( acfd, CHAR_getChar( talker, CHAR_FMNAME), 
						CHAR_getInt(talker, CHAR_FMINDEX),
						makeEscapeString( memberlist[fmindex_wk].memo[memberlist[fmindex_wk].memoindex], buf, sizeof(buf)),
						fmindex_wk);
					
					if( dengonindex >= 6){
						strcpy( NPC_sendbuf, memberlist[fmindex_wk].memo[dengonindex - 6]);
						strcat( NPC_sendbuf, "\n");
						for( i=(dengonindex-5); i<=dengonindex; i++){
							strcat( NPC_sendbuf, memberlist[fmindex_wk].memo[i]);
							strcat( NPC_sendbuf, "\n");
						}
						sprintf(tmp, "%d\n", dengonindex);
						strcat( NPC_sendbuf, tmp);
					}
					if( dengonindex < 6){
						strcpy( NPC_sendbuf, memberlist[fmindex_wk].memo[memberlist[fmindex_wk].memonum+(dengonindex - 6)]);
						strcat( NPC_sendbuf, "\n");
						for( i=memberlist[fmindex_wk].memonum+(dengonindex - 5); i<memberlist[fmindex_wk].memonum; i++){
							strcat( NPC_sendbuf, memberlist[fmindex_wk].memo[i]);
							strcat( NPC_sendbuf, "\n");
						}
						for( i=0; i<=dengonindex; i++){
							strcat( NPC_sendbuf, memberlist[fmindex_wk].memo[i]);
							strcat( NPC_sendbuf, "\n");
						}
						sprintf(tmp, "%d\n", dengonindex);
						strcat( NPC_sendbuf, tmp);
					}
					lssproto_WN_send( fd, WINDOW_FMMESSAGETYPE_DENGON,
						WINDOW_BUTTONTYPE_OKCANCEL|
						WINDOW_BUTTONTYPE_PREV,
						CHAR_WINDOWTYPE_FM_DENGON,
#ifndef _FM_MODIFY
						CHAR_getWorkInt( index, CHAR_WORKOBJINDEX),
#else
						-1,
#endif
						makeEscapeString( NPC_sendbuf, buf, sizeof(buf)));
				}
				break;
			default:
				break;
      }  // Switch End
    }  // If End
        
    // 家族之間留言板
    else if(seqno == CHAR_WINDOWTYPE_FM_FMSDENGON)
    {
			int dengonindex;
			char tmp_buffer[4096],tmp[4096];
			getStringFromIndexWithDelim(data,"|",1,tmp_buffer,sizeof(tmp_buffer));
			dengonindex = atoi(tmp_buffer);
			
			switch( select ){
			case WINDOW_BUTTONTYPE_NEXT:
			case WINDOW_BUTTONTYPE_PREV:
				{
					int fd,i;
					fd = getfdFromCharaIndex( talker);
					if( fd == -1 ) return;
					
					dengonindex += 7 * (( select == WINDOW_BUTTONTYPE_NEXT) ? 1 : -1);
					if( dengonindex > fmsmemo.memoindex && fmsmemo.memonum < FMSDENGONFILELINENUM)
						dengonindex = fmsmemo.memoindex;
					else if( dengonindex < 6 && fmsmemo.memonum < FMSDENGONFILELINENUM) 
						dengonindex = 6;
					else if( dengonindex < 1 && fmsmemo.memonum >= FMSDENGONFILELINENUM)
						dengonindex = fmsmemo.memonum+dengonindex;
					else if( dengonindex > fmsmemo.memonum && fmsmemo.memonum >= FMSDENGONFILELINENUM)
						dengonindex -= fmsmemo.memonum;
					
					buttontype = WINDOW_BUTTONTYPE_OKCANCEL;
					if( dengonindex==fmsmemo.memoindex && fmsmemo.memonum >= FMSDENGONFILELINENUM) 
						buttontype |= WINDOW_BUTTONTYPE_PREV;
					else if( (dengonindex-7)<=fmsmemo.memoindex && (dengonindex - 7)>=(fmsmemo.memoindex - 7) &&
						fmsmemo.memonum >= FMSDENGONFILELINENUM) 
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					else if( dengonindex == fmsmemo.memoindex) 
						buttontype |= WINDOW_BUTTONTYPE_PREV;    
					else if( dengonindex == 6 ) 
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					else{
						buttontype |= WINDOW_BUTTONTYPE_PREV;
						buttontype |= WINDOW_BUTTONTYPE_NEXT;
					}
					
					if( dengonindex >= 6 ){
						if( (dengonindex - 6)  >= 140 ) return;
						strcpy( NPC_sendbuf, fmsmemo.memo[dengonindex - 6]);
						strcat( NPC_sendbuf, "\n");
						for( i=(dengonindex - 5); i<=dengonindex; i++){
							strcat( NPC_sendbuf, fmsmemo.memo[i]);
							strcat( NPC_sendbuf, "\n");
						}
						sprintf(tmp, "%d\n", dengonindex);
						strcat( NPC_sendbuf, tmp);
					}
					if(dengonindex < 6){
						if( (fmsmemo.memonum+(dengonindex - 6))  >= 140 ||
							(fmsmemo.memonum+(dengonindex - 6))  < 0 ) return;
						
						strcpy( NPC_sendbuf, fmsmemo.memo[fmsmemo.memonum+(dengonindex - 6)]);
						
						strcat( NPC_sendbuf, "\n");
						for( i=fmsmemo.memonum+(dengonindex - 5); i<fmsmemo.memonum; i++){
							strcat( NPC_sendbuf, fmsmemo.memo[i]);
							strcat( NPC_sendbuf, "\n");
						}
						for( i=0; i<=dengonindex; i++){
							strcat( NPC_sendbuf, fmsmemo.memo[i]);
							strcat( NPC_sendbuf, "\n");
						}
						sprintf(tmp, "%d\n", dengonindex);
						strcat( NPC_sendbuf, tmp);
					}
					lssproto_WN_send( fd, WINDOW_FMMESSAGETYPE_FMSDENGON,
						buttontype,
						CHAR_WINDOWTYPE_FM_FMSDENGON,
#ifndef _FM_MODIFY
						CHAR_getWorkInt( index, CHAR_WORKOBJINDEX),
#else
						-1,
#endif
						makeEscapeString( NPC_sendbuf, buf, sizeof(buf)));
				}
				break;
			case WINDOW_BUTTONTYPE_OK:
				{
					int    fd,i;
					struct tm tm1;
					char   m_buf[4096];
					
					fd = getfdFromCharaIndex( talker );
					if( fd == -1 )  return;
					
#ifdef _FMVER21  
					if( CHAR_getInt( talker, CHAR_FMLEADERFLAG) != FMMEMBER_LEADER){              
#else
					if( CHAR_getInt( talker, CHAR_FMLEADERFLAG) != 1){              
#endif              
							sprintf( NPC_sendbuf, "              『警       告』\n 抱歉!你不是族長,所以僅能查看。");
							lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
								WINDOW_BUTTONTYPE_OK,
								-1,
								-1,
								makeEscapeString( NPC_sendbuf, buf, sizeof(buf)));
							return;
						}
						
						if( strlen( data) == 0 )  break;
						
						fmsmemo.memonum++;
						if( fmsmemo.memonum > FMSDENGONFILELINENUM) 
							fmsmemo.memonum = FMSDENGONFILELINENUM;
            
						fmsmemo.memoindex++;
						if( fmsmemo.memoindex >= FMSDENGONFILELINENUM) 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品美国一| 国产乱子伦一区二区三区国色天香| 午夜精品久久久久久久99樱桃| 国内精品久久久久影院薰衣草| 欧美午夜电影一区| 国产精品不卡一区| 精品一区二区三区蜜桃| 91搞黄在线观看| 国产精品久久久久久久久久久免费看 | 91尤物视频在线观看| 日韩欧美在线观看一区二区三区| 欧美经典三级视频一区二区三区| 蜜乳av一区二区三区| 欧美视频一区二区三区| 亚洲色图欧美在线| 国产成人免费av在线| 久久一区二区三区国产精品| 蜜桃av一区二区| 91精品欧美福利在线观看| 亚洲自拍都市欧美小说| 91麻豆自制传媒国产之光| 国产精品久久久久桃色tv| 国产精品一区二区在线看| 精品国产免费人成电影在线观看四季| 天天色综合天天| 麻豆精品久久久| 欧美日韩一区在线| 亚洲国产你懂的| 在线免费观看不卡av| 亚洲天堂久久久久久久| 91视频你懂的| 亚洲老妇xxxxxx| 欧美性色欧美a在线播放| 一区二区三区精品视频| 欧美视频精品在线| 丝瓜av网站精品一区二区| 欧美精品在线一区二区三区| 日韩av电影免费观看高清完整版 | 9l国产精品久久久久麻豆| 久久精品一二三| 成人涩涩免费视频| 国产精品对白交换视频| 色综合激情久久| 亚洲国产欧美在线人成| 日韩一区二区三区视频在线| 国模冰冰炮一区二区| 中文字幕免费一区| 色噜噜狠狠色综合中国| 亚洲成国产人片在线观看| 5566中文字幕一区二区电影| 久久成人免费日本黄色| 国产欧美日韩在线视频| av福利精品导航| 亚洲第一综合色| 精品国产免费一区二区三区香蕉| 国产成人精品三级麻豆| 一区二区在线电影| 欧美一区二区三区免费在线看| 久久99精品久久久久久国产越南 | 日韩精品一卡二卡三卡四卡无卡| 精品理论电影在线| 成人免费视频视频| 一区二区三区欧美在线观看| 日韩欧美国产一区在线观看| 99久久免费国产| 青娱乐精品视频| 国产精品久久久久久久久晋中| 4hu四虎永久在线影院成人| 国产精品538一区二区在线| 亚洲精品日日夜夜| 久久综合色天天久久综合图片| 91久久精品日日躁夜夜躁欧美| 久久国内精品自在自线400部| 亚洲视频免费看| 精品嫩草影院久久| 欧美色综合久久| 成人福利电影精品一区二区在线观看| 亚洲成人免费在线观看| 欧美国产乱子伦| 日韩一区二区麻豆国产| 色噜噜狠狠色综合中国| 国产精品一区二区久久精品爱涩| 亚洲bt欧美bt精品| 亚洲天堂a在线| 国产亚洲精品福利| 制服丝袜中文字幕一区| 色综合中文字幕国产 | 91精品蜜臀在线一区尤物| 成人性视频免费网站| 久久精品国产网站| 亚洲h在线观看| 亚洲美女在线国产| 国产欧美精品日韩区二区麻豆天美| 7777精品伊人久久久大香线蕉超级流畅| av在线不卡电影| 国产成人99久久亚洲综合精品| 免费观看日韩电影| 视频一区欧美精品| 亚洲夂夂婷婷色拍ww47| 国产精品伦理在线| 亚洲国产精品高清| 国产日韩高清在线| 欧美精品一区二区三区在线 | 日本一二三不卡| 久久亚洲捆绑美女| 日韩欧美一区在线观看| 91麻豆精品国产91久久久资源速度| 色狠狠av一区二区三区| 91色.com| 色爱区综合激月婷婷| aaa国产一区| 91天堂素人约啪| 99精品黄色片免费大全| av在线这里只有精品| 99re6这里只有精品视频在线观看| av在线综合网| 91久久香蕉国产日韩欧美9色| 欧美综合在线视频| 在线日韩av片| 欧美少妇性性性| 日韩一级二级三级精品视频| 日韩欧美国产综合| 久久麻豆一区二区| 国产精品久久久久桃色tv| 亚洲人xxxx| 午夜在线电影亚洲一区| 日韩av网站在线观看| 国产毛片精品视频| 成人一级黄色片| 欧美性生活大片视频| 日韩欧美一区二区视频| 久久久蜜桃精品| 亚洲乱码日产精品bd | 国产精品久久久久久久久动漫| 中文字幕综合网| 五月婷婷综合激情| 国产最新精品精品你懂的| 国v精品久久久网| 欧美性色综合网| 精品国产一区二区亚洲人成毛片| 国产日产欧美一区| 亚洲综合一二区| 麻豆精品在线播放| 99久精品国产| 91精品国产综合久久久久久久| 久久久久久久一区| 一区二区日韩av| 国模无码大尺度一区二区三区| 91在线免费视频观看| 日韩一区二区在线观看| 国产精品美女久久久久久久网站| 午夜视频久久久久久| 国产·精品毛片| 欧美伦理视频网站| 国产精品免费网站在线观看| 亚洲成人动漫精品| 成人性生交大片免费看中文网站 | 色天天综合色天天久久| 日韩一区和二区| 亚洲欧美另类小说| 国产一区二区精品久久99| 91成人在线观看喷潮| 国产婷婷色一区二区三区四区| 午夜影院久久久| av网站免费线看精品| 精品美女一区二区| 午夜欧美电影在线观看| 99久久er热在这里只有精品66| 日韩精品中文字幕在线不卡尤物| 亚洲人午夜精品天堂一二香蕉| 国内偷窥港台综合视频在线播放| 精品视频在线看| 亚洲另类色综合网站| 国产黄色成人av| 精品国精品国产尤物美女| 午夜精品久久一牛影视| 在线观看亚洲精品| 1024成人网| 成人av一区二区三区| 精品久久一二三区| 日本欧美在线观看| 欧美精品日韩一区| 一区2区3区在线看| 色婷婷精品久久二区二区蜜臂av| 国产欧美一区二区精品婷婷| 美国三级日本三级久久99| 欧美色综合久久| 亚洲一区二区三区不卡国产欧美 | 亚洲午夜日本在线观看| 国产成人精品一区二| 国产偷国产偷精品高清尤物| 国产一区二区在线观看免费| 2020国产精品自拍| 国产一区二区网址| 久久女同精品一区二区| 国产一区欧美日韩| 久久精品亚洲乱码伦伦中文| 岛国精品在线播放| 国产精品国产三级国产三级人妇| 成人免费视频网站在线观看|