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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? char_base.c

?? 最新主流石器時(shí)代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
	return TRUE;}int CHAR_initCharOneArray( Char* ch ){    int i;    int mode;    int ret = TRUE;    int first;	static unsigned int CharMakeSequenceNumber = 0;    if( initCharCounter[0].startcnt == -1 ) {        initCharCounter[0].startcnt = 0;        initCharCounter[0].cnt      = initCharCounter[0].startcnt;        initCharCounter[0].endcnt   = CHAR_playernum;        initCharCounter[1].startcnt = initCharCounter[0].endcnt;        initCharCounter[1].cnt      = initCharCounter[0].endcnt;        initCharCounter[1].endcnt   = CHAR_playernum + CHAR_petnum;        initCharCounter[2].startcnt = initCharCounter[1].endcnt;        initCharCounter[2].cnt      = initCharCounter[1].endcnt;        initCharCounter[2].endcnt   = CHAR_charanum;    }    if( ch->data[CHAR_WHICHTYPE] == CHAR_TYPEPLAYER ){        mode = 0;    }else if( CHAR_TYPEPET ==  ch->data[CHAR_WHICHTYPE] ) {        mode = 1;    }else{        mode = 2;    }    i = initCharCounter[mode].cnt;    first = TRUE;    while( 1 ){        if( !first && i >= initCharCounter[mode].cnt ) {            ret = FALSE;            break;        }        if( CHAR_chara[i].use == FALSE ){            ret = TRUE;            break;        }else{            i++;            if( i >= initCharCounter[mode].endcnt ){                i = initCharCounter[mode].startcnt;                first = FALSE;            }        }    }    if( ret ){        typedef BOOL (*INITFUNC)(int index);        INITFUNC initfunc;#ifdef _NPC_SEPARATEDATA		ch->tempint = CHAR_chara[i].tempint;		CHAR_getDefaultCharTempNum( ch);#endif        memset( &CHAR_chara[i] , 0, sizeof( Char ) );        memcpy( &CHAR_chara[i] , ch , sizeof( Char ) );        initfunc = (INITFUNC)getFunctionPointerFromName(            ch->charfunctable[CHAR_INITFUNC].string );        if( initfunc ) {            if( initfunc( i ) == FALSE ){				CHAR_chara[i].use = FALSE;                ret = FALSE;            }        }        if( ret ){            CHAR_chara[i].use = TRUE;            CHAR_constructFunctable( i );            if( i + 1 >= initCharCounter[mode].endcnt ) {                initCharCounter[mode].cnt                    = initCharCounter[mode].startcnt;            }else {                initCharCounter[mode].cnt = i+1;			}        	CHAR_chara[i].CharMakeSequenceNumber = CharMakeSequenceNumber++;			if( CharMakeSequenceNumber == 0xffffffff) CharMakeSequenceNumber = 0;        }    }else{        fprint( "Error: Char full\n" );	}    return ret ? i: -1;}void CHAR_removeHaveItem( Char* ch ){    int     i;    if( ch == NULL )return;    for( i=0 ; i<CHAR_MAXITEMHAVE ; i++ ) {		int itemindex = ch->indexOfExistItems[i];		ch->indexOfExistItems[i] = -1;        ITEM_endExistItemsOne( itemindex );	}}void CHAR_removeHavePoolItem( Char* ch ){    int     i;    if( ch == NULL )return;    for( i=0 ; i<CHAR_MAXPOOLITEMHAVE ; i++ ) {		int itemindex = ch->indexOfExistPoolItems[i];		ch->indexOfExistPoolItems[i] = -1;        ITEM_endExistItemsOne( itemindex );	}}void CHAR_endCharData( Char* ch ){    if( ch == NULL ){		return;	}    CHAR_removeHaveItem( ch );	CHAR_removeHavePoolItem( ch);#ifdef _CHAR_POOLITEM//	CHAR_removeHaveDepotItem( ch );#endif#ifdef _CHAR_POOLPET//	CHAR_removeHaveDepotPet( ch );#endif    ch->use = FALSE;}void CHAR_endCharOneArray( int index ){    Char*   ch = NULL;	if( !CHAR_CHECKINDEX( index) ) return;	ch = CHAR_getCharPointer(index);    if( ch == NULL ){		print( "CHAR_endCharOneArray err ch == NULL :%d\n", index);		return;	}    CHAR_endCharData( ch );}static char CHAR_dataString[STRINGBUFSIZ*16*2];BOOL CHAR_checksetdata( void ){    int     i;    char*   strings[CHAR_DATAINTNUM + CHAR_DATACHARNUM];    int     stringnum=0;    for(i = 0; i < CHAR_DATAINTNUM ; i ++ ){        if( CHAR_setintdata[i][0] != '#' )            strings[stringnum++] = CHAR_setintdata[i];    }    for( i = 0 ; i < CHAR_DATACHARNUM ; i ++ ){        if( CHAR_setchardata[i][0] != '#' )            strings[stringnum++] = CHAR_setchardata[i];    }    if( ! checkStringsUnique( strings, stringnum , 1 ) ){        fprint( "set????data is overlapped.\nIt is not allowed\n");        return FALSE;    }    return TRUE;}#define FLGRESERVESTRING   "flg"#define ITEMRESERVESTRING   "item"#define POOLITEMRESERVESTRING   "poolitem"#define SKILLRESERVESTRING  "skill"#define TITLERESERVESTRING  "title"#define ADDRESSBOOKRESERVESTRING  "adr"#define	PETSERVERSTRING		"pet"#define PETITEMRESERVESTRING   "pitem"#define	PETSKILLSERVERSTRING	"psk"#define	POOLPETSERVERSTRING		"poolpet"#define ITEMPOOLRESERVESTRING   "itempool"#define	DATAENDCHECKPOINT		"DATAEND"#ifdef _CHAR_POOLITEM#define DEPOTITEMRESERVESTRING   "Depotitem"#endif#ifdef _CHAR_POOLPET#define DEPOTPETRESERVESTRING   "Depotpet"#endifchar* CHAR_makeStringFromCharData( Char* one ){    int     i;	int		petnum;	int     strlength=0;    if (!one) return NULL;	memset( CHAR_dataString, 0, sizeof(CHAR_dataString));    for( i = 0 ; i < CHAR_DATAINTNUM ; i ++ ){        char    linedata[256];        snprintf( linedata , sizeof(linedata),                  "%s=%d" CHAR_DELIMITER,                  CHAR_setintdata[i],                  one->data[i] );        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength,                    linedata );        strlength += strlen( linedata );        if( strlength > sizeof( CHAR_dataString ) ) {			fprint( "err chardata buffer over\n");        	goto RETURN;		}    }    for( i = 0 ; i < CHAR_DATACHARNUM ; i ++ ){        char    linedata[256];        char    escapebuffer[256];        snprintf( linedata , sizeof(linedata),                  "%s=%s" CHAR_DELIMITER,                  CHAR_setchardata[i],                  makeEscapeString( one->string[i].string, escapebuffer,                                    sizeof( escapebuffer) ));        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength,                    linedata );        strlength += strlen( linedata );        if( strlength > sizeof( CHAR_dataString ) ) {			fprint( "err chardata buffer over\n");        	goto RETURN;    	}    }    for( i = 0 ; i < arraysizeof( one->flg ) ; i ++ ){        char    linedata[128];        snprintf( linedata , sizeof(linedata),                  FLGRESERVESTRING "%d=%d" CHAR_DELIMITER,                  i, one->flg[i]);        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength,                    linedata );        strlength += strlen( linedata );        if( strlength > sizeof( CHAR_dataString ) ) {			fprint( "err chardata buffer over\n");        	goto RETURN;    	}    }    for( i = 0 ; i < CHAR_SKILLMAXHAVE ; i ++ ){        char    linedata[128];        char    *skillstring=NULL;        if( one->haveSkill[i].use == TRUE)            skillstring = SKILL_makeStringFromSkillData(                &one->haveSkill[i].skill );        if( skillstring == NULL ) continue;        snprintf( linedata , sizeof( linedata ),                  SKILLRESERVESTRING "%d=%s" CHAR_DELIMITER,                  i,skillstring );        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength,                    linedata );        strlength += strlen( linedata );        if( strlength > sizeof( CHAR_dataString ) ) {			fprint( "err chardata buffer over\n");        	goto RETURN;    	}    }    for( i = 0 ; i < CHAR_MAXITEMHAVE ; i ++ ){        char    linedata[2048];        char    *itemstring=NULL;        if( one->indexOfExistItems[i] != -1 )            itemstring = ITEM_makeStringFromItemIndex(                							one->indexOfExistItems[i], 0);        if( itemstring == NULL )continue;        snprintf( linedata , sizeof( linedata ),                  ITEMRESERVESTRING "%d=%s" CHAR_DELIMITER,                  i, itemstring);        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength,                    linedata );        strlength += strlen( linedata );        if( strlength > sizeof( CHAR_dataString ) ) {			fprint( "err chardata buffer over\n");        	goto RETURN;    	}    }    for( i = 0 ; i < CHAR_MAXPOOLITEMHAVE ; i ++ ){        char    linedata[2048];        char    *itemstring=NULL;        if( one->indexOfExistPoolItems[i] != -1 )            itemstring = ITEM_makeStringFromItemIndex(                							one->indexOfExistPoolItems[i], 0);        if( itemstring == NULL )continue;        snprintf( linedata , sizeof( linedata ),                  POOLITEMRESERVESTRING "%d=%s" CHAR_DELIMITER,                  i, itemstring);        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength,                    linedata );        strlength += strlen( linedata );        if( strlength > sizeof( CHAR_dataString ) ) {			fprint( "err chardata buffer over\n");        	goto RETURN;    	}    }    for( i = 0 ; i < CHAR_TITLEMAXHAVE ; i ++ ){        char    linedata[128];		if( one->indexOfHaveTitle[i]< 0 || one->indexOfHaveTitle[i] >= CHAR_TITLEMAXHAVE ) {			continue;		}        snprintf( linedata , sizeof( linedata ),                  TITLERESERVESTRING "%d=%d" CHAR_DELIMITER,                  i, one->indexOfHaveTitle[i] );        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength,                    linedata );        strlength += strlen( linedata );        if( strlength > sizeof( CHAR_dataString ) ) {			fprint( "err chardata buffer over\n");        	goto RETURN;    	}    }    for( i=0 ; i < ADDRESSBOOK_MAX ; i++ ){        char    linedata[512];		char	*p;		p = ADDRESSBOOK_makeAddressbookString(&one->addressBook[i]);		if( strlen( p) == 0 ) {			continue;		}        snprintf( linedata ,sizeof(linedata),                  ADDRESSBOOKRESERVESTRING "%d=%s" CHAR_DELIMITER,                  i,p            );        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength,                    linedata );        strlength += strlen( linedata );        if( strlength > sizeof( CHAR_dataString ) ) {			fprint( "err chardata buffer over\n");        	goto RETURN;    	}    }    for( petnum = 0; petnum < CHAR_MAXPETHAVE; petnum ++ ) {		int	petindex;		char	linedata[4096*2];		char	*petstring;		petindex = one->unionTable.indexOfPet[petnum];	    if( !CHAR_CHECKINDEX(petindex))continue;		petstring = CHAR_makePetStringFromPetIndex( petindex);		if( petstring == NULL ) continue;        snprintf( linedata , sizeof(linedata),                  PETSERVERSTRING "%d=%s" CHAR_DELIMITER,petnum,petstring );        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength,                    linedata );        strlength += strlen( linedata );        if( strlength > sizeof( CHAR_dataString ) ) {			fprint( "err chardata buffer over\n");        	goto RETURN;		}	}    for( petnum = 0; petnum < CHAR_MAXPOOLPETHAVE; petnum ++ ) {		int	petindex;		char	linedata[4096*2];		char	*petstring;		petindex = one->indexOfPoolPet[petnum];	    if( !CHAR_CHECKINDEX(petindex))continue;		petstring = CHAR_makePetStringFromPetIndex( petindex);		if( petstring == NULL ) continue;		//andy_log        if( strstr( petstring, "name:") == NULL ||			strstr( petstring, "ownt:") == NULL ) {			LodBadPetString( "petstring", "poolpet string buffer err:", petnum);			fprint( "ANDY err poolpet string buffer err:\n%s\n", petstring);        	goto RETURN;		}        snprintf( linedata , sizeof(linedata),                  POOLPETSERVERSTRING "%d=%s" CHAR_DELIMITER,petnum,petstring );        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength,                    linedata );        strlength += strlen( linedata );        if( strlength > sizeof( CHAR_dataString ) ) {			fprint( "err chardata buffer over\n");        	goto RETURN;		}	}#ifdef _CHAR_FIXDATADEF	{		char linedata[1024];		memset( linedata, 0, sizeof(linedata));        snprintf( linedata , sizeof(linedata),                  DATAENDCHECKPOINT "=%d" CHAR_DELIMITER, (int)time(NULL)/1000);        strcpysafe( &CHAR_dataString[strlength],                    sizeof( CHAR_dataString ) - strlength, linedata );		if( strlength > sizeof( CHAR_dataString ) ) {			LodBadPetString( "DATAENDCHECKPOINT", "err chardata buffer over", -1);			fprint( "err chardata buffer over:DATAENDCHECKPOINT !\n");        	goto MAKESTRINGERR;		}	}#endifRETURN:	if( strstr( CHAR_dataString, DATAENDCHECKPOINT) == NULL ){		LodBadPetString( CHAR_dataString, "err mk dataString no end", -1);	}    return CHAR_dataString;MAKESTRINGERR:	return NULL;}char* CHAR_makeStringFromCharIndex( int index ){    if( 0 <= index && index <= CHAR_charanum        /*    index OK*/        && CHAR_chara[index].use == TRUE )        /* OK */;    else        return NULL;    return CHAR_makeStringFromCharData(&CHAR_chara[index]);}BOOL CHAR_makeCh

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产最新精品免费| 99国产精品一区| 日韩av一区二| 天天色综合天天| 亚洲与欧洲av电影| 亚洲另类中文字| 亚洲激情图片小说视频| 亚洲美女屁股眼交3| 自拍av一区二区三区| 国产精品不卡视频| 国产精品伦理一区二区| 国产精品久久久久影院老司 | 久久九九久精品国产免费直播| 欧美成人欧美edvon| 欧美成人精精品一区二区频| 精品久久五月天| 久久久久久9999| 中文字幕精品一区二区精品绿巨人 | 色老汉av一区二区三区| 在线欧美小视频| 欧美绝品在线观看成人午夜影视| 911精品国产一区二区在线| 在线播放欧美女士性生活| 欧美一级久久久| 久久网站热最新地址| 国产清纯白嫩初高生在线观看91| 中文字幕av一区二区三区免费看| 亚洲欧美日韩电影| 午夜精品爽啪视频| 激情综合亚洲精品| 成人av在线网| 欧美日韩一区国产| 亚洲精品在线一区二区| 国产精品日日摸夜夜摸av| 一区二区三区蜜桃网| 首页欧美精品中文字幕| 国产精品一区二区在线播放 | 欧美日韩一级黄| 欧美电影免费观看高清完整版在线| 久久久久久99久久久精品网站| **性色生活片久久毛片| 亚洲成人动漫精品| 国产精品一区久久久久| 欧美影视一区在线| 精品国产区一区| 亚洲激情在线激情| 精品在线视频一区| 一本大道久久a久久综合婷婷| 日韩欧美一级二级| 专区另类欧美日韩| 久久国产视频网| 91尤物视频在线观看| 日韩三级在线免费观看| 亚洲日本中文字幕区| 麻豆91精品91久久久的内涵| 91亚洲精品久久久蜜桃网站 | 免费观看91视频大全| 不卡视频在线看| 日韩一级大片在线| 亚洲视频你懂的| 国内精品免费在线观看| 欧美色大人视频| 日本一区二区三区电影| 琪琪一区二区三区| 在线精品亚洲一区二区不卡| 久久精品人人做人人综合| 亚洲国产毛片aaaaa无费看 | 日韩视频免费观看高清完整版在线观看| 国产精品网曝门| 精品午夜一区二区三区在线观看 | 亚洲一区免费观看| 大桥未久av一区二区三区中文| 7777精品伊人久久久大香线蕉完整版 | 一区二区三区在线播| 国产成人免费在线视频| 日韩视频123| 日韩中文字幕不卡| 在线国产电影不卡| 中文字幕亚洲成人| 国产精品18久久久久久久网站| 欧美日韩激情一区二区| 亚洲色图清纯唯美| 成人精品视频一区二区三区| 精品欧美乱码久久久久久| 五月天久久比比资源色| 色狠狠av一区二区三区| 国产精品传媒视频| 成人综合婷婷国产精品久久| 亚洲精品一区二区三区蜜桃下载 | 777午夜精品免费视频| 亚洲精品国产无天堂网2021| 国产不卡视频在线播放| av资源网一区| 欧美精品一区二| 成人免费在线视频观看| 国产九色sp调教91| 久久先锋影音av鲁色资源网| 日韩av午夜在线观看| 7777精品伊人久久久大香线蕉 | 久久99精品久久久久婷婷| 欧美视频精品在线| 一区二区高清在线| 99精品一区二区| 亚洲欧美韩国综合色| 成人听书哪个软件好| 中文字幕乱码久久午夜不卡| 国产精品自在欧美一区| 国产亚洲成av人在线观看导航 | 日本成人中文字幕在线视频| 91美女视频网站| 一级做a爱片久久| 99久久婷婷国产综合精品| 亚洲欧美日韩国产综合在线| 丁香婷婷深情五月亚洲| 国产精品美女一区二区在线观看| 成人污污视频在线观看| 国产精品美女久久久久av爽李琼| 粗大黑人巨茎大战欧美成人| 国产精品免费丝袜| 91国模大尺度私拍在线视频| 亚洲免费三区一区二区| 欧美日韩亚洲综合一区| 亚洲电影一级片| 欧美电影一区二区| 视频一区在线播放| 91精品黄色片免费大全| 欧美a级理论片| 欧美大尺度电影在线| 国内精品自线一区二区三区视频| 欧美韩国日本一区| www.av亚洲| 午夜精品久久久久久久| 91精品国产综合久久精品app| 久久99精品国产麻豆婷婷| 亚洲精品一区二区三区香蕉| k8久久久一区二区三区 | 亚洲美女淫视频| 欧美一区二区在线免费播放| 蜜乳av一区二区三区| 国产日韩欧美精品在线| 9l国产精品久久久久麻豆| 香蕉av福利精品导航| 日韩一区二区在线播放| 成人一级视频在线观看| 久久综合成人精品亚洲另类欧美| 99久久精品情趣| 欧美成人综合网站| 99久久免费精品高清特色大片| 日韩精品一二区| 久久一日本道色综合| 91国产免费看| 捆绑紧缚一区二区三区视频 | 石原莉奈一区二区三区在线观看| 欧美一区二区三区思思人| 国产91精品精华液一区二区三区| 国产精品全国免费观看高清| 欧美精品在线观看播放| 成人午夜看片网址| 日韩精品电影在线| 中文字幕日韩精品一区| 欧美一级在线免费| 色偷偷久久人人79超碰人人澡 | 欧美网站大全在线观看| 国产麻豆视频一区二区| 天天爽夜夜爽夜夜爽精品视频| 亚洲国产成人私人影院tom| 欧美一区二区不卡视频| 一本色道久久综合亚洲aⅴ蜜桃| 九九九精品视频| 亚洲五月六月丁香激情| 国产片一区二区| 精品剧情v国产在线观看在线| 色婷婷激情久久| 国产又黄又大久久| 午夜精品久久久| 中文字幕高清一区| 日韩精品一区二区三区在线播放 | 久久综合狠狠综合久久综合88| 国产又黄又大久久| 亚洲成a人片在线观看中文| 国产欧美一区二区三区在线看蜜臀| 欧美性色欧美a在线播放| 国产精品一区在线| 蜜桃免费网站一区二区三区 | 蜜臀av性久久久久蜜臀av麻豆 | 激情av综合网| 午夜精品久久久久久久蜜桃app| 亚洲伦理在线精品| 久久嫩草精品久久久精品一| 91精品一区二区三区在线观看| 91麻豆高清视频| 99久久99久久免费精品蜜臀| 美女任你摸久久| 午夜精品爽啪视频| 亚洲一二三区视频在线观看| 亚洲视频 欧洲视频| 久久女同精品一区二区| 26uuu精品一区二区在线观看| 欧美亚洲禁片免费| 色噜噜狠狠色综合欧洲selulu|