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

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

?? npc_fmpkman.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
字號:
#include "version.h"
#include <string.h>
#include "char.h"
#include "object.h"
#include "char_base.h"
#include "npcutil.h"
#include "lssproto_serv.h"
#include "npc_fmpkman.h"
#include "npc_scheduleman.h"
#include "npc_fmwarpman.h"
#include "family.h"
#include "readmap.h"
#include "battle.h"
#include "log.h"

enum {
	NPC_WORK_ID = CHAR_NPCWORKINT1,
};

static void NPC_FMPKMan_selectWindow(int meindex, int toindex, int num, int select);
// shan add
BOOL NPC_PARTY_CHAECK1(int meindex,int talker);
void NPC_ERR_DiSP1(int meindex,int talker,int errNO);

/*********************************
* 賡渝質  
*********************************/
BOOL NPC_FMPKManInit( int meindex )
{

	char npcarg[NPC_UTIL_GETARGSTR_BUFSIZE];
	char buf[1024];
	char buff2[256];
	int fl, x, y, meid;

	if( NPC_Util_GetArgStr( meindex, npcarg, sizeof( npcarg)) == NULL){
		print("FMPKMan:GetArgStrErr");
		return FALSE;
	}

	/*--伐□皿互澀爛今木化中月井----*/
	/*--伐□皿互澀爛今木化卅仃木壬NPC毛綜日卅中仇午卞允月--*/
	if(NPC_Util_GetStrFromStrWithDelim( npcarg, "WARP", buf, sizeof( buf))==NULL){
	        print("FMPKMan Err is %s",npcarg);
		print("FMPKMan Err");
		return FALSE;
	}

	/*--伐□皿互澀爛今木化中化手伐□皿燮互卅仃木壬手切欠氏NPC毛綜日卅中--*/
	getStringFromIndexWithDelim(buf,",",1,buff2,sizeof(buff2));
	fl=atoi(buff2);
	getStringFromIndexWithDelim(buf,",",2,buff2,sizeof(buff2));
	x=atoi(buff2);
	getStringFromIndexWithDelim(buf,",",3,buff2,sizeof(buff2));
	y=atoi(buff2);

	if( MAP_IsValidCoordinate( fl,x,y )== FALSE ){
		print( "FMWarp NPC:Invalid warpman ERR" );
		return FALSE;
	}
	
	meid = NPC_Util_GetNumFromStrWithDelim(npcarg, "ID");
	if ((meid < 0) || (meid >= MAX_SCHEDULEMAN))
	{
		print("FMPKMAN NPC: Init error Invalid ID:%d", meid);
		return	FALSE;
	}
	CHAR_setWorkInt(meindex, NPC_WORK_ID, meid);

	/*--正奶皿澀爛--*/
   	CHAR_setInt( meindex , CHAR_WHICHTYPE , CHAR_TYPEWARPMAN );

    return TRUE;

}

/*********************************
*   仄井仃日木兇凜及質  
*********************************/
void NPC_FMPKManTalked( int meindex , int talkerindex , char *szMes ,int color )
{
    /* 皿伊奶乩□卞覆仄化分仃  殺允月 */
    if( CHAR_getInt( talkerindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) {
    	return;
    }
	
	/*--  及蟆卞中月井升丹井"--*/
	if(NPC_Util_isFaceToFace(talkerindex,meindex,2 )==FALSE){
		/* ㄠ弘伉永玉動  及心 */
		if( NPC_Util_CharDistance( talkerindex, meindex ) > 1) return;
	}

	/*--伐□弁及賡渝祭--*/
	CHAR_setWorkInt(talkerindex, CHAR_WORKSHOPRELEVANT, 0);

	/*-反元戶及薊      --*/
	NPC_FMPKMan_selectWindow( meindex, talkerindex, 0, -1);
}

static void NPC_FMPKMan_selectWindow( int meindex, int toindex, int num,int select)
{
	char npcarg[NPC_UTIL_GETARGSTR_BUFSIZE];
	char token[1024], buf[256], buf2[256];
	int buttontype = 0, windowtype = 0, windowno = 0;
	int fd = getfdFromCharaIndex(toindex);
	int num1 = 0, num2 = 0;
	int fmpks_pos = CHAR_getWorkInt(meindex, NPC_WORK_ID) * MAX_SCHEDULE;
	
	if( fd == -1 ) {
		print( "getfd err\n");
		return;
	}
	
	if(NPC_Util_GetArgStr( meindex, npcarg, sizeof(npcarg))==NULL){
		print("GetArgStrErr");
		return ;
	}
	/*--澀爛白央奶伙及  卞白夫失諦醒互隙爛今木化中月井今木化中木壬白夫失諦醒及喃曰請仄*/
	if(strstr(npcarg,"%4d")!=NULL){
		int work;
		NPC_Util_GetStrFromStrWithDelim( npcarg, "WARP", buf, sizeof( buf));
		getStringFromIndexWithDelim(buf,",",1,buf2,sizeof(buf2));
		work = atoi( buf2);
	}

	token[0] = '\0';
	
	switch(num){
      //   賡及它奴件玉它
	  case 0:
	  	if(NPC_Util_GetStrFromStrWithDelim( npcarg, "MainMsg", buf,
	  		sizeof( buf)) == NULL)
	  			return;
			sprintf(token, "3\n        ★家族PK場★\n"
				"%s"
				"\n           《 察看雙方人數 》"
				"\n            《 離開PK場 》",
				buf);
		buttontype = WINDOW_BUTTONTYPE_NONE;
		windowtype = WINDOW_MESSAGETYPE_SELECT;
		windowno = CHAR_WINDOWTYPE_FMPKMAN_START; 
		break;
	  case 1:
	  	if(NPC_Util_GetStrFromStrWithDelim(npcarg, "ViewMsg", buf,
	  		sizeof(token)) == NULL)
	  			return;
	  	NPC_GetPKFMNum(CHAR_getInt(toindex, CHAR_FLOOR),
	  		fmpks[fmpks_pos].host_index,
	  		fmpks[fmpks_pos].guest_index,
	  		&num1, &num2);
/*
	  	print("host:%s guest:%s hostindex:%d guestindex:%d\n",
	  		fmpks[fmpks_pos].host_name,
	  		fmpks[fmpks_pos].guest_name,
	  		fmpks[fmpks_pos].host_index,
	  		fmpks[fmpks_pos].guest_index);
*/
	  	sprintf(token, "\n%s\n\n%s:%4d人\n\n%s:%4d人", buf,
	  		fmpks[fmpks_pos].host_name, num1,
	  		fmpks[fmpks_pos].guest_name, num2);
	  	buttontype = WINDOW_BUTTONTYPE_OK;
	  	windowtype = WINDOW_MESSAGETYPE_MESSAGE;
	  	windowno =  CHAR_WINDOWTYPE_FMPKMAN_VIEW;
	  	break;
	  case 2:
	  	if(NPC_Util_GetStrFromStrWithDelim(npcarg, "LeavepkMsg", token,
	  		sizeof(token)) == NULL)
	  			return;
	  			
	  	buttontype = WINDOW_BUTTONTYPE_YESNO;
	  	windowtype = WINDOW_MESSAGETYPE_MESSAGE;
	  	windowno =  CHAR_WINDOWTYPE_FMPKMAN_LEAVEPK;
	  	break;
	  default:
	  	break;
	}
	
	/*--巨旦弗□皿--*/
	//makeEscapeString( token, escapedname, sizeof(escapedname));
		
		
	/*--霜耨--*/
	lssproto_WN_send( fd, windowtype, 
				buttontype, 
				windowno,
				CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
				token);

}

/*-----------------------------------------
 * 弁仿奶失件玄井日忒勻化五兇凜卞裟太請今木月[
 *
-------------------------------------------*/
void NPC_FMPKManWindowTalked( int meindex, int talkerindex, 
		int seqno, int select, char *data)
{
	int datanum = -1, fl, x, y;
	char npcarg[NPC_UTIL_GETARGSTR_BUFSIZE];
	char buf[1024], buff2[256];

	if (NPC_Util_GetArgStr(meindex, npcarg, sizeof(npcarg)) == NULL)
	{
		print("GetArgStrErr");
		return;
	}
	NPC_Util_GetStrFromStrWithDelim(npcarg, "WARP", buf, sizeof(buf));
	getStringFromIndexWithDelim(buf, ",", 1, buff2, sizeof(buff2));
	fl = atoi(buff2);
	getStringFromIndexWithDelim(buf, ",", 2, buff2, sizeof(buff2));
	x = atoi(buff2);
	getStringFromIndexWithDelim(buf, ",", 3, buff2, sizeof(buff2));
	y = atoi(buff2);
	
	makeStringFromEscaped( data);

//	print("meindex:%d seqno:%d select:%d data:%s\n", meindex, seqno, select, data);
	
	datanum = atoi( data);
	switch( seqno){

	/*--反元引曰及    --*/
	  case CHAR_WINDOWTYPE_FMPKMAN_START:
	  	if (datanum == 1)
	  		NPC_FMPKMan_selectWindow(meindex, talkerindex, 1, -1);
	  	else if (datanum == 2)
	  		NPC_FMPKMan_selectWindow(meindex, talkerindex, 2, -1);
		break;
	  case CHAR_WINDOWTYPE_FMPKMAN_VIEW:
	  	break;
	  case CHAR_WINDOWTYPE_FMPKMAN_LEAVEPK:
	  	if (select == WINDOW_BUTTONTYPE_YES)
	  	{
	  	   	if (CHAR_getWorkInt(talkerindex, CHAR_WORKBATTLEMODE)
	  	   		!= BATTLE_CHARMODE_NONE)
	  	   			return;
	  	   			
	  	        // shan add
	  	        if(NPC_PARTY_CHAECK1( meindex, talkerindex)==FALSE){
	  	                NPC_ERR_DiSP1( meindex, talkerindex, 1);
	  	                return;
	  	        }
	  	                                                   
	  	   	CHAR_setWorkInt(talkerindex, CHAR_WORKWARPCHECK, FALSE);
	  	   	CHAR_warpToSpecificPoint(talkerindex, fl, x, y);
	  	}
	  	break;
	  default:
	  	break;
	}
}

// shan add
BOOL NPC_PARTY_CHAECK1(int meindex,int talker)
{
    if(CHAR_getWorkInt(talker,CHAR_WORKPARTYMODE) != CHAR_PARTY_NONE){
         return FALSE;
    }
    return TRUE;
}

// shan add  errNO=1(組隊)
void NPC_ERR_DiSP1(int meindex,int talker,int errNO)
{
    char token[1024];
    int  i=0;
    int  otherindex;
    int  fd = getfdFromCharaIndex( talker);
    char npcarg[NPC_UTIL_GETARGSTR_BUFSIZE];
    
    if(NPC_Util_GetArgStr( meindex, npcarg, sizeof(npcarg))==NULL){
       print("GetArgStrErr");
       return ;
    }
         
    if(errNO==1){
       if(NPC_Util_GetStrFromStrWithDelim( npcarg, "PartyMsg",token, sizeof( token))==NULL){
           sprintf(token, "無法以團隊離場。\n\n請把團隊解散之後再個別\n離場。");
       }
       
       if(CHAR_getWorkInt(talker,CHAR_WORKPARTYMODE)==CHAR_PARTY_CLIENT){
       
       }else{
           for( i=0 ; i < CHAR_PARTYMAX ;i++){
               otherindex=CHAR_getWorkInt(talker,CHAR_WORKPARTYINDEX1+i);
               if(otherindex != -1){
                   fd = getfdFromCharaIndex( otherindex);
                   lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
                                         WINDOW_BUTTONTYPE_OK,
                                         CHAR_WINDOWTYPE_WINDOWWARPMAN_ERR,
                                         CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
                                         token);
               }
           }
           return ;
       }
    }
}                   



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区影院| 亚洲精品高清在线观看| 国产精品视频第一区| 日韩中文字幕av电影| 91亚洲国产成人精品一区二区三| 亚洲精品在线观| 午夜不卡在线视频| 一本色道亚洲精品aⅴ| 精品不卡在线视频| 蜜桃视频在线观看一区二区| 一本色道久久综合亚洲精品按摩| 国产亚洲欧洲997久久综合| 日产精品久久久久久久性色| 色婷婷国产精品久久包臀 | 国产福利一区在线观看| 91精品国产91久久综合桃花| 一区二区三区四区不卡在线 | 亚洲夂夂婷婷色拍ww47| 972aa.com艺术欧美| 国产精品国产精品国产专区不蜜 | 国产91对白在线观看九色| 欧美成人伊人久久综合网| 日本最新不卡在线| 在线不卡中文字幕播放| 亚洲国产aⅴ成人精品无吗| 91毛片在线观看| 亚洲另类在线制服丝袜| 91在线国产福利| 亚洲欧美日韩在线| 欧洲激情一区二区| 丝袜美腿亚洲色图| 91精品国产欧美日韩| 日本91福利区| 精品国产成人系列| 国产专区欧美精品| 欧美国产精品久久| 99麻豆久久久国产精品免费| 中文字幕视频一区| 欧美三级日韩三级国产三级| 天天操天天色综合| 欧美一区二区三区啪啪| 久久精品国产免费看久久精品| 久久久午夜电影| 91在线视频官网| 亚洲一区影音先锋| 日韩精品一区二区在线| 国产黑丝在线一区二区三区| 中文字幕亚洲一区二区av在线| 97精品国产97久久久久久久久久久久| 亚洲人xxxx| 日韩丝袜美女视频| 高清不卡在线观看av| 一区二区三区久久久| 欧美一区二区三区喷汁尤物| 国产成人福利片| 一区二区三区在线视频观看| 欧美精品在线视频| 福利视频网站一区二区三区| 亚洲免费av在线| 日韩视频一区二区三区在线播放 | 亚洲色图视频网| 欧美人体做爰大胆视频| 国产一区二区精品久久| 亚洲欧美激情小说另类| 日韩精品在线一区| 日本电影亚洲天堂一区| 看片网站欧美日韩| 亚洲综合图片区| 国产日韩欧美综合在线| 欧美色手机在线观看| 国产高清精品久久久久| 午夜精品一区在线观看| 欧美国产综合一区二区| 欧美一级二级三级蜜桃| 一本一道久久a久久精品| 国产在线视频不卡二| 樱花影视一区二区| 久久精品人人做人人综合| 欧美体内she精视频| 国产乱子轮精品视频| 亚洲成人动漫在线免费观看| 国产精品久久毛片| 久久久午夜精品| 欧美一区二区美女| 91电影在线观看| 国产98色在线|日韩| 蜜臀av性久久久久av蜜臀妖精| 亚洲激情欧美激情| 成人欧美一区二区三区1314| 久久综合九色综合97_久久久| 欧美色精品在线视频| 97精品超碰一区二区三区| 国产精品一区二区你懂的| 日韩一区欧美二区| 亚洲一区二区五区| 伊人色综合久久天天人手人婷| 亚洲精品一区二区三区影院| 4438x亚洲最大成人网| 色婷婷av一区二区三区gif| 成人激情黄色小说| 国产成人免费视频一区| 国产一区二区电影| 国产麻豆精品95视频| 激情五月婷婷综合网| 激情av综合网| 韩国欧美一区二区| 久久成人av少妇免费| 精品一区二区三区欧美| 日本女优在线视频一区二区| 亚洲成国产人片在线观看| 樱花影视一区二区| 亚洲资源在线观看| 日日摸夜夜添夜夜添亚洲女人| 婷婷亚洲久悠悠色悠在线播放| 亚洲一区二区三区美女| 亚洲午夜久久久久中文字幕久| 一区二区激情小说| 婷婷国产在线综合| 日本伊人色综合网| 国精产品一区一区三区mba桃花| 狠狠色丁香久久婷婷综| 国产成人鲁色资源国产91色综| 成人在线一区二区三区| 91看片淫黄大片一级| 欧美日韩中文一区| 欧美一级免费观看| 久久久久久免费| 亚洲欧洲美洲综合色网| 亚洲精品日韩综合观看成人91| 一区二区三区日本| 日韩成人午夜精品| 久久国产夜色精品鲁鲁99| 粉嫩av亚洲一区二区图片| 99久久综合国产精品| 欧美撒尿777hd撒尿| 欧美大黄免费观看| 国产精品天干天干在线综合| 亚洲激情校园春色| 麻豆freexxxx性91精品| 成人av中文字幕| 777午夜精品视频在线播放| 久久久久久久综合日本| 一区二区三区成人在线视频| 日本一不卡视频| 97se亚洲国产综合在线| 日韩一区二区在线看片| 国产精品久久久久久久久图文区| 一区二区三区资源| 国产一级精品在线| 欧美影院一区二区| 久久综合九色综合97婷婷女人| 一区二区三区成人| 国产一区二区在线观看免费| 欧美亚洲国产一区在线观看网站 | 国产河南妇女毛片精品久久久| 一本色道久久综合狠狠躁的推荐| 在线综合视频播放| 国产精品毛片大码女人| 久久精品国产在热久久| 色偷偷久久一区二区三区| 精品国产乱码久久久久久影片| 国产精品毛片高清在线完整版| 日本不卡视频在线| 色欧美88888久久久久久影院| 精品国产乱码久久久久久1区2区| 亚洲一二三区在线观看| 成人精品一区二区三区四区 | 亚洲精品视频在线| 国产成人综合亚洲网站| 日韩午夜电影av| 亚洲第一主播视频| 91欧美激情一区二区三区成人| 精品国产亚洲在线| 免费人成在线不卡| 欧美日韩电影一区| 一区二区三区中文字幕| 成人av免费在线| 国产亚洲成aⅴ人片在线观看| 日本视频一区二区三区| 欧美日韩国产首页| 午夜视频一区在线观看| 在线视频欧美区| 一区二区在线免费观看| 成人av网站免费| 欧美国产乱子伦| 丁香啪啪综合成人亚洲小说 | 欧美精品国产精品| 亚洲成人综合在线| 91国偷自产一区二区三区成为亚洲经典| 国产欧美一区二区在线| 国产麻豆成人传媒免费观看| 精品国产91乱码一区二区三区| 欧美aaaaa成人免费观看视频| 777午夜精品免费视频| 石原莉奈在线亚洲二区| 欧美美女一区二区| 日本强好片久久久久久aaa| 欧美精品免费视频| 日本不卡一区二区三区| 欧美xxxxx裸体时装秀|