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

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

?? char_party.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "version.h"
#include <stdio.h>

#include "readmap.h"
#include "object.h"
#include "char.h"
#include "char_base.h"
#include "battle.h"
#include "lssproto_serv.h"
#include "npcutil.h"
#include "npc_bus.h"
#include "npc_airplane.h"       // Arminius 7.10 Airplane
#include "family.h"             // shan

#ifdef _ITEM_QUITPARTY
#include "init.h"
#endif
// shan add 
extern struct FM_PKFLOOR fmpkflnum[FAMILY_FMPKFLOOR];

/*------------------------------------------------------------
 * 由□  奴楮  及末□旦
 ------------------------------------------------------------*/

/*------------------------------------------------------------
 * 塢中化中月由□  奴  毛繭允
 * 卅仃木壬-1毛忒允[
 ------------------------------------------------------------*/
int CHAR_getEmptyPartyArray( int charaindex)
{
	int     i = -1;
	int     rc = FALSE;
	int		toindex;
	if( CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_NONE ) {
		toindex = charaindex;
	}
	else {
		toindex = CHAR_getPartyIndex( charaindex, 0);
	}
	if( CHAR_CHECKINDEX( toindex)){
		for( i = 1; i < CHAR_PARTYMAX; i ++ ) {
			if( CHAR_getWorkInt( toindex, i + CHAR_WORKPARTYINDEX1) == -1 ) {
				rc = TRUE;
				break;
			}
		}
	}
	return( rc ? i: -1);
}
/*------------------------------------------------------------
 *   端卞由□  奴卞  月質  
 *
 *  charaindex		int		憤坌
 *  targetindex		int		  月鍬澎及諦
 ------------------------------------------------------------*/
void CHAR_JoinParty_Main( int charaindex, int targetindex)
{
	int		firstflg = FALSE;
	int		i;
	char	c[3];
	char buf[64];
	int		toindex;
	int		parray;

	/* 褪互中兇日婁勻艦曰請允 */
	if( CHAR_getWorkInt( targetindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_NONE ) {
		toindex = targetindex;
	}
	else {
		toindex = CHAR_getPartyIndex( targetindex, 0);
		if( !CHAR_CHECKINDEX( toindex) ) {
			print( " %s:%d err\n", __FILE__, __LINE__);
			return;
		}
	}


	/* 鍬澎由□  奴及諦醒反    井" */
	parray = CHAR_getEmptyPartyArray( toindex) ;
	if( parray == -1 ) {
		print( "%s : %d err\n", __FILE__,__LINE__);
		return;
	}
	/* 窒手  仄  褪及凜反褪卞卅勻兇CA毛霜耨允月 */
	if( CHAR_getWorkInt( toindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_NONE ) {
		CHAR_sendLeader( CHAR_getWorkInt( toindex, CHAR_WORKOBJINDEX), 1);
		/* 鍬澎及橇謫及踏五晶尹 */
		/* 褪卞卅月 */
		CHAR_setWorkInt( toindex, CHAR_WORKPARTYMODE, 1);
		CHAR_setWorkInt( toindex, CHAR_WORKPARTYINDEX1, toindex);
		firstflg = TRUE;
	}
	CHAR_setWorkInt( toindex, parray + CHAR_WORKPARTYINDEX1, charaindex);

	CHAR_setWorkChar( charaindex, CHAR_WORKWALKARRAY, "");

	CHAR_setWorkInt( charaindex, CHAR_WORKPARTYMODE, CHAR_PARTY_CLIENT);

	CHAR_setWorkInt( charaindex, CHAR_WORKPARTYINDEX1, toindex);

	if( firstflg ) {
		CHAR_sendStatusString( toindex, "N0");
	}


	for( i = 0; i < CHAR_PARTYMAX; i ++ ) {
		int index = CHAR_getWorkInt( toindex, i + CHAR_WORKPARTYINDEX1);
		if( CHAR_CHECKINDEX(index)) {
				snprintf( c, sizeof(c), "N%d", i);
				CHAR_sendStatusString( charaindex, c);
		}
	}

	snprintf( buf,sizeof( buf), "%s 加入團隊!",
			  CHAR_getChar( charaindex, CHAR_NAME));

	for( i = 0; i < CHAR_PARTYMAX; i ++ ) {
		int index = CHAR_getWorkInt( toindex, i + CHAR_WORKPARTYINDEX1);
		if( CHAR_CHECKINDEX(index)) {
			if( index != charaindex ) {
				snprintf( c, sizeof(c), "N%d", parray);
				CHAR_sendStatusString( index, c);
				CHAR_talkToCli( index, -1, buf, CHAR_COLORYELLOW);
			}
			else {
				CHAR_talkToCli( index, -1, "加入團隊!", CHAR_COLORYELLOW);
			}
		}
	}
}
/*------------------------------------------------------------
 * 由□  奴卞  欠丹午允月[
 ------------------------------------------------------------*/
BOOL CHAR_JoinParty( int charaindex )
{

	int     result = -1;
	int     x,y;
	OBJECT  object;
	int     found = FALSE;
	int     fd;
	int		cnt;
	int	i;

	fd = getfdFromCharaIndex( charaindex );
	if( fd == -1 ) {
		print( "%s : %d err\n", __FILE__, __LINE__);
		return FALSE;
	}

        /* 憤坌互由□  奴賺氏匹兇日蟯   */
	if( CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE) != CHAR_PARTY_NONE ) {
		lssproto_PR_send( fd, 1, FALSE);
		return FALSE;
	}

	/*   及蟆及甄  毛  月 */
	CHAR_getCoordinationDir( CHAR_getInt( charaindex, CHAR_DIR ) ,
							 CHAR_getInt( charaindex , CHAR_X ),
							 CHAR_getInt( charaindex , CHAR_Y ) ,
							 1 , &x , &y );

	/* 賡渝祭允月 */
	for( i = 0; i < CONNECT_WINDOWBUFSIZE; i ++ ) {
        CONNECT_setJoinpartycharaindex(fd,i,-1);
    }
	cnt = 0;

	/*憤坌及  及蟆及平乓仿毛潸  允月 */

	for( object = MAP_getTopObj( CHAR_getInt( charaindex, CHAR_FLOOR),x,y) ;
		 object ;
		 object = NEXT_OBJECT(object ) )
	{
		int toindex;
		int parray;
		int objindex = GET_OBJINDEX(object);
		int targetindex = -1;

		/* 平乓仿弁正□元扎卅中 */
		if( OBJECT_getType( objindex) != OBJTYPE_CHARA) continue;
		toindex = OBJECT_getIndex( objindex);
	
                // shan begin
                if( CHAR_getInt(charaindex, CHAR_FMINDEX) > 0 && CHAR_getInt(toindex, CHAR_FMINDEX) >0){
                    for( i = 0; i < FAMILY_FMPKFLOOR; i++){
                        if( fmpkflnum[i].fl == CHAR_getInt( charaindex, CHAR_FLOOR) )
                            if( CHAR_getInt(charaindex, CHAR_FMINDEX) != CHAR_getInt(toindex, CHAR_FMINDEX) ){
                                lssproto_PR_send( fd, 1, FALSE);
                                return FALSE;
                            }
                    }
                }
                // shan end
	
		/* 皿伊奶乩□及凜 */
		if( CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ){
			found = TRUE;
			/* 鍬澎互閡分勻兇日褪毛婁勻艦曰請允 */
			if( CHAR_getWorkInt( toindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_CLIENT ) {
				targetindex = CHAR_getWorkInt( toindex, CHAR_WORKPARTYINDEX1);
				if( !CHAR_CHECKINDEX( targetindex) ) {
					print( " %s:%d err\n", __FILE__, __LINE__);
					continue;
				}
				if( CHAR_getInt( targetindex, CHAR_WHICHTYPE) == CHAR_TYPEBUS) {
					continue;
				}
			}
			else {
				targetindex = toindex;
			}

			/*   褪午  ㄠ洶動  卞中月井 */
			if( NPC_Util_CharDistance( charaindex, targetindex ) > 1) {
				continue;
			}

			/* 爵    反匹卅中儀[*/
			if( CHAR_getWorkInt( targetindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE ){
				continue;
			}
			/* 醮棉袱第乒□玉井 */
			if( !CHAR_getFlg( targetindex, CHAR_ISPARTY) ) continue;

#ifdef _ANGEL_SUMMON
			if( CHAR_getWorkInt( targetindex, CHAR_WORKANGELMODE) == TRUE) {
				CHAR_talkToCli( charaindex, -1, "使者不可以當領隊。", CHAR_COLORYELLOW);
				continue;
			}
#endif
#ifdef _ESCAPE_RESET // 使用惡寶逃跑後x分鐘內不可與人組隊
			if( getStayEncount( getfdFromCharaIndex(targetindex) ) ) {
				//print(" 惡寶中組隊 ");
				if( time(NULL) - CHAR_getWorkInt( targetindex, CHAR_WORKLASTESCAPE) < 5*60 ) {
					//print(" 惡寶逃跑後組隊 ");
					CHAR_talkToCli( charaindex, -1, "此人暫時不可以當領隊。", CHAR_COLORYELLOW);
					continue;
				}
			}
#endif
		}
		/* 穴件乒旦田旦互中月凜反]諦棉方曰穸燮允月[ */
		else if( CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEBUS ) {
			targetindex = toindex;
			cnt = 0;
			if( !NPC_BusCheckJoinParty( toindex, charaindex, TRUE)) {
				/* 橢瘀毛  兇今卅井勻兇[醮棉  月及反蔽歹月[諦棉及質  手仄卅中[
				 * 支支仇仄中及匹[
				 */
				break;
			}
			{	// Arminius 7.10 Airplane
			  int busimg=CHAR_getInt(toindex, CHAR_BASEIMAGENUMBER);
		          if ((busimg!=100355) && (busimg!=100461)) {
		            CHAR_setInt(charaindex,CHAR_BASEIMAGENUMBER,busimg);
			    CHAR_sendCToArroundCharacter( CHAR_getWorkInt( charaindex ,
				CHAR_WORKOBJINDEX ));
				// Robin debug 01/11/21
				if( CHAR_getInt( charaindex, CHAR_RIDEPET) != -1 ) {
					CHAR_setInt( charaindex, CHAR_RIDEPET, -1);
					CHAR_send_P_StatusString( charaindex, CHAR_P_STRING_RIDEPET);
				}
			/*
			    CHAR_sendPMEToArroundCharacterFLXY(charaindex,
			        CHAR_getInt( charaindex, CHAR_FLOOR),
			        CHAR_getInt( charaindex, CHAR_X),
			        CHAR_getInt( charaindex, CHAR_Y),
			        0,1,CHAR_getInt( charaindex, CHAR_PETMAILEFFECT)
			        );
			*/
		          }
		        }
		}
		/* 皿伊奶乩□坭反穴件乒旦田旦動陸反  骰允月 */
		else {
			continue;
		}
		/* 鍬澎由□  奴及諦醒反    井" */
		parray = CHAR_getEmptyPartyArray( targetindex) ;
		if( parray == -1 ) continue;

		/* 仇仇引匹仁木壬     */
        CONNECT_setJoinpartycharaindex( fd,cnt,toindex);
		cnt++;
		if( cnt == CONNECT_WINDOWBUFSIZE ) break;
		
		/* 穴件乒旦田旦  葦仄分中]伙□皿毛  仃月[ */
		if( CHAR_getInt( targetindex, CHAR_WHICHTYPE) == CHAR_TYPEBUS ) break;

	}

	if( cnt == 0 ) {
		if( found == TRUE) {
			CHAR_talkToCli( charaindex, -1, "無法加入團隊。", CHAR_COLORYELLOW);
		}
		result = FALSE;
	}else if( cnt == 1 ) {
#ifdef _DEATH_CONTEND
		int toindex = CONNECT_getJoinpartycharaindex( fd, 0);
		if(CHAR_getInt(toindex,CHAR_PKLISTTEAMNUM) == -1 && CHAR_getInt(charaindex,CHAR_PKLISTTEAMNUM) == -1){
		}else if( CHAR_getInt( charaindex, CHAR_PKLISTLEADER ) > 0 ||
			CHAR_getInt( toindex, CHAR_PKLISTTEAMNUM) < 0 ||
			CHAR_getInt( charaindex, CHAR_PKLISTTEAMNUM) < 0 ||
			CHAR_getInt( toindex, CHAR_PKLISTTEAMNUM) != CHAR_getInt( charaindex, CHAR_PKLISTTEAMNUM) ||
			CHAR_getInt(toindex,CHAR_WHICHTYPE) != CHAR_TYPEPLAYER){

			CHAR_talkToCli( charaindex, -1, "隊伍不同,無法加入團隊。", CHAR_COLORYELLOW);
			result = FALSE;
		}else{
#endif
			CHAR_JoinParty_Main( charaindex, CONNECT_getJoinpartycharaindex(fd,0));
			result = TRUE;
#ifdef _DEATH_CONTEND
		}
#endif
	}else {
		int		strlength;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
51精品久久久久久久蜜臀| 久久久久久**毛片大全| 精品国产91九色蝌蚪| 一区二区三区欧美亚洲| 久久99久国产精品黄毛片色诱| 91豆麻精品91久久久久久| 国产日韩欧美激情| 精品一区二区三区免费观看 | 色欲综合视频天天天| 日韩免费看网站| 亚洲一卡二卡三卡四卡 | 综合在线观看色| 国产精品影视在线| 日韩三级视频中文字幕| 一区二区三区丝袜| 色94色欧美sute亚洲线路一ni| 国产精品视频观看| 国产乱淫av一区二区三区| 精品久久一区二区| 蜜臀av一区二区三区| 欧美一区二区三区日韩| 日韩精品一级二级| 欧美高清性hdvideosex| 天堂va蜜桃一区二区三区漫画版| 色综合中文字幕国产| 一区二区三区四区国产精品| 丁香婷婷深情五月亚洲| 国产视频一区不卡| 粉嫩aⅴ一区二区三区四区五区| www欧美成人18+| 国产揄拍国内精品对白| 精品久久五月天| 国产精品中文字幕日韩精品 | 国产最新精品精品你懂的| 日韩欧美资源站| 久草在线在线精品观看| 久久在线免费观看| 国产伦精品一区二区三区在线观看 | 国产精品123| 欧美激情在线一区二区三区| 国产成a人亚洲精品| 中文字幕av免费专区久久| 99在线热播精品免费| 亚洲人成网站影音先锋播放| 欧美日韩一区二区在线视频| 国产网站一区二区| 亚洲国产成人精品视频| 欧美日韩国产精品自在自线| 毛片基地黄久久久久久天堂| 26uuu成人网一区二区三区| 国产麻豆视频精品| 亚洲男人的天堂在线观看| 欧美视频一区二区在线观看| 免费成人性网站| 久久久久9999亚洲精品| 色偷偷久久一区二区三区| 亚洲一区av在线| 亚洲精品一区二区三区精华液| 99视频精品全部免费在线| 午夜久久久久久电影| 久久综合给合久久狠狠狠97色69| 成人午夜精品一区二区三区| 亚洲一卡二卡三卡四卡无卡久久 | 经典三级一区二区| 中文字幕在线一区免费| 欧美福利一区二区| 成人永久aaa| 天天av天天翘天天综合网色鬼国产| 精品精品欲导航| 91美女视频网站| 激情综合一区二区三区| 亚洲免费观看视频| 久久久亚洲精品石原莉奈| 91久久精品一区二区| 国产一区二区三区高清播放| 亚洲一区日韩精品中文字幕| 久久久久久9999| 日韩一区二区电影在线| eeuss鲁片一区二区三区| 日本不卡视频在线观看| 亚洲精品国产无套在线观| 欧美精品一区二区三区蜜桃视频| 日本二三区不卡| 成人亚洲精品久久久久软件| 日产国产高清一区二区三区| 亚洲视频免费看| 久久精品一级爱片| 日韩美女一区二区三区四区| 欧美在线视频日韩| kk眼镜猥琐国模调教系列一区二区 | av不卡免费电影| 国产高清久久久| 九色综合狠狠综合久久| 午夜免费久久看| 亚洲第一狼人社区| 艳妇臀荡乳欲伦亚洲一区| 中文字幕高清一区| 国产日韩精品一区二区三区| 欧美va在线播放| 欧美一级日韩免费不卡| 欧美日韩精品一区二区| 91国偷自产一区二区三区观看| 不卡一区二区在线| 成人av网站在线| 国产suv精品一区二区883| 国产一区二区三区日韩| 韩国三级中文字幕hd久久精品| 免费成人你懂的| 久久疯狂做爰流白浆xx| 激情深爱一区二区| 精品一区二区免费视频| 国产一区免费电影| 国产一区二区精品久久91| 久草在线在线精品观看| 激情成人午夜视频| 国产乱色国产精品免费视频| 国产黄色精品网站| 成人免费毛片高清视频| 99re视频精品| 欧美视频中文字幕| 欧美精品黑人性xxxx| 日韩视频在线你懂得| 久久久国产精品不卡| 国产精品看片你懂得| 一区二区成人在线| 日本中文字幕一区| 国产成人免费在线视频| av网站免费线看精品| 欧美午夜不卡在线观看免费| 欧美日本在线观看| 精品国产乱码久久久久久影片| 久久久久久久免费视频了| 国产精品美女久久久久久久| 一区二区三区四区精品在线视频| 爽爽淫人综合网网站| 久久99精品久久只有精品| 不卡的电视剧免费网站有什么| 91激情五月电影| 日韩一级欧美一级| 国产精品私房写真福利视频| 亚洲一区在线看| 国产精品亚洲专一区二区三区| 91香蕉视频mp4| 欧美不卡在线视频| 亚洲私人影院在线观看| 免费观看久久久4p| 99久久精品免费| 日韩一级完整毛片| 亚洲女人小视频在线观看| 日韩黄色免费网站| voyeur盗摄精品| 日韩女优av电影在线观看| 亚洲同性同志一二三专区| 日本午夜一本久久久综合| eeuss鲁一区二区三区| 欧美电影免费提供在线观看| 亚洲你懂的在线视频| 九九热在线视频观看这里只有精品| 91一区一区三区| 精品国产污网站| 天天综合天天综合色| 99久久久免费精品国产一区二区| 日韩一级片网站| 亚洲午夜羞羞片| 成人免费av资源| 精品国产sm最大网站免费看| 亚洲国产日韩一级| 99久久精品免费观看| 2欧美一区二区三区在线观看视频| 亚洲自拍偷拍av| av电影天堂一区二区在线观看| 欧美成人猛片aaaaaaa| 亚洲成人在线免费| 色88888久久久久久影院按摩 | 色猫猫国产区一区二在线视频| 久久综合视频网| 青青草91视频| 精品1区2区3区| 一区二区三区在线视频播放| 成人激情校园春色| 国产三级一区二区| 国产精品一二三四区| 2023国产精品| 激情久久五月天| 精品1区2区在线观看| 久久精品国产精品亚洲精品| 欧美一区二区在线免费观看| 亚洲成在线观看| 欧美三级资源在线| 午夜伦欧美伦电影理论片| 欧美日韩国产高清一区二区 | 国产91高潮流白浆在线麻豆| 亚洲精品在线免费播放| 蜜桃免费网站一区二区三区| 91精品国产91热久久久做人人| 午夜影院久久久| 欧美一级片在线| 经典三级一区二区| 国产欧美一区二区三区鸳鸯浴| 国产99久久久国产精品|