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

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

?? petmail.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 3 頁
字號:
#include "version.h"
#include <stdio.h>

#include "configfile.h"
#include "buf.h"
#include "char_base.h"
#include "char.h"
#include "battle.h"
#include "handletime.h"
#include "map_deal.h"
#include "addressbook.h"
#include "lssproto_serv.h"
#include "pet.h"
#include "petmail.h"
#include "npcutil.h"
#include "log.h"

#define		PETMAIL_BATTLETIMEOUT		660
#define		PETMAIL_IDLETIMEOUT		30
#define		PETMAIL_IDLETIME		10

#define		PETMAIL_IDLE_RETURNOWNER	(60*30)
//andy_edit
//#define	PETMAIL_IDLEDISCARD	(60*60)  //Syu 修正寵郵等待時間為一小時
#define	PETMAIL_IDLEDISCARD	(60*3)

/* petmail 跨星系的等待時間  shan add */
#define         PETMAIL_JS_TIMEOUT              (2*60)

static int PETMAIL_getIdleTime( int index);
static void PETMAIL_sendPetmail( int index, int tocharaindex);
static void PETMAIL_IdleProc1( int index);
static void PETMAIL_IdleProc2( int index);
static void PETMAIL_IdleProc3( int index);
static void PETMAIL_IdleProc4( int index);
static void PETMAIL_IdleProc5( int index);

static void PETMAIL_ReturnWait( int index);
static void PETMAIL_returnMail( int index, int tocharaindex);
static int PETMAIL_offmsg_max;        
#define		PETMAILOFFMSGFILE			"petmail.txt"

#define PETMAIL_DEFTOTALNUM 1000
static int PetMailTotalnums = 0;

BOOL PETMAIL_sendPetMail( int cindex, int aindex, 
					int havepetindex, int haveitemindex, char* text , int color )
{
	char	textbuffer[2048];
	struct  tm tm1;
	Char 	*ch;
	ADDRESSBOOK_entry *ae;
	int		petindex;
	int		itemindex =-1;
	int tocharaindex,playernum,i;

	//判斷 人物 寵物 道具 對象名片
	if( !CHAR_CHECKINDEX( cindex) )return FALSE;
	if( haveitemindex != -1 ) {
		itemindex = CHAR_getItemIndex( cindex, haveitemindex);
		if( ITEM_CHECKINDEX( itemindex)) {
			if( ITEM_getInt( itemindex, ITEM_CANPETMAIL) == 0 ) {
				print( "err? crack?\n");
				return FALSE;
			}
		}
	}
	petindex = CHAR_getCharPet( cindex, havepetindex);
	if( petindex == -1  ) return FALSE;
	ch  = CHAR_getCharPointer( petindex);
	if( ch == NULL ) return FALSE;
	ae = CHAR_getAddressbookEntry( cindex , aindex );
	if( ae == NULL )return FALSE;

#ifdef _AVID_TRADETRYBUG  //寵物郵件
	if( CHAR_getWorkInt( cindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE ){
		CHAR_talkToCli( cindex, -1, "交易狀態中無法傳遞寵物郵件。", CHAR_COLORYELLOW );
		return FALSE;
	}
#endif
	//騎乘
    if (CHAR_getInt( cindex, CHAR_RIDEPET) == havepetindex ){
    	CHAR_talkToCli(cindex, -1, "騎乘中的寵物無法傳遞寵物郵件!", CHAR_COLORYELLOW);
    	return	FALSE;
    }
	if( CHAR_getWorkInt( cindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE){
		CHAR_talkToCli( cindex, -1, "戰斗狀態中無法傳遞寵物郵件。", CHAR_COLORYELLOW );
		return	FALSE;
	}
    if (CHAR_getInt(petindex, CHAR_PETFAMILY) == 1){
	   	CHAR_talkToCli(cindex, -1, "家族守護獸無法傳遞郵件喔!", CHAR_COLORYELLOW);
	   	return	FALSE;
	}
// Terry add fix can send mail to offline character 2004/2/5
	if(ae->online == 0){
		CHAR_talkToCli(cindex, -1, "該玩家不在線上!", CHAR_COLORYELLOW);
   	return	FALSE;
	}
	playernum = CHAR_getPlayerMaxNum();
	for(i = 0;i<playernum;i++){
		if(CHAR_CHECKINDEX(i) &&
			strcmp(CHAR_getChar(i,CHAR_CDKEY),ae->cdkey) == 0 &&
			strcmp(CHAR_getChar(i,CHAR_NAME),ae->charname) == 0 ) break;
	}
	if(i == playernum){
		CHAR_talkToCli(cindex, -1, "該玩家不在此星球上!", CHAR_COLORYELLOW);
   	return	FALSE;
	}
// end
#ifdef _MAP_TIME
	if((CHAR_getInt(cindex,CHAR_FLOOR) >= 30017 && CHAR_getInt(cindex,CHAR_FLOOR) <= 30021)){
		char	msgbuf[512];
		snprintf(msgbuf,sizeof(msgbuf),"此地區不得寄送道具!");
		CHAR_talkToCli(cindex,-1,msgbuf,CHAR_COLORWHITE);
		return FALSE;
	}
	if((CHAR_getInt(i,CHAR_FLOOR) >= 30017 && CHAR_getInt(i,CHAR_FLOOR) <= 30021)){
		char	msgbuf[512];
		snprintf(msgbuf,sizeof(msgbuf),"對方所在地區不得收寄送道具!");
		CHAR_talkToCli(cindex,-1,msgbuf,CHAR_COLORWHITE);
		return FALSE;
	}
#endif

#ifdef _BAD_PLAYER             // WON ADD 送壞玩家去關
	if( CHAR_getInt(cindex,CHAR_FLOOR)==887 ){
		char	msgbuf[512];
		snprintf( msgbuf, sizeof( msgbuf), "對不起,您在招待室中,無法寄送信件。");
		CHAR_talkToCli( cindex, -1, msgbuf, CHAR_COLORWHITE);
		return FALSE;
	}
#endif

#ifdef _DEATH_FAMILY_GM_COMMAND	// WON ADD 家族戰GM指令
	{
		char	msgbuf[512];
		snprintf( msgbuf, sizeof( msgbuf), "跨星系家族PK,無法寄送信件。");
		CHAR_talkToCli( cindex, -1, msgbuf, CHAR_COLORWHITE);
		return FALSE;
	}
#endif

	// Syu Add 2003/05/30
	if( ( CHAR_getInt(cindex,CHAR_FLOOR) >= 8200 && CHAR_getInt(cindex,CHAR_FLOOR) <= 8213 ) ) 
	{
		char	msgbuf[512];
		snprintf( msgbuf, sizeof( msgbuf), "英雄戰場不得寄送道具!");
		CHAR_talkToCli( cindex, -1, msgbuf, CHAR_COLORWHITE);
		return FALSE;
	}

#ifdef _PET_LIMITLEVEL
		if( CHAR_getInt( petindex, CHAR_LIMITLEVEL) > 0 )	{
			CHAR_talkToCli(cindex, -1, "特殊寵物不能傳遞郵件喔!", CHAR_COLORYELLOW);
			return FALSE;
		}
#endif

#ifdef _PETMAIL_DEFNUMS
		if( CHAR_getWorkInt( cindex, CHAR_PETMAILNUMS) > 6 ){
			CHAR_talkToCli(cindex, -1, "郵件中寵物過多,暫時無法傳遞寵物郵件!", CHAR_COLORYELLOW);
			return	FALSE;
		}else if( PETMAIL_CheckIsMyOffmsg( cindex, ae->cdkey, ae->charname) > 5 ){
			CHAR_talkToCli(cindex, -1, "收件者目前郵件寵物超過5封,暫時無法傳遞寵物郵件!", CHAR_COLORYELLOW);
			return	FALSE;
		}else if( CHAR_getWorkInt( cindex, CHAR_PETMAILSENDTIME) > (int)time( NULL)){
			char Mess1[256];
			sprintf( Mess1,"需等待%d秒才能再次寄送寵物郵件!",
				(int)time( NULL) - CHAR_getWorkInt( cindex, CHAR_PETMAILSENDTIME));
			CHAR_talkToCli( cindex, -1, Mess1, CHAR_COLORYELLOW);
			return	FALSE;
		}else if( PetMailTotalnums >= PETMAIL_DEFTOTALNUM ){
			CHAR_talkToCli(cindex, -1, "目前系統郵件過多,請稍後再寄。", CHAR_COLORYELLOW);
			return	FALSE;
		}else{
			int nums = CHAR_getWorkInt( cindex, CHAR_PETMAILNUMS);
			nums ++;
			CHAR_setWorkInt( cindex, CHAR_PETMAILNUMS, nums);
			CHAR_setWorkInt( cindex, CHAR_PETMAILSENDTIME, (int)time( NULL)+6);
			PetMailTotalnums ++;
		}
#endif
	memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1));
    snprintf( textbuffer, sizeof( textbuffer), 
    		"%2d/%02d %2d:%02d|%s", tm1.tm_mon +1, tm1.tm_mday, tm1.tm_hour, tm1.tm_min, text);
	{
		int		offmsgindex;
		offmsgindex = PETMAIL_addOffmsg( cindex, ae->cdkey, ae->charname, text, color);
		if( offmsgindex == -1 ) {
			print( "offmsg buffer over\n");
			return FALSE;
		}

#ifdef _FIX_PETMAIL2        // WON ADD 修正寵郵2
		if( !PET_dropPetFLXY( cindex, havepetindex, PETMAIL_SPOOLFLOOR, PETMAIL_SPOOLX,PETMAIL_SPOOLY) ){
			CHAR_talkToCli( cindex, -1, "寵物郵件失敗", CHAR_COLORYELLOW);
			return FALSE;
		}
#endif
		CHAR_setInt( petindex, CHAR_FLOOR, CHAR_getInt( cindex, CHAR_FLOOR));
		CHAR_setInt( petindex, CHAR_X, CHAR_getInt( cindex, CHAR_X));
		CHAR_setInt( petindex, CHAR_Y, CHAR_getInt( cindex, CHAR_Y));			
		CHAR_sendPMEToArroundCharacter( cindex, petindex, 0, CHAR_getInt( petindex, CHAR_PETMAILEFFECT));
		CHAR_setInt( petindex, CHAR_MAILMODE,CHAR_PETMAIL_IDLE2);
		CHAR_setInt( petindex, CHAR_LOOPINTERVAL, PETMAIL_LOOPINTERVAL2);
		strcpysafe( ch->charfunctable[CHAR_LOOPFUNC].string,
					sizeof( ch->charfunctable[CHAR_LOOPFUNC]), "PETMAIL_Loop");
		CHAR_constructFunctable( petindex);
		CHAR_setInt( petindex, CHAR_PETMAILBUFINDEX, offmsgindex);
		CHAR_setInt( petindex, CHAR_PETMAILIDLETIME, NowTime.tv_sec);
		CHAR_setInt( petindex, CHAR_PETMAILFROMFLOOR, CHAR_getInt( cindex, CHAR_FLOOR));
		CHAR_setInt( petindex, CHAR_PETMAILFROMX, CHAR_getInt( cindex, CHAR_X));
		CHAR_setInt( petindex, CHAR_PETMAILFROMY,CHAR_getInt( cindex, CHAR_Y));		

#ifdef _WON_PET_MAIL_LOG   // WON ADD 增加寄寵郵的 LOG
		LogPet(
			CHAR_getChar( cindex, CHAR_NAME ), 
			CHAR_getChar( cindex, CHAR_CDKEY ),
			CHAR_getChar( petindex, CHAR_NAME),
			CHAR_getInt( petindex, CHAR_LV),
			"Pet_Send_Mail(寄寵郵)",
			CHAR_getInt( cindex,CHAR_FLOOR),
			CHAR_getInt( cindex,CHAR_X ),
			CHAR_getInt( cindex,CHAR_Y ),
			CHAR_getChar( petindex, CHAR_UNIQUECODE)  
		);
#endif
		if( haveitemindex != -1 ) {
			CHAR_setItemIndex( cindex, haveitemindex, -1);
			CHAR_setItemIndex( petindex, CHAR_STARTITEMARRAY, itemindex);
			CHAR_sendItemDataOne( cindex, haveitemindex);
			LogItem(
				CHAR_getChar( cindex, CHAR_NAME ),
				CHAR_getChar( cindex, CHAR_CDKEY ),
				itemindex,
				"pm_have(寵郵->寄送的道具)",
				CHAR_getInt( cindex,CHAR_FLOOR),
				CHAR_getInt( cindex,CHAR_X ),
	 			CHAR_getInt( cindex,CHAR_Y ),
				ITEM_getChar( itemindex, ITEM_UNIQUECODE),
						ITEM_getChar( itemindex, ITEM_NAME),
						ITEM_getInt( itemindex, ITEM_ID)

			);
		}
		{
			char token[256];
			tocharaindex = PETMAIL_CheckPlayerExist( petindex, 0);
			sprintf( token, "寄送寵物郵件(%s)給%s。",
				CHAR_getUseName( petindex), CHAR_getUseName( tocharaindex) );
			CHAR_talkToCli( cindex, -1, token, CHAR_COLORYELLOW);
		}
		return TRUE;
	}
	return FALSE;
}

static PETMAIL_offmsg * PETMAIL_offmsgbuf;
BOOL PETMAIL_initOffmsgBuffer( int count )
{
    int size = sizeof( PETMAIL_offmsg )*count ;
	FILE	*fp;
    char	filename[256];
    char    line[2048];
    int		linenum = 0;
    
    PETMAIL_offmsgbuf = (PETMAIL_offmsg*)allocateMemory( size );
    
    if( PETMAIL_offmsgbuf == NULL ) return FALSE;

	PetMailTotalnums = 0;

    memset( PETMAIL_offmsgbuf, 0,size );

    PETMAIL_offmsg_max = count;
    snprintf( filename ,sizeof( filename ) ,"%s/%s", getStoredir(), PETMAILOFFMSGFILE);
    fp = fopen( filename , "rt" );
    if( fp == NULL ) return TRUE;

	while(  fgets( line, sizeof( line ), fp ) != NULL ){
		char	buf[1024];
		int		index;
		if( !getStringFromIndexWithDelim( line, "|", 1, buf, sizeof( buf))) {
			print( "read error line[%d]\n", linenum);
			continue;
		}
		index = atoi( buf);
		if( index >= PETMAIL_offmsg_max ) {
			print( "index over offmsg_max [%d]\n", index);
			continue;
		}
		if( PETMAIL_offmsgbuf[index].use == TRUE) {
			print( "offmsg already use index[%d]\n", index);
			continue;
		}
		
		if( !getStringFromIndexWithDelim( line, "|", 2, buf, sizeof( buf))) {
			print( "read error line[%d]\n", linenum);
			continue;
		}
		PETMAIL_offmsgbuf[index].send_tm = atoi( buf);
		
		if( !getStringFromIndexWithDelim( line, "|", 3, buf, sizeof( buf))) {
			print( "read error line[%d]\n", linenum);
			continue;
		}
		PETMAIL_offmsgbuf[index].color = atoi( buf);
		
		if( !getStringFromIndexWithDelim( line, "|", 4, buf, sizeof( buf))) {
			print( "read error line[%d]\n", linenum);
			continue;
		}
		strcpysafe( PETMAIL_offmsgbuf[index].text, 
					sizeof( PETMAIL_offmsgbuf[index].text),
					buf);
		
		if( !getStringFromIndexWithDelim( line, "|", 5, buf, sizeof( buf))) {
			print( "read error line[%d]\n", linenum);
			continue;
		}
		strcpysafe( PETMAIL_offmsgbuf[index].destcd, 
					sizeof( PETMAIL_offmsgbuf[index].destcd),
					buf);
		
		if( !getStringFromIndexWithDelim( line, "|", 6, buf, sizeof( buf))) {
			print( "read error line[%d]\n", linenum);
			continue;
		}
		makeStringFromEscaped(buf);
		strcpysafe( PETMAIL_offmsgbuf[index].destcharname, 
					sizeof( PETMAIL_offmsgbuf[index].destcharname),
					buf);
		if( !getStringFromIndexWithDelim( line, "|", 7, buf, sizeof( buf))) {
			print( "read error line[%d]\n", linenum);
			continue;
		}
		strcpysafe( PETMAIL_offmsgbuf[index].srccd, 
					sizeof( PETMAIL_offmsgbuf[index].srccd),
					buf);
		if( !getStringFromIndexWithDelim( line, "|", 8, buf, sizeof( buf))) {
			print( "read error line[%d]\n", linenum);
			continue;
		}
		makeStringFromEscaped(buf);
		strcpysafe( PETMAIL_offmsgbuf[index].srccharname, 
					sizeof( PETMAIL_offmsgbuf[index].srccharname),
					buf);
		linenum ++;
	}
	fclose( fp);
    return TRUE;
    
}

BOOL PETMAIL_addOffmsg( int fromindex, char *tocdkey, char *tocharaname,
                            char *text , int color )
{

    int i;

    for( i = 0 ; i < PETMAIL_offmsg_max; i++ ) {
        if( PETMAIL_offmsgbuf[i].use == 0 ) {
            PETMAIL_offmsg *om = & PETMAIL_offmsgbuf[i];
            om->use = 1;
            time( & om->send_tm );

            strcpysafe( om->srccd , sizeof( om->srccd ), 
            			CHAR_getChar( fromindex, CHAR_CDKEY));
            strcpysafe( om->srccharname , sizeof( om->srccharname ),
                        CHAR_getChar( fromindex, CHAR_NAME));
            strcpysafe( om->destcd , sizeof( om->destcd ), tocdkey );
            strcpysafe( om->destcharname , sizeof(om->destcharname), tocharaname);
            strcpysafe( om->text , sizeof(om->text), text );
            om->color = color;
            return i;
        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲电影第三页| 99麻豆久久久国产精品免费| a4yy欧美一区二区三区| 欧美三级电影在线看| 国产精品天天摸av网| 蜜臀av性久久久久av蜜臀妖精| 91免费版在线| 国产人成一区二区三区影院| 日本不卡一区二区三区高清视频| 春色校园综合激情亚洲| 精品日产卡一卡二卡麻豆| 亚洲一区二区综合| 色婷婷一区二区| 亚洲人成亚洲人成在线观看图片 | 91亚洲男人天堂| 欧美精品一区二| 另类综合日韩欧美亚洲| 欧美日韩精品一区二区天天拍小说 | 在线观看亚洲a| 国产精品第13页| 成人午夜电影小说| 中文字幕欧美国产| 国产91精品免费| 日本一区二区视频在线观看| 国产精品性做久久久久久| 久久久久久久久久久久久夜| 国产精品一区专区| 国产三级欧美三级| 国产aⅴ精品一区二区三区色成熟| 久久久久免费观看| 国产大陆亚洲精品国产| 中文字幕av一区二区三区| 波多野结衣中文一区| **欧美大码日韩| 93久久精品日日躁夜夜躁欧美| ...中文天堂在线一区| 成人18视频日本| 亚洲欧美日韩国产另类专区| 色综合天天综合色综合av| 亚洲视频一二区| 色哟哟在线观看一区二区三区| 亚洲男人电影天堂| 欧美综合一区二区三区| 视频一区中文字幕| 精品国精品自拍自在线| 国产成+人+日韩+欧美+亚洲| 亚洲天堂av老司机| 欧美日韩在线综合| 久久99久久精品| 欧美激情在线一区二区三区| bt7086福利一区国产| 亚洲国产aⅴ成人精品无吗| 久久久久久**毛片大全| 99riav久久精品riav| 亚洲一区二区三区四区在线观看| 在线成人av网站| 国产精品一级在线| 中文字幕一区二区三| 欧美福利一区二区| 国产露脸91国语对白| 亚洲伦理在线精品| 欧美一区二区日韩| 粉嫩av亚洲一区二区图片| 一区二区三区四区视频精品免费| 3atv一区二区三区| av一区二区不卡| 日本中文一区二区三区| 国产精品久久久久久久久免费桃花 | 国产精品久久久久7777按摩| 欧亚一区二区三区| 国产一区二区网址| 亚洲综合999| 国产天堂亚洲国产碰碰| 欧美伊人久久大香线蕉综合69| 狠狠色狠狠色综合日日91app| 亚洲女厕所小便bbb| xf在线a精品一区二区视频网站| 色综合一区二区| 国产伦精品一区二区三区免费迷| 亚洲一区在线观看视频| 国产欧美日韩麻豆91| 国产精品三级久久久久三级| 日韩欧美一区二区不卡| 91国偷自产一区二区使用方法| 国产主播一区二区三区| 亚洲成人av一区| 亚洲免费在线视频| 国产三区在线成人av| 日韩一区二区三区在线| 欧美最猛性xxxxx直播| 成人精品一区二区三区四区| 狠狠色丁香久久婷婷综合丁香| 亚洲与欧洲av电影| 1区2区3区欧美| 久久久国产精华| 日韩美女在线视频| 717成人午夜免费福利电影| 91在线观看高清| 成人免费看视频| 国产成人欧美日韩在线电影| 国产一区在线精品| 开心九九激情九九欧美日韩精美视频电影 | 欧美精品一区二区三区在线| 337p亚洲精品色噜噜噜| 在线电影一区二区三区| 精品视频全国免费看| 欧美视频第二页| 一本大道久久a久久精品综合| 成人av电影在线观看| 国产成人精品一区二区三区四区| 国产一区二区三区免费在线观看| 精品一区二区精品| 麻豆成人免费电影| 久久99精品久久久久| 久久不见久久见免费视频1| 青青青爽久久午夜综合久久午夜| 日韩一区精品视频| 免费欧美高清视频| 麻豆国产精品官网| 国产精品综合久久| 成人国产视频在线观看| 色综合久久久久综合99| 在线视频综合导航| 欧美日本精品一区二区三区| 91精品国产手机| 日韩午夜av电影| www国产亚洲精品久久麻豆| 久久精品视频一区| 国产精品久久久久久妇女6080| 亚洲欧美电影一区二区| 亚洲精品菠萝久久久久久久| 亚洲成国产人片在线观看| 久久精品99国产精品| 国产99精品国产| 在线视频国产一区| 日韩三级免费观看| 国产欧美精品在线观看| 亚洲色图在线看| 天堂一区二区在线| 国产v综合v亚洲欧| 在线免费观看不卡av| 欧美xxxx老人做受| 国产精品成人午夜| 丝瓜av网站精品一区二区 | 蜜桃视频在线一区| 成人免费视频视频在线观看免费| 色88888久久久久久影院野外| 91精品国产日韩91久久久久久| 国产网红主播福利一区二区| 亚洲欧美在线高清| 麻豆精品新av中文字幕| 91在线视频官网| 精品日产卡一卡二卡麻豆| 综合激情成人伊人| 国产资源精品在线观看| 色老综合老女人久久久| 精品久久久久久久一区二区蜜臀| 成人欧美一区二区三区在线播放| 青青草精品视频| 成人高清视频在线| 日韩免费观看高清完整版| 一区二区三区在线不卡| 国产麻豆精品在线| 欧美精品xxxxbbbb| 欧美国产日韩一二三区| 美日韩一区二区| 欧美日韩精品一区二区| 国产精品国产自产拍在线| 黄色精品一二区| 欧美一区二区三区啪啪| 一区二区不卡在线播放 | 一区二区三区免费| 成人性生交大合| 久久天天做天天爱综合色| 香蕉久久一区二区不卡无毒影院| 波多野结衣在线一区| 精品日韩欧美一区二区| 日韩国产精品久久| 在线观看日韩一区| 亚洲色图丝袜美腿| 成人91在线观看| 日本一区二区免费在线观看视频 | 男人的j进女人的j一区| 欧美三日本三级三级在线播放| 国产精品久久久久久久久免费桃花 | 蜜臀国产一区二区三区在线播放| 欧美性猛交xxxx乱大交退制版 | 国产清纯在线一区二区www| 亚洲成人av一区二区三区| 91成人免费在线视频| 亚洲欧美日韩久久| 91亚洲精品一区二区乱码| 国产精品久久影院| av亚洲精华国产精华精| 日韩一区中文字幕| 91麻豆视频网站| 亚洲黄色av一区| 欧美三级三级三级爽爽爽| 亚洲va国产天堂va久久en| 欧美片在线播放|