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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? npc_fmchallenge.c

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

// 全部的家族 pk 賽程
enum {
	NPC_WORK_ID = CHAR_NPCWORKINT1,		// 登記員 ID, 從 0 開始
};

enum {
	CHAR_WORK_PAGE = CHAR_WORKSHOPRELEVANT,		// 換頁用
	CHAR_WORK_DUELTIME = CHAR_WORKSHOPRELEVANTSEC,	// 所選擇的 pk 時間
};

#define SCHEDULEFILEDIR		"./Schedule/"

void NPC_LoadPKSchedule(int meindex);	// Load schedule from disk
void NPC_SavePKSchedule(int meindex);	// save schedule to disk
// 產(chǎn)生排程表的 data
void NPC_LIST_gendata(int meindex, int talkerindex, int page, char *buf, int size);
// 產(chǎn)生選擇家族的 data
void NPC_SELECT_gendata(int meindex, int page, char *buf, int size);
// 產(chǎn)生排程詳細(xì)的 data
void NPC_DETAIL_gendata(int meindex, char *buf, int size, int dueltime);

BOOL NPC_SchedulemanInit( int meindex )
{
  char argstr[NPC_UTIL_GETARGSTR_BUFSIZE];
  int meid;
  int interval;

  CHAR_setInt( meindex, CHAR_WHICHTYPE, CHAR_TYPEFMSCHEDULEMAN );
  CHAR_setWorkInt ( meindex, NPC_WORK_PREVIOUSCHECKTIME, -1);

  // 參數(shù)
  NPC_Util_GetArgStr(meindex, argstr, sizeof(argstr));
  meid = NPC_Util_GetNumFromStrWithDelim(argstr, "id" );
  if ((meid<0) || (meid>=MAX_SCHEDULEMAN)) {
    print("SCHEDULEMAN init error: invalid ID(%d)\n",meid);
    meid=0;
  }
  CHAR_setWorkInt(meindex, NPC_WORK_ID, meid);

  interval = NPC_Util_GetNumFromStrWithDelim(argstr, "loopinterval" );
  if ((interval<100) || (interval>10000)) interval=1000;
  CHAR_setInt(meindex, CHAR_LOOPINTERVAL, interval);

  interval = NPC_Util_GetNumFromStrWithDelim(argstr, "challengetimeout");
  if ((interval<60) || (interval>60*60)) interval=20*60;
  CHAR_setWorkInt(meindex, NPC_WORK_CHALLENGETIMEOUT, interval);
  
  interval = NPC_Util_GetNumFromStrWithDelim(argstr, "settingtimeout");
  if ((interval<10) || (interval>60*60)) interval=60;
  CHAR_setWorkInt(meindex, NPC_WORK_SETTINGTIMEOUT, interval);

  interval = NPC_Util_GetNumFromStrWithDelim(argstr, "fightinterval");
  if ((interval<5) || (interval>60)) interval = 50;
  CHAR_setWorkInt(meindex, NPC_WORK_FIGHTINTERVAL, interval);

  NPC_LoadPKSchedule(meindex);

  return TRUE;
}

void NPC_SchedulemanTalked(int meindex, int talkerindex, char *msg, int color)
{
//  CHAR_talkToCli(talkerindex, meindex, "你好,我是家族PK登記員。", color);

#if 0
  char buf[4096];
  int page;

  if (NPC_Util_CharDistance(meindex,talkerindex) > 2) return;

  if (strncmp(msg,"list",4)==0) {
    CHAR_talkToCli(talkerindex, meindex, "顯示將送出的 WN PKSCHEDULELIST data。", color);
    page=atoi(&msg[4]);

    NPC_RemoveExpiredBattle(meindex);
    NPC_LIST_gendata(meindex, talkerindex, page, buf, sizeof(buf));
    
    CHAR_talkToCli(talkerindex, -1, buf, CHAR_COLORWHITE);
  } else if (strncmp(msg,"select",6)==0) {
    CHAR_talkToCli(talkerindex, meindex, "顯示將送出的 WN PKSCHEDULESELECTFAMILY data。", color);
    page=atoi(&msg[6]);

    NPC_SELECT_gendata(meindex, page, buf, sizeof(buf));

    CHAR_talkToCli(talkerindex, -1, buf, CHAR_COLORWHITE);
  } else if (strncmp(msg,"detail",6)==0) {
    page=atoi(&msg[6]);

    CHAR_talkToCli(talkerindex, meindex, "顯示將送出的 WN PKSCHEDULEDETAIL data。", color);

    NPC_DETAIL_gendata(meindex, buf, sizeof(buf), page);
  
    CHAR_talkToCli(talkerindex, -1, buf, CHAR_COLORWHITE);
  } else {
    CHAR_talkToCli(talkerindex, meindex, "你好,我是家族PK登記員。", color);
    sprintf(buf, "我的 ID 是 %d (最大 %d)。",
                 CHAR_getWorkInt(meindex, NPC_WORK_ID), MAX_SCHEDULEMAN-1);
    CHAR_talkToCli(talkerindex, meindex, buf, color);
    CHAR_talkToCli(talkerindex, meindex, "目前測試中,測試指令:list,select,detail", color);
    CHAR_talkToCli(talkerindex, meindex, "請下令。", color);
  }
#endif

  char buf[4096];
  int fd;

  if (NPC_Util_CharDistance(meindex, talkerindex) > 2) return;
  if (!NPC_Util_isFaceToFace(meindex, talkerindex, 2)) return;
  fd = getfdFromCharaIndex(talkerindex);
  if (fd == -1) return;

  CHAR_setWorkInt(talkerindex, CHAR_WORK_PAGE, 0);
  NPC_LIST_gendata(meindex, talkerindex, 0, buf, sizeof(buf));
  lssproto_WN_send(fd, WINDOW_MESSAGETYPE_PKSCHEDULELIST,
        		WINDOW_BUTTONTYPE_NEXT | WINDOW_BUTTONTYPE_CANCEL,
        		CHAR_WINDOWTYPE_SCHEDULEMAN_START,
			CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
			buf);
}

void NPC_SchedulemanWindowTalked(int meindex, int talkerindex,
				int seqno, int select, char *data)
{
  int page;
  int buttontype;
  char buf[4096],token[256];
  int fd,i,dt,a;
  int fmpks_pos;

  if (NPC_Util_CharDistance(meindex,talkerindex) > 2) return;
  if (!NPC_Util_isFaceToFace(meindex, talkerindex, 2)) return;
  fd = getfdFromCharaIndex(talkerindex);
  if (fd == -1) return;
  fmpks_pos = CHAR_getWorkInt(meindex, NPC_WORK_ID)*MAX_SCHEDULE;

//  print("seqno=%d select=%d data=%s\n", seqno,select,data);

  switch (seqno) {
  case CHAR_WINDOWTYPE_SCHEDULEMAN_START:
    switch (select) {
    case WINDOW_BUTTONTYPE_NEXT:
    case WINDOW_BUTTONTYPE_PREV:
      page=CHAR_getWorkInt(talkerindex, CHAR_WORK_PAGE)
           + MAXSCHEDULEINONEWINDOW
             * (( select == WINDOW_BUTTONTYPE_NEXT) ? 1 : -1);
      buttontype=WINDOW_BUTTONTYPE_NEXT | WINDOW_BUTTONTYPE_PREV | WINDOW_BUTTONTYPE_CANCEL;
      if (page<0) {
        page=0;
        buttontype=WINDOW_BUTTONTYPE_NEXT | WINDOW_BUTTONTYPE_CANCEL;
      }
      if (page>MAX_SCHEDULE-MAXSCHEDULEINONEWINDOW) {
        page=MAX_SCHEDULE-MAXSCHEDULEINONEWINDOW;
        buttontype=WINDOW_BUTTONTYPE_PREV | WINDOW_BUTTONTYPE_CANCEL;
      }
      CHAR_setWorkInt(talkerindex, CHAR_WORK_PAGE, page);
      // Send WN
      NPC_LIST_gendata(meindex, talkerindex, page, buf, sizeof(buf));
      lssproto_WN_send(fd, WINDOW_MESSAGETYPE_PKSCHEDULELIST,
        		   buttontype,
        		   CHAR_WINDOWTYPE_SCHEDULEMAN_START,
			   CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
			   buf);
      break;
    case WINDOW_BUTTONTYPE_OK:

#ifdef _DEATH_FAMILY_CANT_SCHEDULE // WON ADD 家族戰(zhàn)玩家不能自行約戰(zhàn)
	  CHAR_talkToCli(talkerindex, meindex, "此星球無法約戰(zhàn)", CHAR_COLORWHITE);
	  break;
#endif

      if ((CHAR_getInt(talkerindex,CHAR_FMLEADERFLAG)==FMMEMBER_LEADER) &&
          (CHAR_getWorkInt(talkerindex, CHAR_WORKFMSETUPFLAG)==1)) {
        // 只有已成立家族的族長可以使用進一步的功能 (設(shè)定、更改、同意)

        // decide: send family list or detail or accept
        dt=atoi(data);
        for (i=0; i<MAX_SCHEDULE; i++) {
          if (fmpks[fmpks_pos+i].dueltime==dt) {
            if (i==0) {
              CHAR_talkToCli(talkerindex, meindex,
                "這個時間無法進行預(yù)約。", CHAR_COLORWHITE);
              break;
            }


            switch (fmpks[fmpks_pos+i].flag) {
            case FMPKS_FLAG_NONE:
              if (NPC_AlreadyScheduled(meindex, talkerindex)) {
                // 同一個家族只能有一次排程
                CHAR_talkToCli(talkerindex, meindex,
                  "你已經(jīng)安排過一場戰(zhàn)斗,將時間留給其他家族吧。", CHAR_COLORWHITE);
              } else {
                fmpks[fmpks_pos+i].host_index=CHAR_getInt(talkerindex, CHAR_FMINDEX);
                strcpy(fmpks[fmpks_pos+i].host_name,makeStringFromEscaped(CHAR_getChar(talkerindex, CHAR_FMNAME)));
                
//                print("CHAR_FMNAME: %s\n",fmpks[fmpks_pos+i].host_name);
                
                fmpks[fmpks_pos+i].guest_index=-1;
                strcpy(fmpks[fmpks_pos+i].guest_name," ");
                fmpks[fmpks_pos+i].prepare_time=5;	// default
                fmpks[fmpks_pos+i].max_player=50;	// default
                fmpks[fmpks_pos+i].flag=FMPKS_FLAG_SETTING;
                fmpks[fmpks_pos+i].setting_timeout=
                    CHAR_getWorkInt(meindex, NPC_WORK_SETTINGTIMEOUT);
                // 送出選擇家族的列表
                CHAR_setWorkInt(talkerindex, CHAR_WORK_PAGE, 1); // page 1
                CHAR_setWorkInt(talkerindex, CHAR_WORK_DUELTIME, dt);
                NPC_SELECT_gendata(meindex, 1, buf, sizeof(buf));
                buttontype=0;
                if (familyNumTotal>MAXFAMILYINONEWINDOW)
                  buttontype |= WINDOW_BUTTONTYPE_NEXT;
                lssproto_WN_send(fd, WINDOW_MESSAGETYPE_PKSCHEDULESELECTFAMILY,
        			   buttontype,
        			   CHAR_WINDOWTYPE_SCHEDULEMAN_SELECT,
				   CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
				   buf);
              }
              break;
            case FMPKS_FLAG_CHALLENGE:
              { // 主隊族長可以重設(shè)條件,客隊則是同意 pk,其他人滾蛋
                int tkfmindex=CHAR_getInt(talkerindex, CHAR_FMINDEX);
                if (tkfmindex==fmpks[fmpks_pos+i].host_index) {
                  fmpks[fmpks_pos+i].flag=FMPKS_FLAG_SETTING;
                  fmpks[fmpks_pos+i].setting_timeout=
                    CHAR_getWorkInt(meindex, NPC_WORK_SETTINGTIMEOUT);
                  // 送出細(xì)部調(diào)整的列表
                  CHAR_setWorkInt(talkerindex, CHAR_WORK_DUELTIME, dt);
                  NPC_DETAIL_gendata(meindex, buf, sizeof(buf), dt);
                  lssproto_WN_send(fd, WINDOW_MESSAGETYPE_PKSCHEDULEDETAIL,
        	  		   WINDOW_BUTTONTYPE_OK | WINDOW_BUTTONTYPE_CANCEL,
        	 		   CHAR_WINDOWTYPE_SCHEDULEMAN_DETAIL,
				   CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
				   buf);
                } else if (tkfmindex==fmpks[fmpks_pos+i].guest_index) {
                  fmpks[fmpks_pos+i].flag=FMPKS_FLAG_SCHEDULED;
  		  page=CHAR_getWorkInt(talkerindex, CHAR_WORK_PAGE);
   		  buttontype=WINDOW_BUTTONTYPE_NEXT | WINDOW_BUTTONTYPE_PREV | WINDOW_BUTTONTYPE_OK;
		  if (page<0) {
		    page=0;
		    buttontype=WINDOW_BUTTONTYPE_NEXT | WINDOW_BUTTONTYPE_OK;
		  }
		  if (page>MAX_SCHEDULE-MAXSCHEDULEINONEWINDOW) {
 		    page=MAX_SCHEDULE-MAXSCHEDULEINONEWINDOW;
		    buttontype=WINDOW_BUTTONTYPE_PREV | WINDOW_BUTTONTYPE_OK;
		  }
                  CHAR_talkToCli(talkerindex, meindex,
                      "你的家族已經(jīng)接受挑戰(zhàn)。", CHAR_COLORWHITE);
                  // 重新送出 list
      		  NPC_LIST_gendata(meindex, talkerindex, page, buf, sizeof(buf));
		  lssproto_WN_send(fd, WINDOW_MESSAGETYPE_PKSCHEDULELIST,
        			   buttontype,
        			   CHAR_WINDOWTYPE_SCHEDULEMAN_START,
				   CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
				   buf);
                }
              }
              break;
            case FMPKS_FLAG_SETTING:
              { // 主隊族長可以重設(shè)條件
                int tkfmindex=CHAR_getInt(talkerindex, CHAR_FMINDEX);
                if (tkfmindex==fmpks[fmpks_pos+i].host_index) {
                  fmpks[fmpks_pos+i].flag=FMPKS_FLAG_SETTING;
                  fmpks[fmpks_pos+i].setting_timeout=
                    CHAR_getWorkInt(meindex, NPC_WORK_SETTINGTIMEOUT);
                  // 送出細(xì)部調(diào)整的列表
                  CHAR_setWorkInt(talkerindex, CHAR_WORK_DUELTIME, dt);
                  NPC_DETAIL_gendata(meindex, buf, sizeof(buf), dt);
                  lssproto_WN_send(fd, WINDOW_MESSAGETYPE_PKSCHEDULEDETAIL,
        	  		   WINDOW_BUTTONTYPE_OK | WINDOW_BUTTONTYPE_CANCEL,
        	 		   CHAR_WINDOWTYPE_SCHEDULEMAN_DETAIL,
				   CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
				   buf);
                }
              }
            }
            break;
          }
        }
        NPC_SavePKSchedule(meindex);
      } else {
  
			if (CHAR_getInt(talkerindex,CHAR_FMLEADERFLAG)!=FMMEMBER_LEADER) {        
			  CHAR_talkToCli(talkerindex, meindex,
				"只有族長才能預(yù)約家族PK喔。", CHAR_COLORWHITE);
			} else if (CHAR_getWorkInt(talkerindex, CHAR_WORKFMSETUPFLAG)!=1) {
			  CHAR_talkToCli(talkerindex, meindex,
				"你的家族還沒有正式成立喔。", CHAR_COLORWHITE);
			}
      }

      break;
    }
    break;
  case CHAR_WINDOWTYPE_SCHEDULEMAN_SELECT:
    switch (select) {
    case WINDOW_BUTTONTYPE_PREV:
    case WINDOW_BUTTONTYPE_NEXT:
      page=CHAR_getWorkInt(talkerindex, CHAR_WORK_PAGE)
           + MAXFAMILYINONEWINDOW
             * (( select == WINDOW_BUTTONTYPE_NEXT) ? 1 : -1);
      buttontype=WINDOW_BUTTONTYPE_NEXT | WINDOW_BUTTONTYPE_PREV;
      if (page<1) {
        page=1;
        buttontype=WINDOW_BUTTONTYPE_NEXT;
      }
      if (page>familyNumTotal-MAXFAMILYINONEWINDOW+1) {
        page=familyNumTotal-MAXFAMILYINONEWINDOW+1;
        buttontype=WINDOW_BUTTONTYPE_PREV;
      }
      CHAR_setWorkInt(talkerindex, CHAR_WORK_PAGE, page);
      // Send WN
      NPC_SELECT_gendata(meindex, page, buf, sizeof(buf));
      lssproto_WN_send(fd, WINDOW_MESSAGETYPE_PKSCHEDULESELECTFAMILY,
        		   buttontype,
        		   CHAR_WINDOWTYPE_SCHEDULEMAN_SELECT,
			   CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
			   buf);
      break;
    case WINDOW_BUTTONTYPE_OK:
#ifdef _FMVER21
      if ((CHAR_getInt(talkerindex,CHAR_FMLEADERFLAG)==FMMEMBER_LEADER) &&
#else
      if ((CHAR_getInt(talkerindex,CHAR_FMLEADERFLAG)==1) &&
#endif      
          (CHAR_getWorkInt(talkerindex, CHAR_WORKFMSETUPFLAG)==1)) {
        dt=CHAR_getWorkInt(talkerindex, CHAR_WORK_DUELTIME);
        for (i=0; i<MAX_SCHEDULE; i++) {
          if (fmpks[fmpks_pos+i].dueltime==dt) {
            if (fmpks[fmpks_pos+i].host_index==CHAR_getInt(talkerindex, CHAR_FMINDEX)) {
              if (getStringFromIndexWithDelim(data,"|",1,token,sizeof(token))) {
                a=atoi(token);
                if (a!=fmpks[fmpks_pos+i].host_index) {
                  fmpks[fmpks_pos+i].guest_index=a;
                  // 必須要再檢查是否有這個客隊家族 /**/
                  if (getStringFromIndexWithDelim(data,"|",2,token,sizeof(token))) {
                    strcpy(fmpks[fmpks_pos+i].guest_name, makeStringFromEscaped(token));
                    // 送出 detail 編輯窗
                    NPC_DETAIL_gendata(meindex, buf, sizeof(buf), dt);
                    lssproto_WN_send(fd, WINDOW_MESSAGETYPE_PKSCHEDULEDETAIL,
        	  		   WINDOW_BUTTONTYPE_OK | WINDOW_BUTTONTYPE_CANCEL,
        	 		   CHAR_WINDOWTYPE_SCHEDULEMAN_DETAIL,
				   CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
				   buf);
                  }
                }
              }
            }
          }
        }
      }
      break;
    }
    break;
  case CHAR_WINDOWTYPE_SCHEDULEMAN_DETAIL:
#ifdef _FMVER21  
    if ((CHAR_getInt(talkerindex,CHAR_FMLEADERFLAG)==FMMEMBER_LEADER) &&
#else
    if ((CHAR_getInt(talkerindex,CHAR_FMLEADERFLAG)==1) &&
#endif
        (CHAR_getWorkInt(talkerindex, CHAR_WORKFMSETUPFLAG)==1)) {
      dt=CHAR_getWorkInt(talkerindex, CHAR_WORK_DUELTIME);
      for (i=0; i<MAX_SCHEDULE; i++) {
        if (fmpks[fmpks_pos+i].dueltime==dt) {
          if (fmpks[fmpks_pos+i].host_index==CHAR_getInt(talkerindex, CHAR_FMINDEX)) {
            switch (select) {
            case WINDOW_BUTTONTYPE_OK:
              {
                // 準(zhǔn)備時間
                if (getStringFromIndexWithDelim(data,"|",4,token,sizeof(token))) {
                  a=atoi(token);
                  if ((a>0) && (a<=40)) fmpks[fmpks_pos+i].prepare_time=a;
                }
                // 最大人數(shù)
                if (getStringFromIndexWithDelim(data,"|",5,token,sizeof(token))) {
                  a=atoi(token);
                  if ((a>0) && (a<=50)) fmpks[fmpks_pos+i].max_player=a;
                }
                fmpks[fmpks_pos+i].flag=FMPKS_FLAG_CHALLENGE;
                fmpks[fmpks_pos+i].challenge_timeout=

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产毛片精品视频| 亚洲国产成人porn| 高清beeg欧美| 国产欧美日韩另类一区| 国产成人啪免费观看软件 | 亚洲一区在线观看免费| 一本色道久久综合精品竹菊| 亚洲黄色性网站| 欧美精品一二三区| 久久精品国产99久久6| 久久久久久久久岛国免费| 成人一区二区三区中文字幕| 国产精品综合一区二区三区| 国产亚洲制服色| av资源网一区| 秋霞午夜鲁丝一区二区老狼| 久久综合精品国产一区二区三区 | 天天色 色综合| 精品粉嫩超白一线天av| 国产99久久久国产精品| 亚洲欧美日韩在线不卡| 欧美高清视频一二三区| 国产成人综合网站| 亚洲国产欧美日韩另类综合 | 国产精品入口麻豆九色| 色综合久久久网| 久久精品国产成人一区二区三区 | 亚洲美女在线国产| 3d动漫精品啪啪一区二区竹菊 | 美女在线视频一区| 欧美国产成人在线| 色妞www精品视频| 精品亚洲欧美一区| 一区二区三区精密机械公司| 欧美一级高清片| 不卡的看片网站| 免费成人美女在线观看.| 国产精品久久久久久久久搜平片| 欧美日韩在线三区| 国产成人精品亚洲777人妖| 亚洲成人动漫在线观看| 自拍偷拍国产精品| 精品国产乱码久久久久久久久| 色综合久久天天| 国产91精品久久久久久久网曝门| 奇米精品一区二区三区在线观看 | 偷拍亚洲欧洲综合| 国产欧美日韩另类视频免费观看| 欧美丰满嫩嫩电影| 91色乱码一区二区三区| 成人影视亚洲图片在线| 精品一区二区免费| 日韩在线观看一区二区| 玉米视频成人免费看| 国产欧美一区二区精品秋霞影院 | 欧洲精品视频在线观看| 国产91富婆露脸刺激对白| 免费在线看一区| 亚洲国产精品久久久久婷婷884| 中文字幕一区在线观看| 久久人人爽人人爽| 精品国产三级a在线观看| 666欧美在线视频| 精品婷婷伊人一区三区三| 色综合久久久久久久久久久| 99热在这里有精品免费| 成人免费福利片| 大白屁股一区二区视频| 国产精品一二一区| 国产麻豆精品一区二区| 激情文学综合丁香| 国产一区二区三区在线观看免费视频 | 午夜激情一区二区三区| 亚洲乱码国产乱码精品精可以看 | 美女视频黄频大全不卡视频在线播放| 一区二区三区四区高清精品免费观看| 国产精品二三区| 国产精品久久久久久久第一福利| 中文字幕欧美激情一区| 国产日韩欧美精品在线| 国产日韩欧美电影| 欧美国产成人在线| 亚洲免费观看高清| 亚洲一区二区三区三| 亚洲永久免费av| 视频一区视频二区在线观看| 日日嗨av一区二区三区四区| 蜜臀av一区二区在线免费观看| 美国毛片一区二区三区| 国产精品一区二区无线| 成人高清伦理免费影院在线观看| 不卡免费追剧大全电视剧网站| 成人高清视频免费观看| 色丁香久综合在线久综合在线观看| 欧美图区在线视频| 在线91免费看| 国产亚洲成年网址在线观看| 日韩美女视频19| 亚洲国产欧美日韩另类综合| 捆绑变态av一区二区三区| 国产成人三级在线观看| 91成人网在线| 欧美一区二区免费视频| 国产偷国产偷亚洲高清人白洁| 亚洲区小说区图片区qvod| 三级一区在线视频先锋 | 成人国产亚洲欧美成人综合网 | 欧美高清一级片在线| 久久嫩草精品久久久精品| 亚洲精品国产品国语在线app| 午夜精彩视频在线观看不卡| 国产一区二区三区久久悠悠色av| av一二三不卡影片| 制服丝袜亚洲精品中文字幕| 国产欧美日韩综合| 香蕉成人啪国产精品视频综合网| 国产在线精品不卡| 一本一道久久a久久精品综合蜜臀| 日韩手机在线导航| 国产精品传媒视频| 蜜桃一区二区三区在线观看| 99re热视频精品| 欧美一二区视频| 亚洲美女电影在线| 国产成人鲁色资源国产91色综| 欧美偷拍一区二区| 国产精品色呦呦| 久久精品国产免费| 欧美日韩黄色影视| 国产精品乱码一区二三区小蝌蚪| 日本不卡视频在线| 色婷婷国产精品综合在线观看| 欧美xxxxx牲另类人与| 洋洋成人永久网站入口| 国产91精品免费| 亚洲精品在线电影| 午夜激情久久久| 在线观看国产日韩| 最新不卡av在线| 国产成人免费视频精品含羞草妖精 | 日韩欧美久久久| 午夜精品国产更新| 色综合视频一区二区三区高清| 久久久久久久国产精品影院| 免费在线看成人av| 欧美猛男gaygay网站| 亚洲欧美另类图片小说| 成人短视频下载| 国产视频不卡一区| 国产精品一区二区免费不卡| 日韩午夜中文字幕| 无吗不卡中文字幕| 欧美剧情电影在线观看完整版免费励志电影| 国产精品久久久久久久久动漫| 国产精品亚洲第一区在线暖暖韩国| 91精品国产aⅴ一区二区| 性久久久久久久久久久久| 91成人网在线| 亚洲图片欧美一区| 欧美日韩免费一区二区三区| 亚洲欧美自拍偷拍色图| bt欧美亚洲午夜电影天堂| 日本一区二区久久| 成人动漫av在线| 国产精品乱码妇女bbbb| 不卡一区在线观看| 亚洲人成精品久久久久久| 97久久精品人人爽人人爽蜜臀| 亚洲欧洲成人av每日更新| av亚洲精华国产精华| 国产精品视频麻豆| 99久久99久久久精品齐齐| 国产精品白丝在线| 欧洲精品中文字幕| 日韩精品成人一区二区三区 | 国产suv精品一区二区6| 久久精品日产第一区二区三区高清版| 国产专区欧美精品| 国产清纯美女被跳蛋高潮一区二区久久w | 国产婷婷色一区二区三区四区| 国产成人精品影院| 亚洲欧美自拍偷拍| 色久优优欧美色久优优| 亚洲va天堂va国产va久| 欧美大黄免费观看| 国产精品小仙女| 日韩毛片精品高清免费| 欧美天堂一区二区三区| 麻豆91在线观看| 亚洲国产精品ⅴa在线观看| 91麻豆精品秘密| 日韩高清中文字幕一区| 久久午夜老司机| 91一区二区在线观看| 午夜视频久久久久久| 精品盗摄一区二区三区| 成人精品免费看| 亚洲成人激情社区| 国产日韩高清在线| 色婷婷综合久色|