BOOL NPC_AirCheckJoinParty( int meindex, int charaindex, BOOL msgflg) { //int fd; char argstr1[NPC_UTIL_GETARGSTR_BUFSIZE]; char *argstr; int ret; argstr = NPC_Util_GetArgStr( meindex, argstr1, sizeof( argstr1)); /* ㄠ弘伉永玉動 及心 */ if( !NPC_Util_charIsInFrontOfChar( charaindex, meindex, 1 )) return FALSE; /* 曇樂反蛐 允月 */ if( CHAR_getWorkInt( meindex, NPC_WORK_MODE) != 0 ) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_GETTINGON); return FALSE; } /* 天□化不分勻凶日分戶 */ if( CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE ) != CHAR_PARTY_NONE) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_NOTPARTY); return FALSE; } /* 由□ 奴及諦醒毛民尼永弁允月 */ if( CHAR_getEmptyPartyArray( meindex) == -1 ) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_OVERPARTY); return FALSE; } /* 失奶 丞及民尼永弁毛允月(嗟鞅失奶 丞) */ if( !NPC_AirCheckDeniedItem( meindex, charaindex, argstr)) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_DENIEDITEM); return FALSE; } #ifdef _ITEM_CHECKWARES if( CHAR_CheckInItemForWares( charaindex, 0) == FALSE ) { CHAR_talkToCli( charaindex, -1, "無法攜帶貨物上機。", CHAR_COLORYELLOW); return FALSE; } #endif /* 失奶 丞及民尼永弁毛允月( 邰失奶 丞) */ if( !NPC_AirCheckAllowItem( meindex, charaindex, FALSE)) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_ALLOWITEM); return FALSE; } #ifdef _NPC_AIRDELITEM if( !NPC_AirCheckDelItem( meindex, charaindex, FALSE) ){ //若是沒扣除了道具 if( msgflg ) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_DELITEM); return FALSE; } #endif /* 伊矛伙及民尼永弁毛允月 */ if( !NPC_AirCheckLevel( meindex, charaindex, argstr)) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_LEVEL); return FALSE; } #ifdef _NPC_AIRLEVEL if( !NPC_AirCheckMaxLevel( meindex, charaindex, argstr)) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_MAXLEVEL); return FALSE; } #endif /* 奶矛件玄 井民尼永弁允月 */ // if( CHAR_getInt( charaindex, CHAR_NOWEVENT) != 0 || // CHAR_getInt( charaindex, CHAR_NOWEVENT2) != 0 || // CHAR_getInt( charaindex, CHAR_NOWEVENT3) != 0 ) // { // if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_EVENT); // return FALSE; // } /* 豢嗯及民尼永弁毛允月 雲嗯毛潸月及匹〕 蔽民尼永弁卞允月仇午〞 */ ret = NPC_AirCheckStone( meindex, charaindex, argstr); if( ret == -1 ) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_GOLD); return FALSE; } if( ret != 0 ) { char msgbuf[128]; /* 豢嗯毛午月 */ CHAR_setInt( charaindex, CHAR_GOLD, CHAR_getInt( charaindex, CHAR_GOLD) - ret); /* 霜耨 */ CHAR_send_P_StatusString( charaindex, CHAR_P_STRING_GOLD); snprintf( msgbuf, sizeof( msgbuf), "支付了%d Stone!", ret); CHAR_talkToCli( charaindex, -1, msgbuf, CHAR_COLORYELLOW); } /* 由□ 奴卞 月 */ //CHAR_JoinParty_Main( charaindex, meindex); //fd = getfdFromCharaIndex( charaindex ); //lssproto_PR_send( fd, 1, 1); return TRUE; }
BOOL NPC_AirCheckJoinParty( int meindex, int charaindex, BOOL msgflg) { //int fd; char argstr[NPC_UTIL_GETARGSTR_BUFSIZE - 1024 * 20]; int ret; NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr)); /* ��������� ���� */ if( !NPC_Util_charIsInFrontOfChar( charaindex, meindex, 1 )) return FALSE; /* ��ַ��� ���� */ if( CHAR_getWorkInt( meindex, NPC_WORK_MODE) != 0 ) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_GETTINGON); return FALSE; } /* ��������������շֻ� */ if( CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE ) != CHAR_PARTY_NONE) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_NOTPARTY); return FALSE; } /* �ɡ� ū������ë������������ */ if( CHAR_getEmptyPartyArray( meindex) == -1 ) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_OVERPARTY); return FALSE; } /* ʧ�� ة����������ë����(���ʧ�� ة) */ if( !NPC_AirCheckDeniedItem( meindex, charaindex, argstr)) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_DENIEDITEM); return FALSE; } #ifdef _ITEM_CHECKWARES if( CHAR_CheckInItemForWares( charaindex, 0) == FALSE ) { CHAR_talkToCli( charaindex, -1, "��Я�������ϻ���", CHAR_COLORYELLOW); return FALSE; } #endif /* ʧ�� ة����������ë����( ۢʧ�� ة) */ if( !NPC_AirCheckAllowItem( meindex, charaindex, FALSE)) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_ALLOWITEM); return FALSE; } /* ��ì�P��������ë���� */ if( !NPC_AirCheckLevel( meindex, charaindex, argstr)) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_LEVEL); return FALSE; } /* ��ì���� �������������� */ // if( CHAR_getInt( charaindex, CHAR_NOWEVENT) != 0 || // CHAR_getInt( charaindex, CHAR_NOWEVENT2) != 0 || // CHAR_getInt( charaindex, CHAR_NOWEVENT3) != 0 ) // { // if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_EVENT); // return FALSE; // } /* ���ż���������ë���� ����ë���¼�ƥ�� ���������ͱ����³���� */ ret = NPC_AirCheckStone( meindex, charaindex, argstr); if( ret == -1 ) { if( msgflg) NPC_AirSendMsg( meindex, charaindex, NPC_AIR_MSG_GOLD); return FALSE; } if( ret != 0 ) { char msgbuf[128]; /* ����ë���� */ CHAR_setInt( charaindex, CHAR_GOLD, CHAR_getInt( charaindex, CHAR_GOLD) - ret); /* ˪�� */ CHAR_send_P_StatusString( charaindex, CHAR_P_STRING_GOLD); snprintf( msgbuf, sizeof( msgbuf), "֧����%d Stone��", ret); CHAR_talkToCli( charaindex, -1, msgbuf, CHAR_COLORYELLOW); } /* �ɡ� ū�� �� */ //CHAR_JoinParty_Main( charaindex, meindex); //fd = getfdFromCharaIndex( charaindex ); //lssproto_PR_send( fd, 1, 1); return TRUE; }