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

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

?? log.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "version.h"#include <stdio.h>#include <stdarg.h>#include <string.h>#include <time.h>#include "common.h"#include "util.h"#include "log.h"#include "handletime.h"#include "net.h"#include "char_base.h"/* * * 夫弘白央奶伙及潘  反append 允月手及午仄卅中手及互丐月[ * append允月手及反  賡卞白央奶伙毛夫日中化云仁[ * 公丹匹卅中手及反踏五仇心及兇太卞fopen(..,"w")允月 * by ringo */struct tagLogconf{    char*   label;    char*   entry;    char    filename[256];    FILE*   f;    BOOL    append;             /* append 允月井}踏五仇心及兇太卞SEEK_SET允月井 */}LogConf[LOG_TYPE_NUM]={    { "TALK: ", "talklog" ,"", NULL , TRUE},    { "PROC: ", "proc" , "" , NULL , FALSE},    { "ITEM: ", "itemlog" ,"", NULL , TRUE},    { "STONE: ", "stonelog" ,"", NULL , TRUE},    { "PET: ", "petlog" ,"", NULL , TRUE},    { "TENSEI: ", "tenseilog" ,"", NULL , TRUE},    { "KILL: ", "killlog","",NULL,TRUE},    // CoolFish: 2001/4/19    { "TRADE: ", "tradelog", "", NULL, TRUE},    // Arminius: 2001/6/14    { "HACK: ", "hacklog", "", NULL, TRUE},    // Nuke: 0626 Speed    { "SPEED: ", "speedlog", "", NULL, TRUE},    // CoolFish: FMPopular 2001/9/12    { "FMPOP: ", "fmpoplog", "", NULL, TRUE},    // Robin 10/02    { "FAMILY: ", "familylog", "", NULL, TRUE},    // Shan 11/02    { "GM: ", "gmlog", "", NULL, TRUE},     // Terry 2001/09/28#ifdef _SERVICE    { "SERVICE: ", "servicelog", "", NULL, TRUE},       #endif#ifdef _GAMBLE_ROULETTE	{ "", "gamblelog", "", NULL, TRUE}, #endif#ifdef _TEST_PETCREATE	{ "", "creatpetlog", "", NULL, TRUE},	{ "", "creatpetavglog", "", NULL, TRUE}, #endif	{ "LOGIN: ", "loginlog", "", NULL, TRUE},	{ "", "pettranslog", "", NULL, TRUE},//Syu 增加莊園戰勝負Log	{ "FMPKRESULT: ", "fmpkresultlog" ,"", NULL , TRUE},// Syu ADD 新增家族個人銀行存取Log (不含家族銀行)	{ "BANKSTONELOG: ", "bankstonelog" ,"", NULL , TRUE},	{ "ACMESSAGE: ", "acmessagelog" ,"", NULL , TRUE},	{ "PKCONTEND:", "pkcontendlog", "", NULL, TRUE},#ifdef _STREET_VENDOR	{ "STREETVENDOR: ", "StreetVendorlog" ,"", NULL , TRUE},#endif#ifdef _ANGEL_SUMMON	{ "ANGEL: ", "angellog" ,"", NULL , TRUE},#endif#ifdef _LOG_OTHER	{ "OTHER: ", "otherlog" ,"", NULL , TRUE},#endif#ifdef _NEW_MANOR_LAW	{ "FMPKGETMONEY: ","FMPKGetMoneylog","",NULL,TRUE},	{ "FMFAMESHOP: ","FMFameShoplog","",NULL,TRUE},#endif};tagWarplog warplog[MAXMAPNUM];tagWarpCount warpCount[MAXMAPLINK];/*------------------------------------------------------------ * 夫弘澀爛白央奶伙毛  氏匹 file 毛釩仁 * 婁醒 *  filename        char*       夫弘澀爛白央奶伙   * 忒曰襖 *  FALSE   反褐  卅撩  匹丐月[ ------------------------------------------------------------*/static BOOL readLogConfFile( char* filename ){    FILE*   f;    char    line[256];    char    basedir[256];    int     linenum=0;    {        char*   r;        r = rindex( filename, '/' );        if( r  == NULL )snprintf(basedir,sizeof(basedir),"." );        else{            memcpy( basedir,filename,r-filename );            basedir[r-filename] = '\0';        }    }    f = fopen( filename , "r");    if( f == NULL ){        print( "Can't open %s\n" , filename );        return FALSE;    }    while( fgets( line, sizeof( line ) ,f ) ){        char    firstToken[256];        int     i;        BOOL    ret;        linenum++;        deleteWhiteSpace(line);          /* remove whitespace    */        if( line[0] == '#' )continue;        /* comment */        if( line[0] == '\n' )continue;       /* none    */        chomp( line );                    /* remove tail newline  */        ret = getStringFromIndexWithDelim( line , "=",  1, firstToken, sizeof(firstToken) );        if( ret == FALSE ){            print( "Find error at %s in line %d. Ignore\n",                   filename , linenum);            continue;        }        for( i=0 ; i<arraysizeof(LogConf) ; i++ ){            if( strcmp( LogConf[i].entry, firstToken )== 0 ){                char    secondToken[256];                ret = getStringFromIndexWithDelim( line, "=", 2,                                                   secondToken,                                                   sizeof(secondToken) );                if( ret == FALSE ){                    print( "Find error at %s in line %d. Ignore\n",                           filename , linenum);                    continue;                }                snprintf( LogConf[i].filename,                          sizeof( LogConf[i].filename ),                          "%s/%s",basedir,secondToken);            }        }    }    fclose(f);    return TRUE;}int openAllLogFile( void ){    int     i;    int     opencount=0;    for( i=0 ; i<arraysizeof(LogConf) ; i++ ){        if( ! LogConf[i].append )continue;        LogConf[i].f = fopen( LogConf[i].filename , "a" );        if( LogConf[i].f != NULL )opencount++;    }    return opencount;}void closeAllLogFile( void ){    int     i;	struct  tm tm1;	memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1));	// WON FIX    for( i=0 ; i<arraysizeof(LogConf) ; i++ ){        if( LogConf[i].f && LogConf[i].append ){			printl( i, "server down(%d:%d) " , tm1.tm_hour, tm1.tm_min);			fclose( LogConf[i].f );		}	}/*    for( i=0 ; i<arraysizeof(LogConf) ; i++ )        if( LogConf[i].f && LogConf[i].append )            fclose( LogConf[i].f );*/}void printl( LOG_TYPE logtype, char* format , ... ){    va_list arg;    if( logtype < 0 || logtype >= LOG_TYPE_NUM )return;    if( LogConf[logtype].append ){        if( !LogConf[logtype].f )return;        fputs( LogConf[logtype].label, LogConf[logtype].f);        va_start(arg,format);        vfprintf( LogConf[logtype].f,format,arg );        va_end( arg );        fputc( '\n', LogConf[logtype].f );    } else {        FILE *f = fopen( LogConf[logtype].filename ,"w" );        if( !f ) return;        fputs(LogConf[logtype].label , f );        va_start(arg,format);        vfprintf( f , format,arg);        va_end(arg);        fputc( '\n' , f);        fclose(f);    }}BOOL initLog( char* filename ){    if( readLogConfFile( filename ) == FALSE )return FALSE;    openAllLogFile();    return TRUE;}//Syu 增加莊園戰勝負Logvoid Logfmpk(			 char *winner, int winnerindex, int num1,			 char *loser, int loserindex, int num2,			 char *date, char *buf1, char *buf2, int flg){	switch( flg){	case 1:		{			struct  tm tm1;			char buf[256];			memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1));			sprintf( buf, " (%d:%d)", tm1.tm_hour, tm1.tm_min);			printl( LOG_FMPKRESULT, "\nFMPK: [%s]地點:%s %s(%d) 約戰要求 %s(%d) time:%s",				buf1, buf2,				winner, winnerindex, loser, loserindex, buf);		}		break;	case 2:		printl( LOG_FMPKRESULT, "\nFMPK: Winner %s(%d)=>%d Loser %s(%d)=>%d time:%s",			winner, winnerindex, num1,			loser, loserindex, num2 ,date);		break;	}}#ifdef _NEW_MANOR_LAWvoid LogFMPKGetMomey(char *szFMName,char *szID,char *szCharName,int iMomentum,int iGetMoney,int iDest){	struct  tm tm1;	char szDest[3][6] = {"身上","銀行","錯誤"};	if(iDest < 0 || iDest > 1) iDest = 2;	memcpy(&tm1,localtime((time_t*)&NowTime.tv_sec),sizeof(tm1)); 	printl(LOG_FMPK_GETMONEY,"FMName:%s\tID:%s\tName:%s\tMomentum:%d\tGetMoney:%d\tAddTo:%s\t(%d:%d)",														szFMName,szID,szCharName,iMomentum,iGetMoney,szDest[iDest],tm1.tm_hour,tm1.tm_min);}void LogFMFameShop(char *szFMName,char *szID,char *szCharName,int iFame,int iCostFame){	struct  tm tm1;	memcpy(&tm1,localtime((time_t*)&NowTime.tv_sec),sizeof(tm1)); 	printl(LOG_FM_FAME_SHOP,"FMName:%s\tID:%s\tName:%s\tFame:%d\tCostFame:%d\t(%d:%d)",														szFMName,szID,szCharName,iFame,iCostFame,tm1.tm_hour,tm1.tm_min);}#endifvoid LogAcMess(	int fd, char *type, char *mess ){	struct  tm tm1;	memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1));	if( strstr( mess, "Broadcast") != NULL ) return; 	printl( LOG_ACMESS, "%d %s [%s] (%d:%d)" , fd, type, mess, tm1.tm_hour, tm1.tm_min);}void LogItem(	char *CharName, /* 平乓仿弁正   */        char *CharID, /* 平乓仿弁正ID */		int ItemNo, 	/* 失奶  丞  寞 */	char *Key, 		/* 平□伐□玉 */	int floor,		/* 甄   */	int x,	int y,	char *uniquecode, // shan 2001/12/14	char *itemname, int itemID){	struct  tm tm1;	memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1)); 	printl( LOG_ITEM, "%s\t%s\t%d(%s)=%s,(%d,%d,%d)(%d:%d),%s" , CharName, CharID, 		itemID,	itemname,			Key, floor, x, y, tm1.tm_hour, tm1.tm_min, uniquecode );}void LogPkContend( char *teamname1, char *teamname2,	int floor,	int x,	int y,	int flg){	struct  tm tm1;	memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1));	if( flg == 0 ) { 		printl( LOG_PKCONTEND, "[%32s 勝 %32s],(%5d,%4d,%4d)(%d:%d)" ,			teamname1, teamname2, 			floor, x, y, tm1.tm_hour, tm1.tm_min);	}else{ 		printl( LOG_PKCONTEND, "Msg:[%s],(%5d,%4d,%4d)(%d:%d)" ,			teamname1, floor, x, y, tm1.tm_hour, tm1.tm_min);	}}void LogPetTrans(	char *cdkey, char *uniwuecde, char *uniwuecde2,	char *CharName, int floor, int x, int y,	int petID1, char *PetName1, int petLV, int petrank, int vital1, int str1, int tgh1, int dex1, int total1,	int petID2, char *PetName2, int vital2, int str2, int tgh2, int dex2, int total2,	int work0, int work1, int work2, int work3, int ans, int trans	){	struct  tm tm1;	memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1));	printl( PETTRANS, "\n*PETTRANS cdkey=%s unid=%s munid=%s %s (%d:%d)  %d=%s LV:%d rand:%d trans:%d :[ %d, %d, %d, %d]=%d  %d=%s :[ %d, %d, %d, %d]=%d  [ %d, %d, %d, %d]=%d\n",		cdkey, uniwuecde, uniwuecde2,				CharName, tm1.tm_hour, tm1.tm_min,				petID1, PetName1, petLV, petrank, trans, vital1, str1, tgh1, dex1, total1,				petID2, PetName2, vital2, str2, tgh2, dex2, total2,				work0, work1, work2, work3, ans	);}                                                                                        /*------------------------------------------------------------ * * 矢永玄夫弘毛潸月 *-------------------------------------------------------------*/void LogPet(	char *CharName, /* 平乓仿弁正   */	char *CharID,	char *PetName,	int  PetLv,	char *Key, 		/* 平□伐□玉 */	int floor,		/* 甄   */	int x,	int y,	char *uniquecode  // shan 2001/12/14	){	struct  tm tm1;	memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1));	// shan 2001/12/14 	//printl( LOG_PET, "%s\t%s\t%s:%d=%s,(%d,%d,%d)(%d:%d)" , CharName, CharID, 	//		PetName, PetLv, 	//		Key, 	//		floor, x, y, tm1.tm_hour, tm1.tm_min );	printl( LOG_PET, "%s\t%s\t%s:%d=%s,(%d,%d,%d)(%d:%d),%s" , CharName, CharID, 			PetName, PetLv, 			Key, 			floor, x, y, tm1.tm_hour, tm1.tm_min, uniquecode);}#ifdef _STREET_VENDORvoid LogStreetVendor( 	char *SellName,	char *SellID,	char *BuyName,	char *BuyID,	char *ItemPetName,	int PetLv, //若是道具此值為 -1	int iPrice,	char *Key,	int Sfloor,	int Sx,	int Sy,	int Bfloor,	int Bx,	int By,	char *uniquecode){	struct  tm tm1;	memcpy(&tm1,localtime((time_t *)&NowTime.tv_sec),sizeof(tm1));	printl(LOG_STREET_VENDOR,"Sell:%s\t%s\tBuy:%s\t%s\tName=%s:Lv=%d|Price:%d,%s,SXY(%d,%d,%d)BXY(%d,%d,%d)(%d:%d),%s",SellName,SellID,BuyName,BuyID, 														ItemPetName,PetLv,iPrice,Key,Sfloor,Sx,Sy,Bfloor,Bx,By,tm1.tm_hour,tm1.tm_min,uniquecode);}#endifvoid LogBankStone(        char *CharName, /* 平乓仿弁正   */        char *CharId, /* 交□扒□ID */		int	meindex,        int Gold,               /* 嗯喊 */        char *Key,              /* 平□伐□玉 */        int floor,              /* 甄   */        int x,        int y,		int my_gold,		int my_personagold){        struct  tm tm1;        memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1));        printl( LOG_STONE, "%s:%s\ts:%d=%s,(%d,%d,%d)(%d:%d) <<own=%d,bank=%d>>" ,			CharId, CharName, Gold, Key,        floor, x, y, tm1.tm_hour, tm1.tm_min , my_gold, my_personagold );}void LogPetPointChange( 	char * CharName, char *CharID, char *PetName, int petindex, int errtype,	int PetLv, char *Key,int floor, int x, int y)	{	struct tm tm1;	int vit,str,tgh,dex;	int l_vit,l_str,l_tgh,l_dex;	int pet_ID, levellvup;	pet_ID = CHAR_getInt( petindex, CHAR_PETID );	vit	= CHAR_getInt( petindex, CHAR_VITAL );	str = CHAR_getInt( petindex, CHAR_STR );	tgh = CHAR_getInt( petindex, CHAR_TOUGH );	dex = CHAR_getInt( petindex, CHAR_DEX );	levellvup = CHAR_getInt( petindex, CHAR_ALLOCPOINT);	l_vit = (levellvup >> 24);	l_str = (levellvup >> 16)&0xff;	l_tgh = (levellvup >> 8 )&0xff;	l_dex = (levellvup >> 0 )&0xff;	memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1)); 	printl( LOG_PET, "%s\t%s\t%s:%d=%s,(%d,%d,%d)(%d:%d),err:%d %d<<%d,%d,%d,%d>>lvup<<%d,%d,%d,%d>>" , 		CharName, CharID, PetName, PetLv, Key, floor, x, y, tm1.tm_hour, tm1.tm_min , errtype,		pet_ID ,vit,str,tgh,dex,l_vit,l_str,l_tgh,l_dex);}/*------------------------------------------------------------ * * 鱉戲夫弘毛潸月 *-------------------------------------------------------------*/void LogTensei(	char *CharName, /* 平乓仿弁正   */	char *CharID,	char *Key, 		/* 平□伐□玉 */	int level,		//伊矛伙	int transNum,	//鱉戲莢醒	int quest,		//弁巨旦玄醒	int home,		//請褥嘩	int item,		//  笛失奶  丞  井曰醒	int pet,		//  笛矢永玄  井曰醒	int vital,		//  祭蟆Vital	int b_vital,	//  祭  vital	int str,		//  祭蟆str	int b_str,		//  祭  str	int tgh,		//  祭蟆      	int b_tgh,		//  祭        	int dex,		//  祭蟆      	int b_dex		//  祭        ){	struct  tm tm1;	memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1)); 	printl( LOG_TENSEI, "%s\t%s\t%s=(%d,%d,%d,%d,%d,%d),(vi=%d->%d,str=%d->%d,tgh=%d->%d,dex=%d->%d),(%d,%d)" 			,CharName,  			CharID, 			Key, 			level, 			transNum, 			quest, 			home,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲福中文字幕伊人影院| 99久久伊人久久99| 99re热视频精品| 日韩精品一区二区在线| 亚洲人成精品久久久久久| 久久99精品国产| 欧美精品丝袜久久久中文字幕| 亚洲国产成人私人影院tom| 丝袜美腿一区二区三区| 色婷婷久久久亚洲一区二区三区| 国产视频在线观看一区二区三区 | 欧美一区二区三区在| 亚洲欧洲精品天堂一级| 久久99精品久久久久婷婷| 欧美亚洲高清一区| 亚洲欧美日韩电影| 成人免费毛片高清视频| 亚洲精品一线二线三线| 日韩精品一二三区| 欧美日韩成人综合天天影院| 亚洲免费高清视频在线| 91在线免费看| 中文字幕一区视频| 波多野结衣视频一区| 久久久www成人免费无遮挡大片| 日韩精品欧美精品| 欧美日韩国产另类一区| 亚洲高清免费观看高清完整版在线观看 | 国产欧美精品在线观看| 国内一区二区视频| 久久久久国产免费免费| 黄色日韩网站视频| 久久精品网站免费观看| 国产精品一区免费视频| 国产日韩欧美不卡| 成人91在线观看| 亚洲色图色小说| 91福利视频久久久久| 亚洲国产精品久久久久秋霞影院 | 国产69精品久久777的优势| 精品国产欧美一区二区| 久久国产精品第一页| 久久综合国产精品| 成人免费看黄yyy456| 亚洲免费色视频| 欧美老年两性高潮| 美女脱光内衣内裤视频久久影院| 精品国产髙清在线看国产毛片| 精品一区二区日韩| 国产精品美女一区二区在线观看| 成人av资源在线观看| 亚洲精选视频免费看| 欧美高清激情brazzers| 国产一区在线看| 亚洲男女毛片无遮挡| 在线播放亚洲一区| 国产精品一级黄| 亚洲综合免费观看高清完整版在线| 欧美日韩第一区日日骚| 国产酒店精品激情| 亚洲精品免费视频| 日韩亚洲欧美成人一区| 成人一区二区三区视频在线观看 | 中文字幕中文字幕一区二区| 91福利小视频| 国产又黄又大久久| 亚洲综合视频网| 久久久久久久久免费| 色久综合一二码| 国产美女在线观看一区| 亚洲综合无码一区二区| 欧美精品一区二区三| 91视视频在线直接观看在线看网页在线看| 亚洲妇熟xx妇色黄| 国产精品视频第一区| 欧美一区二区三区四区高清| 成人黄动漫网站免费app| 全国精品久久少妇| 亚洲欧美视频在线观看| 久久无码av三级| 制服丝袜中文字幕一区| 91亚洲精品乱码久久久久久蜜桃 | 久久久精品人体av艺术| 欧美日韩小视频| 91在线porny国产在线看| 久久精品国产精品亚洲红杏| 尤物在线观看一区| 欧美国产视频在线| 欧美精品一区二区三区蜜臀 | 色婷婷精品大在线视频| 国产精品亚洲一区二区三区在线| 五月婷婷综合激情| 亚洲天天做日日做天天谢日日欢| 日韩欧美不卡在线观看视频| 欧美午夜电影网| 91麻豆精品秘密| 成人动漫一区二区在线| 精油按摩中文字幕久久| 日韩国产欧美在线视频| 亚洲国产另类精品专区| 亚洲靠逼com| 亚洲精品国产视频| 亚洲欧美一区二区三区极速播放| 国产日韩欧美不卡| 国产欧美日韩中文久久| 欧美成人精品1314www| 日韩午夜激情视频| 欧美一级xxx| 日韩欧美国产一二三区| 91精品国产乱码| 欧美一级在线免费| 精品裸体舞一区二区三区| 日韩一级片在线播放| 91精选在线观看| 日韩午夜av电影| 日韩亚洲欧美在线观看| 精品国产乱码久久久久久图片 | 尤物视频一区二区| 亚洲午夜私人影院| 日本vs亚洲vs韩国一区三区| 免费观看成人鲁鲁鲁鲁鲁视频| 首页欧美精品中文字幕| 午夜视频在线观看一区二区三区| 亚洲一区二区欧美日韩| 天堂成人免费av电影一区| 老司机免费视频一区二区| 国产麻豆精品在线| 成人高清视频在线| 欧美亚洲日本一区| 制服.丝袜.亚洲.中文.综合| 精品国产免费久久 | 678五月天丁香亚洲综合网| 91精品国产欧美一区二区| 精品久久久久一区| 国产精品美女久久久久久久| 亚洲精品精品亚洲| 奇米在线7777在线精品| 狠狠色丁香久久婷婷综合_中 | 欧美日韩一级二级| 精品福利av导航| 国产精品久久久久久久久动漫 | 国产成人午夜精品影院观看视频| 国产成人av福利| 91久久人澡人人添人人爽欧美| 在线91免费看| 国产午夜精品美女毛片视频| 亚洲国产精品久久久久婷婷884| 男女性色大片免费观看一区二区 | 久久久久久久久久电影| 亚洲欧洲制服丝袜| 九一九一国产精品| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 色偷偷成人一区二区三区91 | 国产不卡在线视频| 在线看日本不卡| 久久午夜老司机| 亚洲h精品动漫在线观看| 国产成人免费在线| 欧美另类z0zxhd电影| 国产精品美女一区二区在线观看| 午夜精品久久久久久久| 成熟亚洲日本毛茸茸凸凹| 欧美美女bb生活片| 1024国产精品| 国内成+人亚洲+欧美+综合在线| 色婷婷久久久亚洲一区二区三区| 精品国产精品网麻豆系列| 亚洲狠狠爱一区二区三区| 成人在线一区二区三区| 欧美一区二区三区视频免费播放| 国产精品传媒入口麻豆| 日本午夜精品一区二区三区电影| 成人免费视频一区二区| 欧美岛国在线观看| 亚洲不卡一区二区三区| 91在线porny国产在线看| 亚洲精品在线免费播放| 无码av中文一区二区三区桃花岛| av激情亚洲男人天堂| 久久久久久久精| 久久福利资源站| 欧美久久久久久蜜桃| 亚洲精品国产高清久久伦理二区| 国产suv一区二区三区88区| 精品国产一二三| 裸体歌舞表演一区二区| 91精品国产综合久久福利| 亚洲成av人在线观看| 欧美午夜片在线看| 伦理电影国产精品| 欧美欧美午夜aⅴ在线观看| 一区二区三区精品久久久| 91看片淫黄大片一级在线观看| 国产精品久久久久久久久搜平片 | 欧美日韩激情一区| 亚洲国产成人av| 欧美日韩在线三区| 亚洲电影在线播放| 欧美日韩三级在线| 天堂蜜桃一区二区三区|