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

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

?? npccreate.c

?? 最新主流石器時(shí)代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
                print( "Find error at %s in line %d. Ignore\n",
                       filename , linenum);
                break;
            }
            ret = getStringFromIndexWithDelim( line, "=", 2, secondToken,
                                               sizeof( secondToken ) );
            if( ret == FALSE ){
                print( "Find error at %s in line %d. Ignore\n",
                       filename , linenum);
                break;
            }

            if( strcasecmp("floorid",firstToken) == 0 ){
                cr.intdata[NPC_CREATEFLOORID] = atoi(secondToken);

            }else if( strcasecmp("borncenter", firstToken) == 0 ){
                getFourIntsFromString(secondToken,&center[0].x,
                            &center[0].y,&wh[0].w,&wh[0].h );
                defborn = TRUE;
            }else if( strcasecmp("borncorner", firstToken) == 0 ){
                getFourIntsFromString(secondToken,&lu[0].x,&lu[0].y,
                            &rd[0].x,&rd[0].y );
                defborn = TRUE;
                deflurd[0]=TRUE;

            }else if( strcasecmp("movecenter", firstToken) == 0 ){
                getFourIntsFromString(secondToken,&center[1].x,
                            &center[1].y,&wh[1].w,&wh[1].h );
                defmove = TRUE;
            }else if( strcasecmp("movecorner", firstToken) == 0 ){
                getFourIntsFromString(secondToken,&lu[1].x,&lu[1].y,
                            &rd[1].x,&rd[1].y );
                defmove = TRUE;
                deflurd[1]=TRUE;

            }else if( strcasecmp("dir",firstToken) == 0 ){
                cr.intdata[NPC_CREATEDIR] = atoi( secondToken );

            }else if( strcasecmp("graphicname",firstToken) == 0 ){
                cr.intdata[NPC_CREATEBASEIMAGENUMBER]
                    = CHAR_seekGraphicNumberFromString(secondToken);

            }else if( strcasecmp("name",firstToken) == 0 ){
                strcpysafe( cr.chardata[NPC_CREATENAME].string,
                            sizeof(cr.chardata[NPC_CREATENAME].string),
                            secondToken );

            }else if( strcasecmp("time",firstToken) == 0 ){
                cr.intdata[NPC_CREATETIME] = atoi( secondToken );

            }else if( strcasecmp("date",firstToken) == 0 ){
                cr.intdata[NPC_CREATEDATE] = atoi( secondToken );

            }else if( strcasecmp("createnum",firstToken) == 0 ){
                cr.intdata[NPC_CREATEBORNNUM] = atoi( secondToken );

            }else if( strcasecmp( "boundary", firstToken) == 0 ){
                cr.intdata[NPC_CREATEBOUNDARY] = atoi( secondToken );

            }else if( strcasecmp( "ignoreinvincible", firstToken) == 0 ){
                cr.intdata[NPC_CREATEIGNOREINVINCIBLE] = atoi( secondToken );

		//jeffrey 1231
#ifdef _ADD_ACTION
			}else if( strcasecmp( "action", firstToken) == 0 ){
				cr.intdata[NPC_CREATEACTION] = atoi( secondToken );
#endif		
	    // Robin 0731
            }else if( strcasecmp( "family", firstToken) == 0 ){
                cr.intdata[NPC_CREATEFAMILY] = atoi( secondToken );

            }else if( strcasecmp("enemy", firstToken) == 0 ){
                /*  婁醒毛  六月方丹卞允月  */
                int     templateindex;
                char    enemyname[64];

                /*  雁釵瞬民尼永弁  */
                if( enemyreadindex <= arraysizeof(cr.templateindex) )
                    /* OK */
                    ;
                else
                    break;

                /*  secondToken 毛  儂  卞坌荸允月    */
                getStringFromIndexWithDelim(secondToken,"|",1,enemyname,
                                            sizeof(enemyname) );
                templateindex= NPC_templateGetTemplateIndex(enemyname);
                if( templateindex != -1 ){
                    cr.templateindex[enemyreadindex] = templateindex;
                    {
                        /*  婁醒毛質(zhì)  允月  */
                        char    tmp[2];
                        int     ret;
                        ret = getStringFromIndexWithDelim( secondToken,
                                                           "|",2,tmp,
                                                           sizeof(tmp) );
                        if( ret == FALSE )
                            cr.arg[enemyreadindex].string[0] = '\0';
                        else
                            strcpysafe( cr.arg[enemyreadindex].string,
                                        sizeof( cr.arg[enemyreadindex].
                                                string ),
                                        secondToken+strlen(enemyname)+1 );
                    }
                    enemyreadindex++;
                }else
                    fprint( "沒(méi)有這種模塊:\n[%s(%d)%s] enemy:%s\n",
                            filename ,linenum,secondToken, enemyname);
            }else{
                fprint( "沒(méi)有這種登陸 %s %s:%d\n",firstToken,filename,
                        linenum );
            }
        }
        }
    }

    fclose(f);
    return TRUE;

FCLOSERETURNFALSE:
    fclose(f);
    return FALSE;
}

BOOL NPC_readNPCCreateFiles( char* topdirectory ,int createsize)
{
    STRING64    *filenames;
    int         filenum;
    int         i;
    filenames = (STRING64 *)allocateMemory( sizeof( STRING64 ) *
                                              (int)getFilesearchnum( ) );
	if( filenames == NULL ){
	    print( "讀取NPC創(chuàng)建文件... 內(nèi)存錯(cuò)誤\n" );
		return FALSE;
	}
    filenum = rgetFileName( topdirectory ,filenames ,getFilesearchnum( ) );
    if( filenum == -1 ){
	    freeMemory( filenames );
    	return FALSE;
    }
	if( filenum >= getFilesearchnum( ) ){
		print( "文件搜索數(shù)目失敗 %d\n", getFilesearchnum( ) );
		while( 1 );
	}
    if( !NPC_initCreateArray( createsize ) ){
        fprint( "開(kāi)啟創(chuàng)建數(shù)組錯(cuò)誤\n" );
	    freeMemory( filenames );
        return FALSE;
    }
    print( "讀取NPC創(chuàng)建文件..." );
    for( i = 0 ; i < filenum ; i ++ )
        if( NPC_IsNPCCreateFile( filenames[i].string ))
            if( NPC_readCreateFile( filenames[i].string ) == -1 )
                break;
    print( "正確創(chuàng)建NPC %d ..." , NPC_create_readindex );
     NPC_createnum=NPC_create_readindex;
#ifdef DEBUG
	/* 99/4/8 By Kawata csv溥摯卞仄化支月 */
	print( "Npc_Create's\n");
    for( i = 0 ; i < NPC_createnum ; i ++ ){
        int     j;
        /*print( "NPC_create[%d]:\n", i);*/
        print( "%d,", i);
        for( j = 0 ; j < NPC_CREATECHARNUM ; j ++ )
            print("%s," , NPC_create[i].chardata[j].string );
        /*print( "\tIntdata\t" );*/
        for( j = 0 ; j < NPC_CREATEINTNUM ; j ++ )
            print("%d," , NPC_create[i].intdata[j] );
        /***print("\n" );
        print( "\tChardata\t" );***/
        for( j = 0 ; j < NPC_create[i].intdata[NPC_CREATEENEMYNUM]; j ++ )
            print("%d" , NPC_create[i].templateindex[j] );
        /*print("\n" );*/
        print("\n" );
    }
#endif /*DEBUG*/

    freeMemory( filenames );
    return TRUE;
}



/*------------------------------------------------------------
 * createindex 井日 boundary 互澀爛今木化中月井升丹井毛葦月
 * 婁醒
 *  createindex         int         create及奶件犯永弁旦
 * 忒曰襖
 *  澀爛今木化中月          TRUE(1)
 *  澀爛今木化中卅中        FALSE(0)
 ------------------------------------------------------------*/
BOOL NPC_isBoundarySet( int createindex )
{
    if( NPC_CHECKCREATEINDEX(createindex) == FALSE )return FALSE;
    return NPC_create[createindex].intdata[NPC_CREATEBOUNDARY];
}
/*------------------------------------------------------------
 * createindex 井日  仃月  區(qū)及RECT 毛菲戶月[
 * 婁醒
 *  createindex         int           件皿伊□玄及奶件犯永弁旦
 *  r                   RECT*       襖毛熬仃午月RECT 及禾奶件正
 * 忒曰襖
 *  岳      TRUE(1)
 *  撩      FALSE(0)
 ------------------------------------------------------------*/
BOOL NPC_createGetRECT( int createindex,RECT*   r )
{
    if( NPC_CHECKCREATEINDEX(createindex) == FALSE )return FALSE;

    r->x = NPC_create[createindex].intdata[NPC_CREATEMOVELEFTUPX];
    r->y = NPC_create[createindex].intdata[NPC_CREATEMOVELEFTUPY];
    r->width
        = NPC_create[createindex].intdata[NPC_CREATEMOVERIGHTDOWNX]
        - NPC_create[createindex].intdata[NPC_CREATEMOVELEFTUPX];
    r->height
        = NPC_create[createindex].intdata[NPC_CREATEMOVERIGHTDOWNY]
        - NPC_create[createindex].intdata[NPC_CREATEMOVELEFTUPY];
    return TRUE;
}



/*------------------------------------------------------------
 * 凜棉井日綜勻化手中中井升丹井民尼永弁允月[
 * 婁醒
 *  cindex      int     奶件犯永弁旦
 * 忒曰襖
 *  BOOL    綜勻化中中樺寧  TRUE(1)
 *  BOOL    綜勻化中仃卅中樺寧  FALSE(0)
 ------------------------------------------------------------*/
BOOL NPC_createCheckGenerateFromTime( int cindex )
{
    struct timeval  old;
    if( !NPC_CHECKCREATEINDEX(cindex) )
        return FALSE;

    if( NPC_create[cindex].workdata[NPC_CREATEWORKNEVERMAKE] )
        return FALSE;

    if( NPC_create[cindex].intdata[NPC_CREATEBORNNUM]
        <=  NPC_create[cindex].workdata[NPC_CREATEWORKENEMYNUM] )
        return FALSE;

    if( NPC_create[cindex].intdata[NPC_CREATETIME] < 0 )return FALSE;
    old.tv_sec = NPC_create[cindex].workdata[NPC_CREATEWORKMAKESTARTSEC];
    old.tv_usec= NPC_create[cindex].workdata[NPC_CREATEWORKMAKESTARTUSEC];

    if( time_diff_us( NowTime , old ) <=
        NPC_create[cindex].intdata[NPC_CREATETIME]*1000 )
        return FALSE;

    return TRUE;
}




/*------------------------------------------------------------
 * 綜月凜及凜棉及澀爛毛賡渝祭允月[
 * 婁醒
 *  tindex      int     奶件犯永弁旦
 * 忒曰襖
 *  卅仄
 ------------------------------------------------------------*/
void NPC_createInitTime( int index )
{
    /*  綜月儀卞卅勻兇井日襖毛澀爛  */
    NPC_create[index].workdata[NPC_CREATEWORKMAKESTARTSEC] =
        NowTime.tv_sec;
    NPC_create[index].workdata[NPC_CREATEWORKMAKESTARTUSEC] =
        NowTime.tv_usec;
}
/*------------------------------------------------------------
 * 襯毛綜勻兇  卞市它件玄醒毛  支允楮醒
 * 婁醒
 *  index       int         奶件犯永弁旦
 * 忒曰襖
 *  卅仄
 ------------------------------------------------------------*/
void NPC_createIncreaseEnemynum( int index )
{
    if( !NPC_CHECKCREATEINDEX(index) )return;
    NPC_create[index].workdata[NPC_CREATEWORKENEMYNUM] ++;
}
/*------------------------------------------------------------
 * 襯互韶氏匹市它件玄醒毛蛹日允楮醒
 * 婁醒
 *  index       int         奶件犯永弁旦
 * 忒曰襖
 *  卅仄
 ------------------------------------------------------------*/
void NPC_createDecreaseEnemynum( int index )
{
    if( !NPC_CHECKCREATEINDEX(index) )return;
    NPC_create[index].workdata[NPC_CREATEWORKENEMYNUM] --;
}
/*------------------------------------------------------------
 * 市它件玄醒互漆    井譬屯月楮醒
 * 婁醒
 *  index       int         奶件犯永弁旦
 * 忒曰襖
 *  TRUE:MAX  FALSE:啜丹
 ------------------------------------------------------------*/
BOOL NPC_createCheckMaxEnemynum( int index )
{

    if( NPC_create[index].intdata[NPC_CREATEBORNNUM]
        <=  NPC_create[index].workdata[NPC_CREATEWORKENEMYNUM] )
        return TRUE;
	else
		return FALSE;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色综合网站| 成人欧美一区二区三区1314| 处破女av一区二区| 亚洲午夜精品一区二区三区他趣| 久久久一区二区| 这里只有精品视频在线观看| 91在线精品一区二区| 国产一区二区调教| 视频一区二区欧美| 一区二区成人在线视频| 国产日韩欧美a| 欧美成人vr18sexvr| 欧美日韩视频专区在线播放| 99久久精品免费| 国产成人在线色| 狠狠色伊人亚洲综合成人| 亚洲成人在线观看视频| 亚洲欧美福利一区二区| 欧美国产一区在线| 精品国产区一区| 欧美一区二区三区在线观看视频| 欧美中文字幕亚洲一区二区va在线 | 亚洲国产欧美在线| 最新欧美精品一区二区三区| 国产欧美一区视频| 2023国产精华国产精品| 欧美一级理论片| 3d动漫精品啪啪一区二区竹菊 | 国产91精品一区二区| 久久99精品久久久久久| 另类小说综合欧美亚洲| 麻豆一区二区三区| 精品一区二区日韩| 久久www免费人成看片高清| 男女性色大片免费观看一区二区 | 日韩综合一区二区| 亚洲国产欧美日韩另类综合| 一区二区三区不卡在线观看 | 国产精品午夜电影| 国产精品视频线看| 一区精品在线播放| 一区二区三区欧美| 亚洲第一福利视频在线| 日韩精品每日更新| 麻豆成人91精品二区三区| 久久不见久久见免费视频1| 激情欧美一区二区三区在线观看| 久久精品免费观看| 福利一区二区在线| 91欧美激情一区二区三区成人| 一本大道av伊人久久综合| 色伊人久久综合中文字幕| 欧美日韩黄色一区二区| 91精品视频网| 久久欧美一区二区| 亚洲素人一区二区| 亚洲一级片在线观看| 日一区二区三区| 国产乱码字幕精品高清av | 国产一区二区三区国产| 国产91色综合久久免费分享| 色吊一区二区三区| 91精品国产91热久久久做人人| 精品国产成人在线影院| 国产欧美一区二区精品婷婷| 亚洲欧美另类在线| 日韩有码一区二区三区| 国产精品一区久久久久| 欧洲av一区二区嗯嗯嗯啊| 日韩欧美另类在线| 中文字幕中文字幕中文字幕亚洲无线| 亚洲一区视频在线| 国产一区二区三区精品欧美日韩一区二区三区 | 久久成人免费电影| 99热99精品| 欧美一区二区视频在线观看| 国产调教视频一区| 午夜精品久久久久久不卡8050| 国产一区二区三区久久久| 在线看一区二区| 久久色在线视频| 亚洲一区二区三区四区的| 久久福利资源站| 91黄视频在线观看| 久久综合色播五月| 亚洲一区二区三区视频在线| 国产精品18久久久久久久网站| 色诱亚洲精品久久久久久| 精品久久99ma| 亚洲最新视频在线观看| 国产一区二区毛片| 7777精品伊人久久久大香线蕉| 欧美极品少妇xxxxⅹ高跟鞋| 香蕉成人伊视频在线观看| 波多野结衣中文字幕一区 | 欧美日韩精品电影| 国产精品视频线看| 久久精品免费观看| 欧美精品丝袜中出| 中文字幕综合网| 韩国女主播一区| 制服丝袜一区二区三区| 一区二区在线免费| 丁香六月综合激情| 欧美xxxxx裸体时装秀| 亚洲高清免费在线| 99re热视频精品| 国产欧美日韩视频在线观看| 男人的天堂亚洲一区| 欧美视频一二三区| 亚洲欧美日韩精品久久久久| 国产在线国偷精品免费看| 91精品国产乱码久久蜜臀| 亚洲国产aⅴ天堂久久| 91欧美一区二区| 综合久久国产九一剧情麻豆| 国产白丝精品91爽爽久久| 日韩精品一区国产麻豆| 日韩va欧美va亚洲va久久| 欧美色综合久久| 伊人一区二区三区| 91一区二区三区在线观看| 中文在线免费一区三区高中清不卡| 久久激情综合网| 欧美xxxxxxxxx| 久久福利资源站| 精品国产一二三| 麻豆91免费看| 欧美精品一区二区在线观看| 人禽交欧美网站| 91精品国产综合久久蜜臀| 亚洲成人免费av| 欧美日韩国产一级| 性感美女极品91精品| 欧美日韩国产小视频| 午夜国产精品一区| 欧美日本韩国一区二区三区视频| 亚洲成人精品一区二区| 欧美视频一区在线| 亚洲成av人影院| 欧美欧美欧美欧美首页| 日韩国产欧美在线视频| 欧美一区二区视频在线观看| 老司机免费视频一区二区| 2023国产一二三区日本精品2022| 国内不卡的二区三区中文字幕 | 欧美高清激情brazzers| 日韩精品亚洲专区| 91精品综合久久久久久| 蜜桃视频在线观看一区| 久久只精品国产| 99久久精品国产毛片| 亚洲综合久久久| 91精品国产91久久综合桃花| 久久国产精品99精品国产| 国产人伦精品一区二区| 成人不卡免费av| 亚洲精品国产无套在线观| 欧美精品第1页| 国产一区欧美日韩| 国产精品乱码一区二区三区软件| 91老师国产黑色丝袜在线| 亚洲国产日韩综合久久精品| 日韩一区二区三区免费看| 国产曰批免费观看久久久| 中文字幕亚洲不卡| 欧美日韩亚洲丝袜制服| 精品一区二区三区的国产在线播放 | 精品区一区二区| www.亚洲色图.com| 午夜精品爽啪视频| 欧美成人免费网站| av亚洲精华国产精华精| 亚洲a一区二区| 国产日产欧美一区二区视频| 色综合欧美在线视频区| 亚洲欧美一区二区久久| 欧美午夜精品一区二区蜜桃| 日本欧美肥老太交大片| 国产人久久人人人人爽| 欧洲一区在线电影| 国产在线精品免费| 一区二区三区日韩精品视频| 精品88久久久久88久久久 | 91天堂素人约啪| 久久精工是国产品牌吗| 亚洲综合久久久久| 欧美岛国在线观看| 在线日韩av片| 国产一区二区成人久久免费影院| 亚洲欧美日韩电影| 久久久久久一二三区| 欧美性极品少妇| 国产一区视频网站| 欧美亚洲综合色| 精品亚洲欧美一区| 亚洲欧美二区三区| 国产日韩欧美在线一区| 91麻豆精品91久久久久同性| 色婷婷av久久久久久久|