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

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

?? script.c

?? 最新的仙鏡傳說服務器C語言源碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
// $Id: script.c,v 1.18 2003/07/04 01:11:38 lemit Exp $
//#define DEBUG_FUNCIN
//#define DEBUG_DISP
//#define DEBUG_RUN

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#include "socket.h"
#include "timer.h"

#include "map.h"
#include "clif.h"
#include "chrif.h"
#include "itemdb.h"
#include "pc.h"
#include "script.h"
#include "storage.h"
#include "mob.h"
#include "npc.h"
#include "pet.h"
#include "intif.h"
#include "db.h"
#include "skill.h"
#include "chat.h"
#include "battle.h"
#include "party.h"
#include "guild.h"
#include "lock.h"

#ifdef MEMWATCH
#include "memwatch.h"
#endif

#define SCRIPT_BLOCK_SIZE 256
enum { LABEL_NEXTLINE=1,LABEL_START };
static unsigned char * script_buf;
static int script_pos,script_size;

char *str_buf;
int str_pos,str_size;
static struct {
	int type;
	int str;
	int backpatch;
	int label;
	int (*func)();
	int val;
	int next;
} *str_data;
int str_num=LABEL_START,str_data_size;
int str_hash[16];

static struct dbt *mapreg_db=NULL;
static struct dbt *mapregstr_db=NULL;
static int mapreg_dirty=-1;
char mapreg_txt[256]="save/mapreg.txt";
#define MAPREG_AUTOSAVE_INTERVAL	(10*1000)

static struct dbt *scriptlabel_db=NULL;
struct dbt* script_get_label_db(){ return scriptlabel_db; }
static int scriptlabel_final(void *k,void *d,va_list ap){ return 0; }
static char pos[11][100] = {"摢","懱","嵍庤","塃庤","儘乕僽","孋","傾僋僙僒儕乕1","傾僋僙僒儕乕2","摢2","摢3","憰拝偟偰偄側偄"};

static struct Script_Config {
	int warn_func_no_comma;
	int warn_cmd_no_comma;
	int warn_func_mismatch_paramnum;
	int warn_cmd_mismatch_paramnum;
	int check_cmdcount;
	int check_gotocount;
} script_config;
static int parse_cmd_if=0;
static int parse_cmd;

/*==========================================
 * 儘乕僇儖僾儘僩僞僀僾愰尵 (昁梫側暔偺傒)
 *------------------------------------------
 */
unsigned char* parse_subexpr(unsigned char *,int);
int buildin_mes(struct script_state *st);
int buildin_goto(struct script_state *st);
int buildin_next(struct script_state *st);
int buildin_close(struct script_state *st);
int buildin_menu(struct script_state *st);
int buildin_rand(struct script_state *st);
int buildin_warp(struct script_state *st);
int buildin_areawarp(struct script_state *st);
int buildin_heal(struct script_state *st);
int buildin_itemheal(struct script_state *st);
int buildin_percentheal(struct script_state *st);
int buildin_jobchange(struct script_state *st);
int buildin_input(struct script_state *st);
int buildin_setlook(struct script_state *st);
int buildin_set(struct script_state *st);
int buildin_setarray(struct script_state *st);
int buildin_cleararray(struct script_state *st);
int buildin_copyarray(struct script_state *st);
int buildin_getarraysize(struct script_state *st);
int buildin_deletearray(struct script_state *st);
int buildin_getelementofarray(struct script_state *st);
int buildin_if(struct script_state *st);
int buildin_getitem(struct script_state *st);
int buildin_getitem2(struct script_state *st);
int buildin_delitem(struct script_state *st);
int buildin_viewpoint(struct script_state *st);
int buildin_countitem(struct script_state *st);
int buildin_checkweight(struct script_state *st);
int buildin_readparam(struct script_state *st);
int buildin_getcharid(struct script_state *st);
int buildin_getpartyname(struct script_state *st);
int buildin_getguildname(struct script_state *st);
int buildin_getguildmaster(struct script_state *st);
int buildin_getguildmasterid(struct script_state *st);
int buildin_strcharinfo(struct script_state *st);
int buildin_getequipname(struct script_state *st);
int buildin_getequipisequiped(struct script_state *st);
int buildin_getequipisenableref(struct script_state *st);
int buildin_getequipisidentify(struct script_state *st);
int buildin_getequiprefinerycnt(struct script_state *st);
int buildin_getequipweaponlv(struct script_state *st);
int buildin_getequippercentrefinery(struct script_state *st);
int buildin_successrefitem(struct script_state *st);
int buildin_failedrefitem(struct script_state *st);
int buildin_cutin(struct script_state *st);
int buildin_statusup(struct script_state *st);
int buildin_statusup2(struct script_state *st);
int buildin_bonus(struct script_state *st);
int buildin_bonus2(struct script_state *st);
int buildin_bonus3(struct script_state *st);
int buildin_skill(struct script_state *st);
int buildin_getskilllv(struct script_state *st);
int buildin_basicskillcheck(struct script_state *st);
int buildin_getgmlevel(struct script_state *st);
int buildin_end(struct script_state *st);
int buildin_checkoption(struct script_state *st);
int buildin_setoption(struct script_state *st);
int buildin_setcart(struct script_state *st);
int buildin_setfalcon(struct script_state *st);
int buildin_setriding(struct script_state *st);
int buildin_savepoint(struct script_state *st);
int buildin_openstorage(struct script_state *st);
int buildin_guildopenstorage(struct script_state *st);
int buildin_itemskill(struct script_state *st);
int buildin_produce(struct script_state *st);
int buildin_monster(struct script_state *st);
int buildin_areamonster(struct script_state *st);
int buildin_killmonster(struct script_state *st);
int buildin_killmonsterall(struct script_state *st);
int buildin_doevent(struct script_state *st);
int buildin_donpcevent(struct script_state *st);
int buildin_addtimer(struct script_state *st);
int buildin_deltimer(struct script_state *st);
int buildin_addtimercount(struct script_state *st);
int buildin_initnpctimer(struct script_state *st);
int buildin_stopnpctimer(struct script_state *st);
int buildin_startnpctimer(struct script_state *st);
int buildin_setnpctimer(struct script_state *st);
int buildin_getnpctimer(struct script_state *st);
int buildin_announce(struct script_state *st);
int buildin_mapannounce(struct script_state *st);
int buildin_areaannounce(struct script_state *st);
int buildin_getusers(struct script_state *st);
int buildin_getmapusers(struct script_state *st);
int buildin_getareausers(struct script_state *st);
int buildin_getareadropitem(struct script_state *st);
int buildin_enablenpc(struct script_state *st);
int buildin_disablenpc(struct script_state *st);
int buildin_sc_start(struct script_state *st);
int buildin_sc_end(struct script_state *st);
int buildin_debugmes(struct script_state *st);
int buildin_catchpet(struct script_state *st);
int buildin_birthpet(struct script_state *st);
int buildin_resetstatus(struct script_state *st);
int buildin_resetskill(struct script_state *st);
int buildin_changebase(struct script_state *st);
int buildin_changesex(struct script_state *st);
int buildin_waitingroom(struct script_state *st);
int buildin_delwaitingroom(struct script_state *st);
int buildin_enablewaitingroomevent(struct script_state *st);
int buildin_disablewaitingroomevent(struct script_state *st);
int buildin_getwaitingroomstate(struct script_state *st);
int buildin_warpwaitingpc(struct script_state *st);
int buildin_attachrid(struct script_state *st);
int buildin_detachrid(struct script_state *st);
int buildin_isloggedin(struct script_state *st);
int buildin_setmapflagnosave(struct script_state *st);
int buildin_setmapflag(struct script_state *st);
int buildin_removemapflag(struct script_state *st);
int buildin_pvpon(struct script_state *st);
int buildin_pvpoff(struct script_state *st);
int buildin_gvgon(struct script_state *st);
int buildin_gvgoff(struct script_state *st);
int buildin_emotion(struct script_state *st);
int buildin_maprespawnguildid(struct script_state *st);
int buildin_agitstart(struct script_state *st);		// <Agit>
int buildin_agitend(struct script_state *st);
int buildin_flagemblem(struct script_state *st);		// Flag Emblem
int buildin_getcastlename(struct script_state *st);
int buildin_getcastledata(struct script_state *st);
int buildin_setcastledata(struct script_state *st);
int buildin_requestguildinfo(struct script_state *st);
int buildin_getequipcardcnt(struct script_state *st);
int buildin_successremovecards(struct script_state *st);
int buildin_failedremovecards(struct script_state *st);

void push_val(struct script_stack *stack,int type,int val);
int run_func(struct script_state *st);

int mapreg_setreg(int num,int val);
int mapreg_setregstr(int num,const char *str);

struct {
	int (*func)();
	char *name;
	char *arg;
} buildin_func[]={
	{buildin_mes,"mes","s"},
	{buildin_next,"next",""},
	{buildin_close,"close",""},
	{buildin_menu,"menu","*"},
	{buildin_goto,"goto","l"},
	{buildin_jobchange,"jobchange","i"},
	{buildin_input,"input","*"},
	{buildin_warp,"warp","sii"},
	{buildin_areawarp,"areawarp","siiiisii"},
	{buildin_setlook,"setlook","ii"},
	{buildin_set,"set","ii"},
	{buildin_setarray,"setarray","ii*"},
	{buildin_cleararray,"cleararray","iii"},
	{buildin_copyarray,"copyarray","iii"},
	{buildin_getarraysize,"getarraysize","i"},
	{buildin_deletearray,"deletearray","ii"},
	{buildin_getelementofarray,"getelementofarray","ii"},
	{buildin_if,"if","i*"},
	{buildin_getitem,"getitem","ii"},
	{buildin_getitem2,"getitem2","iiiiiiiii"},
	{buildin_delitem,"delitem","ii"},
	{buildin_cutin,"cutin","si"},
	{buildin_viewpoint,"viewpoint","iiiii"},
	{buildin_heal,"heal","ii"},
	{buildin_itemheal,"itemheal","ii"},
	{buildin_percentheal,"percentheal","ii"},
	{buildin_rand,"rand","i*"},
	{buildin_countitem,"countitem","i"},
	{buildin_checkweight,"checkweight","ii"},
	{buildin_readparam,"readparam","i"},
	{buildin_getcharid,"getcharid","i"},
	{buildin_getpartyname,"getpartyname","i"},
	{buildin_getguildname,"getguildname","i"},
	{buildin_getguildmaster,"getguildmaster","i"},
	{buildin_getguildmasterid,"getguildmasterid","i"},
	{buildin_strcharinfo,"strcharinfo","i"},
	{buildin_getequipname,"getequipname","i"},
	{buildin_getequipisequiped,"getequipisequiped","i"},
	{buildin_getequipisenableref,"getequipisenableref","i"},
	{buildin_getequipisidentify,"getequipisidentify","i"},
	{buildin_getequiprefinerycnt,"getequiprefinerycnt","i"},
	{buildin_getequipweaponlv,"getequipweaponlv","i"},
	{buildin_getequippercentrefinery,"getequippercentrefinery","i"},
	{buildin_successrefitem,"successrefitem","i"},
	{buildin_failedrefitem,"failedrefitem","i"},
	{buildin_statusup,"statusup","i"},
	{buildin_statusup2,"statusup2","ii"},
	{buildin_bonus,"bonus","ii"},
	{buildin_bonus2,"bonus2","iii"},
	{buildin_bonus3,"bonus3","iiii"},
	{buildin_skill,"skill","ii*"},
	{buildin_getskilllv,"getskilllv","i"},
	{buildin_basicskillcheck,"basicskillcheck","*"},
	{buildin_getgmlevel,"getgmlevel","*"},
	{buildin_end,"end",""},
	{buildin_checkoption,"checkoption","i"},
	{buildin_setoption,"setoption","i"},
	{buildin_setcart,"setcart",""},
	{buildin_setfalcon,"setfalcon",""},
	{buildin_setriding,"setriding",""},
	{buildin_savepoint,"savepoint","sii"},
	{buildin_openstorage,"openstorage",""},
	{buildin_guildopenstorage,"guildopenstorage","*"},
	{buildin_itemskill,"itemskill","iis"},
	{buildin_produce,"produce","i"},
	{buildin_monster,"monster","siisii*"},
	{buildin_areamonster,"areamonster","siiiisii*"},
	{buildin_killmonster,"killmonster","ss"},
	{buildin_killmonsterall,"killmonsterall","s"},
	{buildin_doevent,"doevent","s"},
	{buildin_donpcevent,"donpcevent","s"},
	{buildin_addtimer,"addtimer","is"},
	{buildin_deltimer,"deltimer","s"},
	{buildin_addtimercount,"addtimercount","si"},
	{buildin_initnpctimer,"initnpctimer","*"},
	{buildin_stopnpctimer,"stopnpctimer","*"},
	{buildin_startnpctimer,"startnpctimer","*"},
	{buildin_setnpctimer,"setnpctimer","*"},
	{buildin_getnpctimer,"getnpctimer","i*"},
	{buildin_announce,"announce","si"},
	{buildin_mapannounce,"mapannounce","ssi"},
	{buildin_areaannounce,"areaannounce","siiiisi"},
	{buildin_getusers,"getusers","i"},
	{buildin_getmapusers,"getmapusers","s"},
	{buildin_getareausers,"getareausers","siiii"},
	{buildin_getareadropitem,"getareadropitem","siiiii"},
	{buildin_enablenpc,"enablenpc","s"},
	{buildin_disablenpc,"disablenpc","s"},
	{buildin_sc_start,"sc_start","iii"},
	{buildin_sc_end,"sc_end","i"},
	{buildin_debugmes,"debugmes","s"},
	{buildin_catchpet,"pet","i"},
	{buildin_birthpet,"bpet",""},
	{buildin_resetstatus,"resetstatus",""},
	{buildin_resetskill,"resetskill",""},
	{buildin_changebase,"changebase","i"},
	{buildin_changesex,"changesex",""},
	{buildin_waitingroom,"waitingroom","si*"},
	{buildin_delwaitingroom,"delwaitingroom","*"},
	{buildin_enablewaitingroomevent,"enablewaitingroomevent","*"},
	{buildin_disablewaitingroomevent,"disablewaitingroomevent","*"},
	{buildin_getwaitingroomstate,"getwaitingroomstate","i*"},
	{buildin_warpwaitingpc,"warpwaitingpc","sii*"},
	{buildin_attachrid,"attachrid","i"},
	{buildin_detachrid,"detachrid",""},
	{buildin_isloggedin,"isloggedin","i"},
	{buildin_setmapflag,"setmapflagnosave","ssii"},
	{buildin_setmapflag,"setmapflag","si"},
	{buildin_removemapflag,"removemapflag","si"},
	{buildin_pvpon,"pvpon","s"},
	{buildin_pvpoff,"pvpoff","s"},
	{buildin_gvgon,"gvgon","s"},
	{buildin_gvgoff,"gvgoff","s"},
	{buildin_emotion,"emotion","i"},
	{buildin_maprespawnguildid,"maprespawnguildid","sii"},
	{buildin_agitstart,"agitstart",""},	// <Agit>
	{buildin_agitend,"agitend",""},
	{buildin_flagemblem,"flagemblem","i"},	// Flag Emblem
	{buildin_getcastlename,"getcastlename","s"},
	{buildin_getcastledata,"getcastledata","si*"},
	{buildin_setcastledata,"setcastledata","sii"},
	{buildin_requestguildinfo,"requestguildinfo","i*"},
	{buildin_getequipcardcnt,"getequipcardcnt","i"},
	{buildin_successremovecards,"successremovecards","i"},
	{buildin_failedremovecards,"failedremovecards","ii"},
	{NULL,NULL,NULL}
};
enum {
	C_NOP,C_POS,C_INT,C_PARAM,C_FUNC,C_STR,C_CONSTSTR,C_ARG,
	C_NAME,C_EOL,

	C_LOR,C_LAND,C_LE,C_LT,C_GE,C_GT,C_EQ,C_NE,   //operator
	C_XOR,C_OR,C_AND,C_ADD,C_SUB,C_MUL,C_DIV,C_MOD,C_NEG,C_LNOT,C_NOT
};

/*==========================================
 * 暥帤楍偺僴僢僔儏傪寁嶼
 *------------------------------------------
 */
static int calc_hash(const unsigned char *p)
{
	int h=0;
	while(*p){
		h=(h<<1)+(h>>3)+(h>>5)+(h>>8);
		h+=*p++;
	}
	return h&15;
}

/*==========================================
 * str_data偺拞偵柤慜偑偁傞偐専嶕偡傞
 *------------------------------------------
 */
// 婛懚偺偱偁傟偽斣崋丄柍偗傟偽-1
static int search_str(const unsigned char *p)
{
	int i;
	i=str_hash[calc_hash(p)];
	while(i){
		if(strcmp(str_buf+str_data[i].str,p)==0){
			return i;
		}
		i=str_data[i].next;
	}
	return -1;
}

/*==========================================
 * str_data偵柤慜傪搊榐
 *------------------------------------------
 */
// 婛懚偺偱偁傟偽斣崋丄柍偗傟偽搊榐偟偰怴婯斣崋
static int add_str(const unsigned char *p)
{
	int i;
	char *lowcase;

	lowcase=strdup(p);
	for(i=0;lowcase[i];i++)
		lowcase[i]=tolower(lowcase[i]);
	if((i=search_str(lowcase))>=0){
		free(lowcase);
		return i;
	}
	free(lowcase);

	i=calc_hash(p);
	if(str_hash[i]==0){
		str_hash[i]=str_num;
	} else {
		i=str_hash[i];
		for(;;){
			if(strcmp(str_buf+str_data[i].str,p)==0){
				return i;
			}
			if(str_data[i].next==0)
				break;
			i=str_data[i].next;
		}
		str_data[i].next=str_num;
	}
	if(str_num>=str_data_size){
		str_data_size+=128;
		str_data=realloc(str_data,sizeof(str_data[0])*str_data_size);
		if(str_data==NULL){
			printf("out of memory : add_str str_data\n");
			exit(1);
		}
		memset(str_data + (str_data_size - 128), '\0', 128);
	}
	while(str_pos+strlen(p)+1>=str_size){
		str_size+=256;
		str_buf=realloc(str_buf,str_size);
		if(str_buf==NULL){
			printf("out of memory : add_str str_buf\n");
			exit(1);
		}
		memset(str_buf + (str_size - 256), '\0', 256);
	}
	strcpy(str_buf+str_pos,p);
	str_data[str_num].type=C_NOP;
	str_data[str_num].str=str_pos;
	str_data[str_num].next=0;
	str_data[str_num].func=NULL;
	str_data[str_num].backpatch=-1;
	str_data[str_num].label=-1;
	str_pos+=strlen(p)+1;
	return str_num++;
}


/*==========================================
 * 僗僋儕僾僩僶僢僼傽僒僀僘偺妋擣偲奼挘
 *------------------------------------------
 */
static void check_script_buf(int size)
{
	if(script_pos+size>=script_size){
		script_size+=SCRIPT_BLOCK_SIZE;
		script_buf=realloc(script_buf,script_size);
		if(script_buf==NULL){
			printf("out of memory : check_script_buf \n");
			exit(1);
		}
		memset(script_buf + script_size - SCRIPT_BLOCK_SIZE, '\0',
			SCRIPT_BLOCK_SIZE);
	}
}

/*==========================================
 * 僗僋儕僾僩僶僢僼傽偵侾僶僀僩彂偒崬傓
 *------------------------------------------
 */
static void add_scriptb(int a)
{
	check_script_buf(1);
	script_buf[script_pos++]=a;
}

/*==========================================
 * 僗僋儕僾僩僶僢僼傽偵僨乕僞僞僀僾傪彂偒崬傓
 *------------------------------------------
 */
static void add_scriptc(int a)
{
	while(a>=0x40){
		add_scriptb((a&0x3f)|0x40);
		a=(a-0x40)>>6;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久一区| 亚洲伊人色欲综合网| 欧美视频精品在线观看| 极品美女销魂一区二区三区| 一区二区中文字幕在线| 日韩免费看的电影| 欧美亚洲国产一卡| 成人免费毛片app| 韩国女主播一区二区三区| 亚洲一区在线看| 国产精品久久三| 欧美电影免费观看高清完整版在线 | 欧美久久久久久久久| 97精品国产露脸对白| 国产一区在线观看视频| 三级在线观看一区二区| 亚洲视频一二三区| 国产精品美日韩| 国产亚洲精品bt天堂精选| 欧美v日韩v国产v| 欧美精品一二三| 欧美亚洲高清一区| 91麻豆视频网站| 91丨porny丨户外露出| 国产成人精品免费一区二区| 久久99精品国产麻豆婷婷洗澡| 午夜日韩在线电影| 午夜久久电影网| 亚洲国产乱码最新视频| 亚洲影院理伦片| 一区二区三区在线观看视频| 中文字幕在线不卡一区| 国产精品国产三级国产专播品爱网| 久久久天堂av| 久久亚区不卡日本| 久久精品水蜜桃av综合天堂| 久久久久久亚洲综合影院红桃| 久久久久九九视频| 2023国产精华国产精品| 欧美精品一区二区高清在线观看| 91精品国产综合久久蜜臀| 欧美一区二区三区播放老司机| 欧美日韩国产三级| 91精品国产入口在线| 日韩一区二区三区观看| 欧美不卡激情三级在线观看| 精品国产在天天线2019| 亚洲曰韩产成在线| 图片区小说区国产精品视频| 日韩高清在线电影| 麻豆成人在线观看| 国产一区二区美女| 成人伦理片在线| 色久优优欧美色久优优| 欧美日韩一级大片网址| 91精品国产91久久久久久一区二区| 91麻豆精品国产| 精品久久人人做人人爱| 国产日产欧美一区| 亚洲免费观看在线视频| 天天操天天综合网| 久久99国产精品免费| 国产成人av电影在线观看| 91麻豆国产福利在线观看| 欧美日韩一本到| 久久精品视频免费| 亚洲摸摸操操av| 日本不卡123| 国产成人午夜高潮毛片| 一本色道久久综合亚洲aⅴ蜜桃 | 中文字幕视频一区二区三区久| 亚洲一区二区三区在线播放| 日韩精品欧美精品| 高清国产午夜精品久久久久久| 成人av在线影院| 欧美日韩国产欧美日美国产精品| 精品久久99ma| 亚洲欧美精品午睡沙发| 久久精品国产亚洲高清剧情介绍| 成人综合婷婷国产精品久久| 欧美色网一区二区| 蜜臀av在线播放一区二区三区| 国内一区二区在线| 91久久精品一区二区三区| 欧美成人伊人久久综合网| 亚洲视频免费看| 国模无码大尺度一区二区三区| 色乱码一区二区三区88| 精品久久久久99| 亚洲午夜视频在线| 国产91丝袜在线18| 欧美三级日韩三级| 欧美国产日本视频| 蜜臀av一区二区在线观看| 色婷婷激情久久| 国产性色一区二区| 奇米亚洲午夜久久精品| 91浏览器在线视频| 久久久久久久久久久电影| 午夜精品影院在线观看| 91麻豆福利精品推荐| 久久日一线二线三线suv| 亚洲高清免费在线| 91农村精品一区二区在线| 久久久精品免费观看| 日本欧美一区二区三区乱码| 91福利社在线观看| 国产精品国产自产拍高清av| 国产永久精品大片wwwapp | 欧美精品一区二区久久婷婷 | 久久精品99国产精品| 欧美三级电影在线观看| 亚洲日本乱码在线观看| 风流少妇一区二区| 久久人人爽人人爽| 国产美女视频一区| 日韩精品中文字幕在线不卡尤物| 亚洲国产精品视频| 精品视频一区二区不卡| 综合色中文字幕| youjizz国产精品| 欧美激情在线看| 国产精品99久久久久久久vr | 欧美蜜桃一区二区三区| 亚洲精品国产第一综合99久久 | 精品欧美一区二区久久| 日本午夜精品一区二区三区电影 | 99re这里只有精品6| 久久久高清一区二区三区| 久久av老司机精品网站导航| 日韩视频免费观看高清完整版在线观看 | 国产三级精品视频| 国产一区二区三区电影在线观看| 日韩欧美另类在线| 久久电影国产免费久久电影| 日韩精品一区二区三区视频播放| 日韩福利电影在线| 日韩欧美国产麻豆| 狠狠狠色丁香婷婷综合久久五月| 欧美tickle裸体挠脚心vk| 国产一区福利在线| 中文字幕欧美三区| 91在线免费看| 亚洲国产精品嫩草影院| 欧美日韩国产首页| 美女在线视频一区| 久久久亚洲午夜电影| 成人黄色综合网站| 亚洲另类在线制服丝袜| 欧美亚洲高清一区| 美国av一区二区| 国产亚洲福利社区一区| 97久久超碰精品国产| 香港成人在线视频| 精品国产欧美一区二区| 福利电影一区二区| 亚洲午夜久久久久久久久久久 | 亚洲人成电影网站色mp4| 色久综合一二码| 蜜臀99久久精品久久久久久软件| 国产亚洲综合在线| 色狠狠桃花综合| 裸体在线国模精品偷拍| 欧美激情一区二区三区四区 | 91精品国产欧美一区二区成人| 久久成人av少妇免费| 国产精品视频一二三| 在线观看日产精品| 精品中文字幕一区二区小辣椒| 国产三级一区二区三区| 91久久人澡人人添人人爽欧美| 日本中文字幕一区| 国产精品久久久久久户外露出| 精品视频色一区| 国产iv一区二区三区| 一区二区在线观看av| 精品免费99久久| 色天天综合色天天久久| 久久99精品久久只有精品| 国产精品不卡视频| 欧美一区二区三区影视| 成人一级视频在线观看| 日日噜噜夜夜狠狠视频欧美人| 日本一区二区综合亚洲| 欧美日韩一级片网站| 粉嫩13p一区二区三区| 五月婷婷综合网| 欧美经典一区二区| 337p亚洲精品色噜噜狠狠| 成人av电影免费观看| 麻豆成人免费电影| 亚洲一区免费视频| 国产欧美日韩综合精品一区二区| 欧美日韩中文字幕精品| 国产91色综合久久免费分享| 热久久国产精品| 亚洲国产精品嫩草影院| 亚洲丝袜另类动漫二区| 国产日韩欧美精品电影三级在线| 欧美日韩精品一区二区三区蜜桃 |