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

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

?? npc_sysinfo.c.bak

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

#include "char.h"
#include "char_event.h"
#include "object.h"
#include "handletime.h"
#include "magic.h"
#include "npcutil.h"
#include "char_data.h"
#include "chatmagic.h"
#include "net.h"
#include "configfile.h"
#include "npcgen.h"

/*
---------------------------------------------------------------------
sysinfo By Kawata
---------------------------------------------------------------------
*/

#define		NPC_SYSINFO_MSGMAX				21

#define		NPC_SYSINFO_PASSWD_DEFAULT		"G00d1uck"

#define		NPC_SYSINFO_TIMELIMIT_DEFAULT		120

#define		NPC_SYSINFO_SHUTDOWNLIMIT_DEFAULT	5

#define		NPC_SYSINFO_SHUTDOWN_MSG		"再過 %d 分鐘後,即開始進行server系統維護。"

#define		NPC_SYSINFO_SHUTDOWN_MSG_COMP	"server已關閉。"
enum {
	CHAR_WORK_MODE        		= CHAR_NPCWORKINT1,
	CHAR_WORK_TIME	    		= CHAR_NPCWORKINT2,
	CHAR_WORK_TIMELIMIT    		= CHAR_NPCWORKINT3,
	CHAR_WORK_SHUTDOWNTIME		= CHAR_NPCWORKINT4,
	CHAR_WORK_SHUTDOWNLIMIT		= CHAR_NPCWORKINT5,
	CHAR_WORK_SHUTDOWNDSPTIME	= CHAR_NPCWORKINT6,
	CHAR_WORK_MSGCOLOR			= CHAR_NPCWORKINT7,
	CHAR_WORK_PLAYER			= CHAR_NPCWORKINT8,
};

enum {
	CHAR_WORKCHAR_PASSWD = CHAR_NPCWORKCHAR1,
};
typedef struct {
	char	msg[16];
}CMD_MSG;
CMD_MSG	cmd_msg[] = {
                        { "startinfo"}, {"endinfo"},	{"help"},
						{"player"},		{"list"},		{"sendno"},
						{"sendmsg"},	{"shutdown"},	{"msgcol"},
						{"sysinfo"},	{"info"},
                        { "allowaccept" } , { "denyaccept" } ,
                        { "closeallsockets" },
                        { "allnosee" },
                        { "allnobody" },
                        { "movenum" },
                        { "bornnum" },
                        { "enemystate" },
                        { "setwalktime"},{ "setcatime" },{"setcdtime"},
                        { "setoneloop"},
                        { "titlerestart"},
                        { "setsaacwrite"}, { "setsaacread"},
};
enum{
	NPC_SYSINFO_MSG_STARTINFO,
	NPC_SYSINFO_MSG_ENDINFO,
	NPC_SYSINFO_MSG_HELP,
	NPC_SYSINFO_MSG_PLAYER,
	NPC_SYSINFO_MSG_LIST,
	NPC_SYSINFO_MSG_SENDNO,
	NPC_SYSINFO_MSG_SENDMSG,
	NPC_SYSINFO_MSG_SHUTDOWN,
	NPC_SYSINFO_MSG_MSGCOL,
	NPC_SYSINFO_MSG_SYSINFO,
	NPC_SYSINFO_MSG_INFO,
	NPC_SYSINFO_MSG_ALLOWACCEPT,
	NPC_SYSINFO_MSG_DENYACCEPT,
	NPC_SYSINFO_MSG_CLOSEALLSOCKETS,

	/* 錯痊馨笛 */
	NPC_SYSINFO_ALL_NOSEE,
	NPC_SYSINFO_ALL_NOBODY,
	NPC_SYSINFO_MOVE_NUM,
	NPC_SYSINFO_BORN_NUM,
	NPC_SYSINFO_ENEMY_STATE,
	NPC_SYSINFO_SETWALKTIME,
	NPC_SYSINFO_SETCATIME,
	NPC_SYSINFO_SETCDTIME,
	NPC_SYSINFO_SETONELOOP,
	NPC_SYSINFO_TITLERESTART,
	NPC_SYSINFO_SETSAACWRITE,
	NPC_SYSINFO_SETSAACREAD,

	NPC_SYSINFO_MSG_NUM,
};

typedef struct {
	char	arg[32];
	char	defMsg[128];
}NPC_Sysinfo_Msg;

static NPC_Sysinfo_Msg		msgtable[] = {
	{ "def_msg",			"我擁有和全世界的人說話的能力。" },
	{ "shutdown_msg",		"現在開始要進行server系統維護請盡速logout!!"},
};
enum{
	NPC_SYSINFO_ARG_DEF_MSG,
	NPC_SYSINFO_ARG_SHUTDOWN_MSG,
};


static void NPC_Sysinfo_SendMsg( int meindex, int pindex, int tblnum);
static char *NPC_Sysinfo_GetMsg( int meindex, char *msgindexstr,
								char *out,int outlen, int num );
static void NPC_Sysinfo_SendMsgToAll( int meindex, char *msg);
static void NPC_Sysinfo_Msg_EndInfo( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_Msg_Help( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_Msg_Player( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_Msg_List( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_Msg_SendNo( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_Msg_SendMsg( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_Msg_Shutdown( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_Msg_Msgcol( int meindex, int tindex, char *msg);

/* 錯痊馨笛 */
static void NPC_Sysinfo_All_NoBody( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_All_NoSee( int meindex, int tindex, char *msg);

static void NPC_Sysinfo_Move_Num( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_Born_Num( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_Enemy_State( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_SetWalkTime( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_SetCATime( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_SetCDTime( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_SetOneloop( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_TitleRestart( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_SetSaacwrite( int meindex, int tindex, char *msg);
static void NPC_Sysinfo_SetSaacread( int meindex, int tindex, char *msg);

static void NPC_Sysinfo_Msg_allowAccept(int meindex, int tindex, char*msg)
{
    SERVSTATE_SetAcceptMore( 1 );
	CHAR_talkToCli( tindex, meindex, "allowaccept OK.", CHAR_COLORYELLOW);
}
static void NPC_Sysinfo_Msg_denyAccept(int meindex, int tindex, char*msg)
{
    SERVSTATE_SetAcceptMore( 0 );
	CHAR_talkToCli( tindex, meindex, "denyaccept OK.", CHAR_COLORYELLOW);
}
static void NPC_Sysinfo_Msg_closeallsockets(int meindex, int tindex,
                                            char*msg)
{
	CHAR_talkToCli( tindex, meindex, "closeallsockets OK.", CHAR_COLORYELLOW);
    closeAllConnectionandSaveData();
}
static void NPC_Sysinfo_Msg_Sysinfo(int meindex, int tindex, char*msg)
{
	CHAR_CHAT_DEBUG_sysinfo( tindex, msg);
}
static void NPC_Sysinfo_Msg_Info(int meindex, int tindex, char*msg)
{
	CHAR_CHAT_DEBUG_info( tindex, msg);
}


typedef void	(*FUNC)(int,int,char *);
static FUNC		functbl[] = {
	NULL,
	NPC_Sysinfo_Msg_EndInfo,
	NPC_Sysinfo_Msg_Help,
	NPC_Sysinfo_Msg_Player,
	NPC_Sysinfo_Msg_List,
	NPC_Sysinfo_Msg_SendNo,
	NPC_Sysinfo_Msg_SendMsg,
	NPC_Sysinfo_Msg_Shutdown,
	NPC_Sysinfo_Msg_Msgcol,
	NPC_Sysinfo_Msg_Sysinfo,
	NPC_Sysinfo_Msg_Info,
    NPC_Sysinfo_Msg_allowAccept,
    NPC_Sysinfo_Msg_denyAccept,
    NPC_Sysinfo_Msg_closeallsockets,
	/* 錯痊馨笛 */
    NPC_Sysinfo_All_NoSee,
    NPC_Sysinfo_All_NoBody,
    NPC_Sysinfo_Move_Num,
    NPC_Sysinfo_Born_Num,
    NPC_Sysinfo_Enemy_State,
    NPC_Sysinfo_SetWalkTime,
    NPC_Sysinfo_SetCATime,
    NPC_Sysinfo_SetCDTime,
    NPC_Sysinfo_SetOneloop,
    NPC_Sysinfo_TitleRestart,
    NPC_Sysinfo_SetSaacwrite,
    NPC_Sysinfo_SetSaacread,
    
};

/*********************************
* 賡渝質  
*********************************/
BOOL NPC_SysinfoInit( int meindex )
{
	int tmp;
	char	argstr[NPC_UTIL_GETARGSTR_BUFSIZE];
    char	buff[128];

    NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr));

	/* 賡渝祭質   */

	CHAR_setWorkInt( meindex, CHAR_WORK_MODE, 0);

	/* 由旦伐□玉本永玄 */
	if( NPC_Util_GetStrFromStrWithDelim( argstr, "passwd", buff, sizeof( buff))
		== NULL)
	{
		strcpy( buff, NPC_SYSINFO_PASSWD_DEFAULT);
	}
	CHAR_setWorkChar( meindex, CHAR_WORKCHAR_PASSWD, buff);


	tmp = NPC_Util_GetNumFromStrWithDelim( argstr, "time");
	if( tmp == -1 ) tmp = NPC_SYSINFO_TIMELIMIT_DEFAULT;
	CHAR_setWorkInt( meindex, CHAR_WORK_TIMELIMIT, tmp);

    /* 丟永本□斥及縉潸   */
	tmp = NPC_Util_GetNumFromStrWithDelim( argstr, "msg_col");
	if( tmp < CHAR_COLORRED || tmp > CHAR_COLORWHITE )
		tmp = CHAR_COLORYELLOW;
	CHAR_setWorkInt( meindex, CHAR_WORK_MSGCOLOR, tmp);

	CHAR_setWorkInt( meindex, CHAR_WORK_PLAYER, -1);
	CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNTIME, 0);
	CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNDSPTIME, 0);
    CHAR_setInt( meindex, CHAR_WHICHTYPE, CHAR_TYPEOTHERNPC);
	CHAR_setFlg( meindex, CHAR_ISATTACKED, 0);

	return TRUE;
}

/*********************************
* Loop質  
**********************************/
void NPC_SysinfoLoop( int meindex )
{
	int		shuttime;
	if( CHAR_getWorkInt( meindex, CHAR_WORK_MODE) == 1) {
		int		oldtime;
		/* 凜棉毛褡戶月 */
		oldtime = CHAR_getWorkInt( meindex, CHAR_WORK_TIME);
		/* 孺蜃凜棉左□田□匹騷橘乒□玉尺 */
		if( NowTime.tv_sec - oldtime >
			CHAR_getWorkInt( meindex, CHAR_WORK_TIMELIMIT))
		{
			CHAR_setWorkInt( meindex, CHAR_WORK_MODE, 0);
			CHAR_setWorkInt( meindex, CHAR_WORK_PLAYER, -1);
		}
	}
	shuttime = CHAR_getWorkInt( meindex, CHAR_WORK_SHUTDOWNTIME);
	/* shutdown凜棉民尼永弁 */
	if( shuttime > 0 ) {
		int diff,limit,hun;

		diff = NowTime.tv_sec - shuttime;
		limit = CHAR_getWorkInt( meindex, CHAR_WORK_SHUTDOWNLIMIT);
		hun = limit - (diff/60);
		/* ㄠ坌云五卞丟永本□斥 */
		if( hun != CHAR_getWorkInt( meindex, CHAR_WORK_SHUTDOWNDSPTIME)){
			char	buff[256];
			if( hun != 0 ) {
				snprintf( buff, sizeof(buff), NPC_SYSINFO_SHUTDOWN_MSG, hun);
			}
			else {
				strcpy( buff, NPC_SYSINFO_SHUTDOWN_MSG_COMP);
			}
			NPC_Sysinfo_SendMsgToAll( meindex, buff);
			CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNDSPTIME, hun);
		}
		if( hun == 0) {
			CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNDSPTIME,0);
			CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNLIMIT,0);
			CHAR_setWorkInt( meindex, CHAR_WORK_SHUTDOWNTIME,0);
		}
	}
}
/*********************************
*   井仃日木兇凜及質  
**********************************/
void NPC_SysinfoTalked( int meindex, int tindex, char *msg, int color)
{
	char	*msgwk;
	char	*buff;
	int		len;
	int		msgno;

	len = strlen( msg)+1;
	msgwk = calloc( 1, sizeof(char)*len);
	buff = calloc( 1, sizeof(char)*len);
	strcpy( msgwk, msg);
	/* 旦矢□旦毛引午戶月 */
	deleteSequentChar( msgwk, " ");
	if( CHAR_getWorkInt( meindex, CHAR_WORK_MODE) == 0 ) {
		msgno = 0;
		if( strncmp( msgwk, cmd_msg[NPC_SYSINFO_MSG_STARTINFO].msg,
					strlen( cmd_msg[NPC_SYSINFO_MSG_STARTINFO].msg)) == 0)
		{
			if( getStringFromIndexWithDelim( msgwk, " ", 2, buff, len)
				== TRUE )
			{
				if( strcmp( buff, CHAR_getWorkChar( meindex, CHAR_WORKCHAR_PASSWD))
					== 0 )
				{
					CHAR_setWorkInt( meindex, CHAR_WORK_MODE, 1);
					CHAR_setWorkInt( meindex, CHAR_WORK_PLAYER, tindex);
					CHAR_setWorkInt( meindex, CHAR_WORK_TIME, NowTime.tv_sec);
					CHAR_talkToCli( tindex, meindex,
								"已移到指令模式。按下help即會出現說明檔。",
								CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
					CHAR_talkToCli( tindex, meindex,
								"可以在enemystate 中了解敵人的產生和行動數。",
								CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));

				}
			}
		}
		if( CHAR_getWorkInt( meindex, CHAR_WORK_MODE ) == 0 ) {
			NPC_Sysinfo_SendMsg( meindex, tindex, NPC_SYSINFO_ARG_DEF_MSG);
		}
	}
	else {
		/* 戊穴件玉乒□玉卞仄兇諦仄井質  匹五卅中 */
		if( tindex == CHAR_getWorkInt( meindex, CHAR_WORK_PLAYER)) {
			int		i;
			/* 公木冗木質  蕊曰坌仃 */
			for( i = NPC_SYSINFO_MSG_ENDINFO; i < NPC_SYSINFO_MSG_NUM; i ++ ) {
				if( strncmp( msgwk, cmd_msg[i].msg, strlen( cmd_msg[i].msg)) == 0) {
					if( functbl[i] != NULL ) {
						functbl[i]( meindex, tindex, msgwk);
					}
					break;
				}
			}
			CHAR_setWorkInt( meindex, CHAR_WORK_TIME, NowTime.tv_sec);
		}
		else {
			NPC_Sysinfo_SendMsg( meindex, tindex, NPC_SYSINFO_ARG_DEF_MSG);
		}
	}
	free( msgwk);
	free( buff);
}
/*------------------------------------------------------------------------
 * 騷橘乒□玉尺
 *----------------------------------------------------------------------*/
static void NPC_Sysinfo_Msg_EndInfo( int meindex, int tindex, char *msg)
{
	CHAR_setWorkInt( meindex, CHAR_WORK_MODE, 0);
	CHAR_setWorkInt( meindex, CHAR_WORK_PLAYER, -1);
	CHAR_talkToCli( tindex, meindex,
					"已移到一般模式",
					CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));

}
/*------------------------------------------------------------------------
 * HELP丟永本□斥
 *----------------------------------------------------------------------*/
static void NPC_Sysinfo_Msg_Help( int meindex, int tindex, char *msg)
{
	int		i;
	typedef struct {
		char	str[512];
	}SYSINFO_MSGWK;
	SYSINFO_MSGWK	msgwk[] = {
	{ "指令HELP"},
	{ "help                  此項訊息。"},
	{ "player                表示現在LOGIN的玩家人數。"},
	{ "list                  訊息一覽。"},
	{ "send number          「number」 是數值。指定訊息的號碼後將該訊息內容傳送給全部的玩家。"},
	{ "sendmsg msgs          msgs為想傳送的訊息。在send 之後空一格,即可將之後的文章送信給全部的玩家。"},
	{ "shutdown min          min 代表分。"},
	{ "msgcol col            設定傳送給玩家訊息的顏色。顏色的指定有red,green,yellow,blue,purple,cyan,white。"},
	{ "sysinfo               系統狀態"},
	{ "info                  玩家狀態"},
	{ "endinfo               回復普通的狀態。"},
	{ "denyaccept            無法接受CLIENT端的接續。"},
	{ "allowaccept           接受CLIENT端的接續。"},
	{ "closeallsockets       強迫讓CLIENT端LOGOUT。在內部實行denyaccept。"},
	{ "titlerestart          再次讀取稱號名的設定。"},
	{ "enemystate            說明NPC的狀況。"},
	{ ""},
	};

	for( i = 0; msgwk[i].str[0] != '\0'; i ++ ) {
		CHAR_talkToCli( tindex, meindex, msgwk[i].str,
						CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));
	}
}
/*------------------------------------------------------------------------
 * 皿伊奶乩□及醒毛譬屯月
 *----------------------------------------------------------------------*/
static void NPC_Sysinfo_Msg_Player( int meindex, int tindex, char *msg)
{
    int     i, cnt = 0;
    int     playernum=CHAR_getPlayerMaxNum();
    char	buff[64];
    for( i=0 ; i<playernum ; i++ ){
        if( CHAR_getCharUse(i) != FALSE ) {
        	if( CHAR_getInt( i, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ) {
        		cnt ++;
        	}
        }
	}
	snprintf( buff, sizeof( buff), "玩家有%d人。", cnt);
	CHAR_talkToCli( tindex, meindex, buff,
					CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));

}
/*------------------------------------------------------------------------
 * 丟永本□斥伉旦玄毛  憎允月
 *----------------------------------------------------------------------*/
static void NPC_Sysinfo_Msg_List( int meindex, int tindex, char *msg)
{
	char	buff[512];
	char	buff2[512];
	int		i;

	for( i = 1; i < NPC_SYSINFO_MSGMAX; i ++ ) {
		if( NPC_Sysinfo_GetMsg( meindex, "sendno", buff, sizeof( buff), i)
			!= NULL )
		{
			snprintf( buff2, sizeof(buff2), "No.%d:%s", i, buff);
			CHAR_talkToCli( tindex, meindex, buff2,
							CHAR_getWorkInt( meindex, CHAR_WORK_MSGCOLOR));

		}
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产小视频| 国产日韩亚洲欧美综合| 精品国产百合女同互慰| 自拍偷拍欧美激情| 精品一区二区在线播放| 成人免费看黄yyy456| 中文字幕在线不卡一区| 亚洲国产高清在线观看视频| 日本在线不卡视频| 色综合久久久久久久久| 国产日产亚洲精品系列| 久久99精品视频| 欧美高清激情brazzers| 亚洲欧美日韩国产另类专区 | 精品少妇一区二区三区在线视频| 亚洲精品视频在线观看网站| 成人黄色免费短视频| 国产亚洲va综合人人澡精品| 麻豆精品在线看| 欧美精品在线一区二区三区| 亚洲激情在线播放| 91色视频在线| 亚洲欧美综合在线精品| heyzo一本久久综合| 欧美国产乱子伦| 国产成人精品影视| 国产午夜精品在线观看| 国产剧情在线观看一区二区| 亚洲精品一区二区三区精华液| 日韩av电影天堂| 欧美一区二区免费观在线| 日韩激情视频在线观看| 欧美夫妻性生活| 琪琪久久久久日韩精品| 欧美一卡二卡在线观看| 老司机午夜精品| 欧美精品一区二区三区在线 | 在线观看亚洲成人| 一区二区三区国产精华| 欧美视频精品在线| 日韩影院精彩在线| 日韩精品中文字幕一区二区三区| 久久精品二区亚洲w码| 久久久一区二区| 丁香啪啪综合成人亚洲小说 | 久久久久国产精品麻豆ai换脸| 九九久久精品视频| 久久精品水蜜桃av综合天堂| 国产精品小仙女| 亚洲精品乱码久久久久久 | thepron国产精品| 一区二区高清免费观看影视大全| 欧美色视频一区| 久久99精品久久久久久| 国产精品无遮挡| 日本二三区不卡| 麻豆精品精品国产自在97香蕉| 久久精品欧美一区二区三区不卡| k8久久久一区二区三区 | 日韩女优制服丝袜电影| 国产一区二区三区在线观看免费| 国产精品女上位| 欧美亚洲禁片免费| 蜜臀av性久久久久av蜜臀妖精| 国产亚洲精品福利| 色网站国产精品| 美女一区二区久久| 中文字幕一区二区不卡| 91精品国产91久久久久久一区二区 | 亚洲精品欧美在线| 日韩视频免费观看高清在线视频| 国产成人精品一区二区三区四区| 夜夜嗨av一区二区三区四季av| 日韩精品在线一区二区| 91猫先生在线| 国产乱码字幕精品高清av| 亚洲精品免费在线观看| 国产丝袜欧美中文另类| 欧美久久久久久蜜桃| 成人国产精品免费观看动漫 | 日本电影亚洲天堂一区| 国产精品视频你懂的| 欧美精品自拍偷拍| 风流少妇一区二区| 日韩高清在线电影| 亚洲欧美日韩一区二区| www久久精品| 欧美另类videos死尸| 成人av综合一区| 毛片av中文字幕一区二区| 亚洲免费av网站| 国产欧美一区二区三区网站| 91精彩视频在线观看| 欧美一级黄色片| 91麻豆精东视频| 国产一区二区三区四区在线观看 | 欧美一区二区成人| 久久精品在线观看| 337p日本欧洲亚洲大胆精品 | 欧美高清www午色夜在线视频| 国产精品视频yy9299一区| 91在线视频在线| 懂色av一区二区三区免费看| 国产一区二区三区久久久 | av综合在线播放| 国产自产高清不卡| 国产欧美视频一区二区三区| 成人福利在线看| 亚洲天堂福利av| 欧美一区二区播放| eeuss鲁片一区二区三区| 亚洲成人黄色小说| 久久久噜噜噜久噜久久综合| 在线观看日韩高清av| 麻豆精品久久久| 亚洲成在人线免费| 亚洲人成精品久久久久久| 久久综合国产精品| 欧美一卡2卡3卡4卡| 色综合色综合色综合| 高清国产午夜精品久久久久久| 性做久久久久久久免费看| 最新不卡av在线| 国产精品青草综合久久久久99| 日韩久久精品一区| 这里只有精品电影| 欧美欧美欧美欧美首页| 99久久婷婷国产综合精品电影| 欧美a级理论片| 国产乱人伦偷精品视频不卡| 国产一区二区精品在线观看| 成人激情文学综合网| 91精品在线麻豆| 一区二区久久久久| 亚洲国产激情av| 1000部国产精品成人观看| 制服丝袜亚洲播放| av在线不卡免费看| 99久久99久久久精品齐齐| 成人在线综合网| 91麻豆精品视频| 日韩av电影免费观看高清完整版在线观看| 日韩一区二区三免费高清| 五月婷婷激情综合网| 久久久久久99精品| 亚洲激情第一区| 国产不卡一区视频| 91国在线观看| 精品国产乱码久久| 日韩美女视频19| 日本不卡高清视频| 成人国产精品视频| 91精品婷婷国产综合久久性色| 久久人人超碰精品| 欧美裸体一区二区三区| 国产日韩欧美电影| 一区二区三区自拍| 久久成人免费网| 欧美亚一区二区| 久久精品亚洲精品国产欧美| 亚洲精品欧美激情| 韩国女主播一区二区三区| 成人福利在线看| 国产欧美一区二区精品秋霞影院 | 麻豆极品一区二区三区| 国产伦精品一区二区三区视频青涩 | 亚洲一区二区三区四区不卡| 久久精品久久精品| 欧美日韩国产成人在线91| 国产欧美一区视频| 国产高清精品久久久久| 日韩欧美国产三级| 美日韩一区二区| 欧美成人猛片aaaaaaa| 亚洲一区在线视频观看| 91丨porny丨在线| 亚洲免费在线视频一区 二区| 国产91色综合久久免费分享| 久久丝袜美腿综合| 国产综合色精品一区二区三区| 亚洲国产综合91精品麻豆| 在线精品国精品国产尤物884a| 国产麻豆视频一区二区| 亚洲成人三级小说| 日韩一区二区三区在线视频| 欧美日韩国产综合视频在线观看| 蜜臀va亚洲va欧美va天堂| 成人午夜在线免费| 国产午夜亚洲精品不卡| 国产伦精品一区二区三区视频青涩| 久久综合九色综合97_久久久| 91在线视频官网| 69堂国产成人免费视频| 久久精品人人爽人人爽| 欧美韩国日本不卡| 综合精品久久久| 成人免费精品视频| 中文字幕av免费专区久久| 欧美精品一卡两卡| 性感美女极品91精品|