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

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

?? char_party.c

?? 石器時代8.0服務端完整源代碼。可以直接編譯
?? 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一区二区三区免费野_久草精品视频
国产精品麻豆欧美日韩ww| 国产自产高清不卡| 国模娜娜一区二区三区| 色狠狠一区二区三区香蕉| 欧美videos中文字幕| 亚洲一区在线视频| 99国产麻豆精品| 久久久久国产精品厨房| 亚洲国产精品久久久久婷婷884| 成人激情综合网站| www久久精品| 精品综合久久久久久8888| 欧美亚日韩国产aⅴ精品中极品| 国产精品国产三级国产普通话蜜臀 | 国产一区二区三区四区五区美女 | 色综合网色综合| 久久久久久久久久看片| 久久成人久久爱| 欧美乱熟臀69xxxxxx| 亚洲一区二区三区在线| 欧美在线播放高清精品| 亚洲高清在线精品| 91社区在线播放| 最近中文字幕一区二区三区| 成人爱爱电影网址| 国产精品网曝门| 成人黄动漫网站免费app| 中文字幕免费不卡在线| 国产91色综合久久免费分享| 国产欧美精品一区| av亚洲精华国产精华精华| 国产精品你懂的| 国产91精品欧美| 中文字幕亚洲精品在线观看| av亚洲精华国产精华| 中文字幕亚洲一区二区va在线| 成人午夜私人影院| 亚洲欧洲在线观看av| 99国产精品99久久久久久| 亚洲精品美国一| 欧美视频在线不卡| 蜜臂av日日欢夜夜爽一区| www日韩大片| 99精品视频免费在线观看| 一区二区三区成人| 欧美日韩成人综合天天影院 | 成人国产电影网| 亚洲欧美色图小说| 欧美人与z0zoxxxx视频| 日本欧美一区二区三区乱码| 久久综合久久综合久久综合| 成人免费视频视频在线观看免费| 亚洲青青青在线视频| 欧美电影影音先锋| 国产福利精品导航| 亚洲亚洲精品在线观看| 日韩精品一区二区三区在线| 国产sm精品调教视频网站| 一区二区在线免费观看| 91麻豆精品国产自产在线| 国产麻豆精品视频| 亚洲精品久久久蜜桃| 91精品久久久久久久99蜜桃| 国产综合久久久久久久久久久久| 国产精品乱码妇女bbbb| 欧美揉bbbbb揉bbbbb| 国产麻豆精品视频| 午夜视频在线观看一区二区三区| 欧美成人官网二区| 色综合婷婷久久| 国产精品一二三四区| 亚洲综合在线免费观看| 精品裸体舞一区二区三区| 一本大道久久a久久精品综合| 免费在线看成人av| 亚洲综合清纯丝袜自拍| 久久精品视频网| 欧美一区二区在线看| 91色视频在线| 国产成人一级电影| 老汉av免费一区二区三区| 亚洲综合一区二区三区| 国产精品视频线看| 久久综合九色综合97_久久久| 欧美午夜精品久久久久久孕妇| 国产真实乱子伦精品视频| 亚洲国产精品一区二区久久恐怖片| 精品国产一区二区国模嫣然| 欧美日本一区二区三区| 91成人免费网站| 99riav一区二区三区| 高清不卡在线观看| 极品瑜伽女神91| 石原莉奈在线亚洲二区| 洋洋av久久久久久久一区| 国产精品成人一区二区艾草| 久久视频一区二区| 日韩精品一区二区三区视频| 欧美精品在欧美一区二区少妇| 日本精品视频一区二区三区| 成人福利视频在线| 成人免费看视频| 成人动漫中文字幕| av亚洲精华国产精华| 懂色av一区二区夜夜嗨| 国产大片一区二区| 国产成人免费网站| 成人自拍视频在线| 国产99一区视频免费| 国产成人精品午夜视频免费| 国产精品一区二区在线播放 | 欧美色区777第一页| 欧美性极品少妇| 欧美精品日韩一区| 日韩午夜小视频| 日韩精品资源二区在线| 欧美成人性福生活免费看| 久久―日本道色综合久久| 日韩欧美在线影院| 精品免费日韩av| 国产日韩欧美不卡在线| 国产精品麻豆网站| 亚洲黄色尤物视频| 日韩激情av在线| 美女久久久精品| 国产精品亚洲专一区二区三区| 成人免费毛片嘿嘿连载视频| thepron国产精品| 欧美日韩精品一区二区三区 | 国产精品亚洲人在线观看| 国产美女av一区二区三区| 波多野结衣中文字幕一区| 日本精品一区二区三区高清| 91精选在线观看| 久久久精品中文字幕麻豆发布| 国产精品黄色在线观看| 亚洲一区二区三区三| 国内外精品视频| 91麻豆福利精品推荐| 欧美二区在线观看| 欧美极品美女视频| 亚洲福利电影网| 国产成人精品aa毛片| 色狠狠综合天天综合综合| 日韩精品中午字幕| 亚洲伦理在线精品| 麻豆久久一区二区| 色婷婷av一区二区三区之一色屋| 欧美精品欧美精品系列| 中文字幕精品一区二区精品绿巨人 | 色婷婷精品久久二区二区蜜臀av| 91精品国产综合久久久蜜臀粉嫩| 久久精品一区二区| 亚洲国产成人av网| 成人一区在线观看| 3d动漫精品啪啪一区二区竹菊| 国产精品天天摸av网| 蜜桃av噜噜一区二区三区小说| 99麻豆久久久国产精品免费优播| 91精品国产综合久久香蕉的特点| 国产人成一区二区三区影院| 午夜欧美大尺度福利影院在线看 | 国内精品不卡在线| 欧美综合天天夜夜久久| 日本一区二区高清| 美女www一区二区| 欧美日韩免费高清一区色橹橹| 国产亚洲va综合人人澡精品| 视频一区在线视频| 在线观看亚洲a| 国产精品美女一区二区| 国产在线精品不卡| 4438成人网| 亚洲成人中文在线| 91小视频免费看| 中文字幕亚洲一区二区va在线| 国内精品久久久久影院薰衣草 | 亚洲欧美在线aaa| 国产自产高清不卡| 日韩亚洲国产中文字幕欧美| 亚洲精品久久嫩草网站秘色| 99精品国产热久久91蜜凸| 亚洲精品在线一区二区| 天天综合色天天综合色h| 欧美亚洲禁片免费| 夜夜嗨av一区二区三区网页 | 午夜精品福利视频网站| 色视频成人在线观看免| 中文字幕一区二区在线播放| 国产精品538一区二区在线| 欧美电影免费观看完整版| 蜜臀a∨国产成人精品| 69精品人人人人| 日本vs亚洲vs韩国一区三区| 555夜色666亚洲国产免| 人人狠狠综合久久亚洲| 欧美一二三四区在线| 美女一区二区三区在线观看| 日韩欧美高清一区| 国内外成人在线|