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

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

?? npc_simpleshop.c

?? 最新主流石器時(shí)代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 2 頁
字號:
    int sellwindowindex, itemtableindex,itemind, id;
    int price, tmpgold;
    char buf[64];
    if(!CHAR_CHECKINDEX(shopindex)||!CHAR_CHECKINDEX(playerindex))
        return -1;
    if( !getStringFromIndexWithDelim( msg,"|",4,buf,sizeof(buf) )){
        return -1;
    }
    sellwindowindex = atoi(buf);
    itemtableindex = sellwindowindex + CHAR_STARTITEMARRAY;
    itemind = CHAR_getItemIndex(playerindex,itemtableindex );
    if( ! ITEM_CHECKINDEX(itemind) ) return -1;

    price = ITEM_getInt( itemind, ITEM_COST );

    if( price <= 0 || price > NPC_SIMPLESHOPMAXBUYPRICE ){
        return -2;
    }
    price *= NPC_Util_sellRate(playerindex);

	CHAR_AddGold( playerindex, price );

	CHAR_sendStatusString( playerindex , "P");

    id = ITEM_getInt(itemind,ITEM_ID);
	{
		LogItem(
			CHAR_getChar( playerindex, CHAR_NAME ), /* 平乓仿   */
			CHAR_getChar( playerindex, CHAR_CDKEY ),
#ifdef _add_item_log_name  // WON ADD 在item的log中增加item名稱
			itemind,
#else
       		ITEM_getInt( itemind, ITEM_ID ),  /* 失奶  丞  寞 */
#endif
			"Sell",
			CHAR_getInt( playerindex,CHAR_FLOOR),
			CHAR_getInt( playerindex,CHAR_X ),
 	      	CHAR_getInt( playerindex,CHAR_Y ),
	        ITEM_getChar( itemind, ITEM_UNIQUECODE),
			ITEM_getChar( itemind, ITEM_NAME),
			ITEM_getInt( itemind, ITEM_ID)
		);
	}

    if( ! NPC_Util_moveItemToChar( shopindex,itemind,TRUE ) ){
        return -1;
    }
    NPC_Util_RemoveItemByID(shopindex,id,FALSE);
    return 1;
}

static BOOL NPC_LimitBuyInShopProcessSellMsg(char *msg,
                                 int shopindex, int playerindex )
{
    int sellwindowindex, itemtableindex,itemind, id,i,buyokflag, setid;
    int price, tmpgold;
    char buf[BUFSIZ];
    char npcarg[NPC_UTIL_GETARGSTR_BUFSIZE], token[NPC_UTIL_GETARGSTR_LINEMAX];

    if(!CHAR_CHECKINDEX(shopindex)||!CHAR_CHECKINDEX(playerindex))
        return -1;
    if( !getStringFromIndexWithDelim( msg,"|",4,buf,sizeof(buf) )){
        return -1;
    }
    sellwindowindex = atoi(buf);
    itemtableindex = sellwindowindex + CHAR_STARTITEMARRAY;
    itemind = CHAR_getItemIndex(playerindex,itemtableindex );
    if( ! ITEM_CHECKINDEX(itemind) ) return -1;
    id = ITEM_getInt(itemind,ITEM_ID);
    NPC_Util_GetArgStr( shopindex, npcarg, sizeof(npcarg));
    getStringFromIndexWithDelim( npcarg, "|", BUYINITEMLISTTOKEN, token, sizeof( token) );
    buyokflag = FALSE;
    for( i=1;getStringFromIndexWithDelim(token,",",i,buf,sizeof(buf));  i++){

	  char *tok1 = NULL;
	  char *tok2 = NULL;
	  int no1=0, no2=0;
	  tok1 = strtok( buf, "-" );
	  tok2 = strtok( NULL, "-" );

	  setid = atoi(buf);

	  if( tok1 == NULL || tok2 == NULL ){
		if( setid == 0 ) return -2;
		if( setid == id ) buyokflag = TRUE;
	  } else {
		no1 = atoi( tok1 );
		no2 = atoi( tok2 );
		if( no1 <= id && id <= no2 ){
		  buyokflag = TRUE;
		}
	  }
    }
    if( buyokflag == FALSE ) return -2;
    price = ITEM_getInt( itemind, ITEM_COST );
    price *= NPC_Util_sellRate(playerindex);

	CHAR_AddGold( playerindex, price );

    CHAR_sendStatusString( playerindex , "P");
    if( ! NPC_Util_moveItemToChar( shopindex,itemind,TRUE ) ){
        return -1;
    }

	{
		LogItem(
			CHAR_getChar( playerindex, CHAR_NAME ), /* 平乓仿   */
			CHAR_getChar( playerindex, CHAR_CDKEY ),
#ifdef _add_item_log_name  // WON ADD 在item的log中增加item名稱
			itemind,
#else
       		ITEM_getInt( itemind, ITEM_ID ),  /* 失奶  丞  寞 */
#endif
			"Sell",
			CHAR_getInt( playerindex,CHAR_FLOOR),
			CHAR_getInt( playerindex,CHAR_X ),
 	      	CHAR_getInt( playerindex,CHAR_Y ),
	        ITEM_getChar( itemind, ITEM_UNIQUECODE),
			ITEM_getChar( itemind, ITEM_NAME),
			ITEM_getInt( itemind, ITEM_ID)
		);
	}

    /*   中潸勻兇失奶  丞毛壅蛔 */
    NPC_Util_RemoveItemByID(shopindex,id,FALSE);

    return 1;

}

/*
 * 饕卞丐月失奶  丞及醒毛  月
 */
static int NPC_SimpleShopGetItemNum( int meindex )
{
    int counter, i;

    counter = 0;
    for( i=CHAR_STARTITEMARRAY;i<CHAR_MAXITEMHAVE;i++ ){
        /* 失奶  丞  毛蟈  扔□民仄化手勻化月支勾毛市它件玄允月 */
        if( ITEM_CHECKINDEX( CHAR_getItemIndex(meindex,i) ) ){
            counter++;
        }
    }
    return counter;

}

/*
 * 丐月平乓仿奶件犯弁旦及平乓仿卞}云心六window毛釩仁兇戶及
 * 樹  毛芨尹月[
 * int meindex:憤坌及(饕及)奶件犯弁旦
 * int cliindex:菸及奶件犯弁旦
 */
static void NPC_SimpleShopOpenShopWindow( int meindex, int cliindex,
                                          char *npcarg )
{
    int fd;
    int objindex;

    char tmp[1024*12], itemstr[1024 * 8];

    char maincaption[SIMPLESHOPTALKBUFSIZE];
    char buycaption[SIMPLESHOPTALKBUFSIZE];
    char okbuycaption[SIMPLESHOPTALKBUFSIZE];
    char sellcaption[SIMPLESHOPTALKBUFSIZE];
    char oksellcaption[SIMPLESHOPTALKBUFSIZE];
    char poorcaption[SIMPLESHOPTALKBUFSIZE];
    char itemfullcaption[SIMPLESHOPTALKBUFSIZE];

    getStringFromIndexWithDelim( npcarg,"|",MAINTOKEN,
                                 maincaption,sizeof(maincaption) );
    getStringFromIndexWithDelim( npcarg,"|",BUYTOKEN,
                                 buycaption,sizeof(buycaption) );
    getStringFromIndexWithDelim( npcarg,"|",OKBUYTOKEN,
                                 okbuycaption,sizeof(okbuycaption) );
    getStringFromIndexWithDelim( npcarg,"|",SELLTOKEN,
                                 sellcaption,sizeof(sellcaption) );
    getStringFromIndexWithDelim( npcarg,"|",OKSELLTOKEN,
                                 oksellcaption,sizeof(oksellcaption) );
    getStringFromIndexWithDelim( npcarg,"|",POORTOKEN,
                                 poorcaption,sizeof(poorcaption));
    getStringFromIndexWithDelim( npcarg,"|",ITEMFULLTOKEN,
                                 itemfullcaption,sizeof(itemfullcaption));

    tmp[0] = 0;
    NPC_SimpleShopGetEscapedItemString( meindex, cliindex, itemstr );
    objindex = CHAR_getWorkInt( meindex,CHAR_WORKOBJINDEX );
    snprintf( tmp,sizeof(tmp),"S|%d|%s|%s|%s|"
              "%s|%s|%s|%s|"
              "-1|%d%s", objindex,
              maincaption,
              buycaption,
              okbuycaption,
              sellcaption,
              oksellcaption,
              poorcaption,
              itemfullcaption,
              NPC_SimpleShopGetItemNum( meindex ),
              itemstr );
    fd = getfdFromCharaIndex( cliindex );

    if( fd == -1 )return;

    lssproto_TK_send(fd, -1 ,tmp, CHAR_COLORWHITE );


}


/*
 * TK匹霜月兇戶及  儂  毛勾仁月[
 */
static void NPC_SimpleShopGetEscapedItemString( int shopindex,
                                                int cliindex, char *str )
{
    int i, cost, cl, imageno, itemindex;
    char *itemname;
    char tmp[1024];
    char escapedname[256];
//    char *oli; /* oli means onelineinfo */

    str[0] = '\0';

    /* 引內(nèi)饕及  切  及伉旦玄 */
    for( i=CHAR_STARTITEMARRAY;i<CHAR_MAXITEMHAVE;i++ ){
        itemindex=CHAR_getItemIndex( shopindex , i );
        if( ITEM_CHECKINDEX(itemindex) ){
            itemname = ITEM_getChar( itemindex, ITEM_SECRETNAME );
            makeEscapeString( itemname, escapedname, sizeof(escapedname));
            cost = ITEM_getInt( itemindex, ITEM_COST );
            /* 嗯喊及譬幫[MERCHANTLEVEL卞方勻化  歹月[ */
            cost *= NPC_Util_buyRate(cliindex);
            cl = ITEM_getInt( itemindex, ITEM_LEVEL );
            imageno = ITEM_getInt( itemindex, ITEM_BASEIMAGENUMBER );
            //oli =  ITEM_getMemo( itemindex );
#if 0
            snprintf( tmp, sizeof(tmp), "|%s|%d|%d|%d|%s",
                      escapedname, cost, cl, imageno, oli );
#endif
            snprintf( tmp, sizeof(tmp), "|%s|%d|%d|%d|",
                      escapedname, cost, cl, imageno );
            strcat( str, tmp );
        }
    }

    /* 戚卞}菸及  切  及伉旦玄 */
    for( i=CHAR_STARTITEMARRAY;i<CHAR_MAXITEMHAVE;i++ ){
        itemindex=CHAR_getItemIndex( cliindex , i );
        if( ITEM_CHECKINDEX(itemindex) ){
            cost = ITEM_getInt( itemindex, ITEM_COST );
            /* 嗯喊及譬幫[MERCHANTLEVEL卞方勻化  歹月[ */
            cost *=NPC_Util_sellRate(cliindex);
            snprintf( tmp, sizeof(tmp), "|%d", cost );
            strcat( str, tmp );
        }else{
            /* 失奶  丞毛  勻化卅中樺赭卞反0毛中木月     */
            strcat( str, "|0" );
        }
    }

}

/*
 * 饕互  蜃卞  勻化中月失奶  丞毛  兇六月[賡渝祭凜午潸曰婁五及  
 * 卞裟少[
 */
static BOOL NPC_SimpleShopFillItem( int meindex, char *npcarg )
{
    char token[256], buf[16];
    int i,itemid, num;

    getStringFromIndexWithDelim( npcarg,"|",ITEMLISTTOKEN,token,
                                 sizeof(token) );

    for( i=1; i<=SIMPLESHOP_MAXINFINITITEM;i++ ){
        if( getStringFromIndexWithDelim( token,",",i,buf,sizeof(buf) )){
            itemid = atoi( buf );
            if( itemid == 0 ){
                NPC_Util_ReleaseHaveItemAll(meindex);
                return FALSE;
            }
            num=NPC_Util_countHaveItem(meindex,itemid);
            if( num < 0 ){
                return FALSE;/* 尕懇卅id卅升及fatal err */
            }else if( num == 0 ){ /* 手勻化卅井勻兇日  蝦 */
                NPC_Util_createItemToChar( meindex,itemid, FALSE);

            }else if( num>=2 ){ /* 手切允亢及樺寧綽輪 */
                NPC_Util_RemoveItemByID(meindex,itemid,FALSE);
            }
        }else{
            break;
        }
    }

    /* 域莢仄五屯勾今木兇橇謫卞允月 */
    //NPC_SimpleShopSetLeakLevel( meindex );

    return TRUE;
}


/*
 * 賡渝祭允月[
 */
BOOL NPC_SimpleShopInit( int meindex )
{
    unsigned int mlevel;
    char npcarg[NPC_UTIL_GETARGSTR_BUFSIZE];


    /* 域莢撩  仄兇丐午反2蘸午綜日卅中方丹卞允月 */
    int createindex = CHAR_getInt( meindex, CHAR_NPCCREATEINDEX );

/*    print("shopinit start\n" );*/
    if( NPC_CHECKCREATEINDEX(createindex) ){
        NPC_create[createindex].intdata[NPC_CREATETIME] = -1;
    }

    CHAR_setInt( meindex , CHAR_HP , 0 );
    CHAR_setInt( meindex , CHAR_MP , 0 );
    CHAR_setInt( meindex , CHAR_MAXMP , 0 );
    CHAR_setInt( meindex , CHAR_STR , 0 );
    CHAR_setInt( meindex , CHAR_TOUGH, 0 );
    CHAR_setInt( meindex , CHAR_LV , 0 );
    mlevel = ((100<<16)|(100<<0)); /* 曉匏2田奶玄互  丹午五及    }
                                    票匏2田奶玄互  月午五及    [ */
    CHAR_setInt( meindex, CHAR_MERCHANTLEVEL, mlevel );

    CHAR_setWorkInt( meindex, CHAR_WORKSHOPCLIENTINDEX, -1 );

    CHAR_setInt( meindex , CHAR_WHICHTYPE , CHAR_TYPESHOP );
    CHAR_setFlg( meindex , CHAR_ISOVERED , 0 );
    CHAR_setFlg( meindex , CHAR_ISATTACKED , 0 );

    NPC_Util_GetArgStr( meindex, npcarg, sizeof(npcarg));

    /* 失奶  丞  兇六月[撩  仄兇日return FALSE */
    if( ! NPC_SimpleShopFillItem( meindex,npcarg ) ){
        print( "SHOP INIT ERROR: npcarg=%s\n", npcarg );
        return FALSE;
    }

/*    print("shopinit end\n" );*/


    return TRUE;
}

/*
 * 饕它奶件玉它毛釩仁井升丹井  爛允月[
 * npcarg及中勻仇戶及玄□弁件卞
 * 仇氏卞切反,仍戶氏仁分今中,仁分今中卅
 * 及方丹卞俜  今木兇  儂  毛手午卞  爛允月[仇及午五及犯伉立正反","[
 *
 * 婁醒
 * msg:皿伊奶乩□互仄扎屯勻兇  儂  
 * openshopstr:npcarg及中勻仇戶及玄□弁件[
 * 忒曰襖
 * 釩仁卅日TRUE, 釩井卅中卅日FALSE
 */
static BOOL NPC_SimpleShopOpenShopOrNot( char *msg, char *openshopstr )
{
    int i;
    char buf[256];

    i=1;
    while(getStringFromIndexWithDelim(openshopstr,",",i,buf,sizeof(buf))){
        if( strstr( msg, buf ) ) return TRUE;
        i++;
    }
    return FALSE;
}

/*
 * 允屯化及手切手及毛域莢摹  今木兇橇謫卞允月[
 */
#if 0
static void NPC_SimpleShopSetLeakLevel( int meindex )
{
    int i, itemindex;

    for( i=CHAR_STARTITEMARRAY;i<CHAR_MAXITEMHAVE;i++ ){
        itemindex=CHAR_getItemIndex(meindex,i);
        if( ITEM_CHECKINDEX(itemindex)){
            ITEM_setInt(itemindex,ITEM_LEAKLEVEL, 1 );
        }
    }
}
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费av观看| 亚洲日本乱码在线观看| 欧美日韩中文国产| 色妞www精品视频| av一二三不卡影片| 成人h动漫精品一区二区| 国产麻豆精品久久一二三| 极品美女销魂一区二区三区免费| 欧美a一区二区| 精品在线视频一区| 国产在线视频不卡二| 国产精品一区在线观看乱码 | 一本色道亚洲精品aⅴ| 91丨porny丨蝌蚪视频| 色婷婷综合激情| 色婷婷av一区二区三区gif| 欧美色男人天堂| 精品区一区二区| 国产精品色哟哟| 亚洲午夜电影网| 麻豆精品国产传媒mv男同| 国产精品99久久久久| 99国产精品久久久久久久久久久| 91麻豆国产精品久久| 欧美三级电影在线观看| 日韩精品中文字幕在线一区| 国产欧美一区二区精品久导航 | 精品久久久久一区| 久久婷婷综合激情| 亚洲精品免费在线播放| 午夜私人影院久久久久| 激情深爱一区二区| 97se亚洲国产综合自在线观| 777色狠狠一区二区三区| 久久久久久久网| 亚洲一区二区免费视频| 国产一区欧美一区| 色呦呦国产精品| 亚洲精品在线观看网站| 中文字幕一区二区三区av| 午夜激情一区二区| av亚洲精华国产精华精华| 欧美日韩国产综合一区二区三区| 久久欧美一区二区| 日本女优在线视频一区二区| 成人黄色777网| 欧美mv日韩mv| 视频一区二区欧美| 91视视频在线观看入口直接观看www | 一个色综合av| 国产精品1区二区.| 91精品国产色综合久久不卡电影| 中文av一区二区| 美日韩一区二区| 在线观看www91| 国产亚洲女人久久久久毛片| 国产精品女主播av| 日韩黄色免费电影| 色综合久久中文字幕综合网| 国产精品白丝jk白祙喷水网站| 日本二三区不卡| 欧美三级日韩三级| 亚洲视频在线一区观看| 国产精品亚洲一区二区三区妖精 | 国产一区二区三区精品视频| 在线看国产一区二区| 国产精品国产精品国产专区不蜜 | 成人av在线资源| 精品国产乱码久久久久久老虎| 亚洲午夜视频在线| 91福利视频久久久久| 亚洲美女屁股眼交| 91成人在线精品| 曰韩精品一区二区| 99久久精品一区二区| 日韩理论片一区二区| 色综合天天在线| 亚洲一区二区三区中文字幕在线| 91浏览器在线视频| 亚洲天堂精品在线观看| 日本乱人伦aⅴ精品| 亚洲精品久久久久久国产精华液| 99精品视频一区| 亚洲免费观看高清完整版在线| 色哟哟日韩精品| 午夜精品视频一区| 日韩精品一区二区三区视频播放 | 国产精品免费人成网站| 福利一区在线观看| 亚洲欧美色综合| 欧美日韩一级黄| 久久精品99久久久| 久久久久久久网| 成人av在线影院| 一区二区三区在线播放| 欧美欧美午夜aⅴ在线观看| 日本不卡的三区四区五区| 精品日韩在线观看| 不卡一区二区中文字幕| 一区二区三区色| 日韩欧美专区在线| 99精品视频一区二区| 三级欧美韩日大片在线看| 国产亚洲自拍一区| 欧美曰成人黄网| 国产一区视频在线看| 亚洲精品视频在线观看免费| 91麻豆精品久久久久蜜臀| 国产乱子伦视频一区二区三区| **网站欧美大片在线观看| 欧美福利视频一区| 丁香婷婷综合网| 日韩**一区毛片| 日韩一区中文字幕| 欧美va在线播放| 色综合欧美在线视频区| 久久99精品一区二区三区| 自拍偷拍亚洲综合| 精品久久久久久久久久久久包黑料| 成人午夜看片网址| 热久久国产精品| 亚洲精品高清在线观看| 国产丝袜美腿一区二区三区| 欧美日韩成人一区二区| 91香蕉国产在线观看软件| 国产一区二区电影| 亚洲va欧美va人人爽| 亚洲色图一区二区三区| 久久久久久久综合色一本| 91精品国产91久久久久久一区二区| 中文字幕在线播放不卡一区| 亚洲国产精品嫩草影院| 欧美日韩中文精品| 亚洲精品福利视频网站| 精品国产乱码久久久久久浪潮| 亚洲手机成人高清视频| 99视频在线观看一区三区| 九色|91porny| 欧美午夜视频网站| 狠狠狠色丁香婷婷综合久久五月| 日韩限制级电影在线观看| 91美女福利视频| 久久蜜桃一区二区| 国产精品一区三区| 激情欧美日韩一区二区| 亚洲高清免费视频| 亚洲另类在线制服丝袜| 国产精品久久久久四虎| 日本一区二区三区电影| 久久亚洲免费视频| 久久奇米777| 国产亚洲1区2区3区| 91精品久久久久久久91蜜桃| 欧美日韩一区不卡| 欧美精品一二三区| 综合网在线视频| 欧美一级日韩一级| 777亚洲妇女| 91精品国产欧美一区二区成人| 丰满岳乱妇一区二区三区| 中文无字幕一区二区三区| 亚洲人成影院在线观看| 91黄色免费看| 久久久久久久久久美女| 欧美日韩高清影院| 色吧成人激情小说| 色哟哟欧美精品| av午夜精品一区二区三区| 国产成人日日夜夜| 国产成人免费网站| 国产精品入口麻豆九色| 2020国产精品久久精品美国| 欧美日韩一级二级| 欧美伊人精品成人久久综合97| 99re亚洲国产精品| 色婷婷av一区二区三区大白胸| 日本精品一级二级| 欧美喷水一区二区| 精品国产一二三| 国产精品国产三级国产三级人妇 | 亚洲高清不卡在线| 亚洲综合在线免费观看| 日韩精品色哟哟| 国产制服丝袜一区| 9l国产精品久久久久麻豆| 色屁屁一区二区| 精品国产一区二区三区久久影院 | 日本视频免费一区| 欧美日韩在线播| 精品久久久久久久久久久久久久久| 亚洲视频狠狠干| 欧美一级国产精品| 亚洲成人免费视| 欧美一区二区播放| 一区二区三区精品| 国产一区二区在线观看免费| 欧美视频在线观看一区二区| 欧美私模裸体表演在线观看| 日韩精品一区在线观看| 夜夜嗨av一区二区三区四季av|