void NPC_MakePairManTalked( int meindex, int talkerindex, char *msg, int color ) { if( CHAR_getInt( talkerindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) return; if(NPC_Util_isFaceToFace( meindex ,talkerindex , 2) == FALSE) { if(NPC_Util_isFaceToChara( talkerindex, meindex, 1) == FALSE) return; } #ifdef _ITEM_CHECKWARES if( CHAR_CheckInItemForWares( talkerindex, 0) == FALSE ){ CHAR_talkToCli( talkerindex, meindex, "无法服务携带货物的人!", CHAR_COLORYELLOW); return; } #endif CHAR_setWorkInt( talkerindex, CHAR_WORKSHOPRELEVANT, 0); CHAR_setWorkInt( talkerindex, CHAR_MYPAIRCODE, NPC_getPairCode( talkerindex)); NPC_MakePair_selectWindow( meindex, talkerindex, WINDOW_START, 0); }
void NPC_PetFusionManTalked( int meindex, int talkerindex, char *msg, int color ) { if( CHAR_getInt( talkerindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) return; if(NPC_Util_isFaceToFace( meindex ,talkerindex , 2) == FALSE) { if(NPC_Util_isFaceToChara( talkerindex, meindex, 1) == FALSE) return; } #ifdef _ITEM_CHECKWARES if( CHAR_CheckInItemForWares( talkerindex, 0) == FALSE ){ CHAR_talkToCli( talkerindex, meindex, "無法服務攜帶貨物的人!", CHAR_COLORYELLOW); return; } #endif CHAR_setWorkInt( talkerindex, CHAR_WORKSHOPRELEVANT, WINDOW_START); NPC_PetFusion_selectWindow( meindex, talkerindex, WINDOW_START, 0); }
//CHAR_setWorkInt(talkerindex,CHAR_WORKSHOPRELEVANT,1); void NPC_TranserManTalked( int meindex, int talkerindex, char *msg, int color ) { if( CHAR_getInt( talkerindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) return; if(NPC_Util_isFaceToFace( meindex ,talkerindex , 2) == FALSE) { if(NPC_Util_isFaceToChara( talkerindex, meindex, 1) == FALSE) return; } #ifdef _ITEM_CHECKWARES if( CHAR_CheckInItemForWares( talkerindex, 0) == FALSE ){ CHAR_talkToCli( talkerindex, meindex, "根據傳送師工會規定,不能服務攜帶貨物的人!", CHAR_COLORYELLOW); return; } #endif // Syu ADD 天才傳送師判斷組隊狀態 if( CHAR_getWorkInt ( talkerindex , CHAR_WORKPARTYMODE) != CHAR_PARTY_NONE) { CHAR_talkToCli( talkerindex, meindex, "根據傳送師工會規定,不能幫組隊中的人傳送!",CHAR_COLORYELLOW); return; } CHAR_setWorkInt( talkerindex, CHAR_WORKSHOPRELEVANT, 0); NPC_TranserMan_selectWindow( meindex, talkerindex, WINDOW_START, 0); }
BOOL NPC_BusCheckJoinParty( 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_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_GETTINGON); return FALSE; } /* ��������������շֻ� */ if( CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE ) != CHAR_PARTY_NONE) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_NOTPARTY); return FALSE; } /* �ɡ� ū������ë������������ */ if( CHAR_getEmptyPartyArray( meindex) == -1 ) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_OVERPARTY); return FALSE; } /* ʧ�� ة����������ë����(���ʧ�� ة) */ if( !NPC_BusCheckDeniedItem( meindex, charaindex, argstr)) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_DENIEDITEM); return FALSE; } #ifdef _ITEM_CHECKWARES if( CHAR_CheckInItemForWares( charaindex, 0) == FALSE ) { CHAR_talkToCli( charaindex, -1, "��Я�������ϳ���", CHAR_COLORYELLOW); return FALSE; } #endif /* ʧ�� ة����������ë����( ۢʧ�� ة) */ if( !NPC_BusCheckAllowItem( meindex, charaindex, FALSE)) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_ALLOWITEM); return FALSE; } /* ��ì�P��������ë���� */ if( !NPC_BusCheckLevel( meindex, charaindex, argstr)) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_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_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_EVENT); // return FALSE; // } /* ���ż���������ë���� ����ë���¼�ƥ�� ���������ͱ����³���� */ ret = NPC_BusCheckStone( meindex, charaindex, argstr); if( ret == -1 ) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_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 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_BusCheckJoinParty( 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_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_GETTINGON); return FALSE; } /* ¤Ñ¡¼¤Æ¤£¤À¤Ã¤¿¤é¤À¤á */ if( CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE ) != CHAR_PARTY_NONE) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_NOTPARTY); return FALSE; } /* ¥Ñ¡¼ ¥£¤Î¿Í¿ô¤ò¥Á¥§¥Ã¥¯¤¹¤ë */ if( CHAR_getEmptyPartyArray( meindex) == -1 ) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_OVERPARTY); return FALSE; } /* ¥¢¥¤ ¥à¤Î¥Á¥§¥Ã¥¯¤ò¤¹¤ë(¶Ø»ß¥¢¥¤ ¥à) */ if( !NPC_BusCheckDeniedItem( meindex, charaindex, argstr)) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_DENIEDITEM); return FALSE; } #ifdef _ITEM_CHECKWARES if( CHAR_CheckInItemForWares( charaindex, 0) == FALSE ) { CHAR_talkToCli( charaindex, -1, "µLªkÄâ±a³fª«¤W¨®¡C", CHAR_COLORYELLOW); return FALSE; } #endif /* ¥¢¥¤ ¥à¤Î¥Á¥§¥Ã¥¯¤ò¤¹¤ë( Í×¥¢¥¤ ¥à) */ if( !NPC_BusCheckAllowItem( meindex, charaindex, FALSE)) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_ALLOWITEM); return FALSE; } /* ¥ì¥Ù¥ë¤Î¥Á¥§¥Ã¥¯¤ò¤¹¤ë */ if( !NPC_BusCheckLevel( meindex, charaindex, argstr)) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_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_BusSendMsg( meindex, charaindex, NPC_BUS_MSG_EVENT); // return FALSE; // } /* ¸æ¶â¤Î¥Á¥§¥Ã¥¯¤ò¤¹¤ë ¶³¶â¤ò¼è¤ë¤Î¤Ç¡f ½ª¥Á¥§¥Ã¥¯¤Ë¤¹¤ë¤³¤È¡ª */ ret = NPC_BusCheckStone( meindex, charaindex, argstr); if( ret == -1 ) { if( msgflg) NPC_BusSendMsg( meindex, charaindex, NPC_BUS_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), "¤ä¥I¤F%d Stone¡I", ret); CHAR_talkToCli( charaindex, -1, msgbuf, CHAR_COLORYELLOW); } /* ¥Ñ¡¼ ¥£¤Ë ¤ë */ //CHAR_JoinParty_Main( charaindex, meindex); //fd = getfdFromCharaIndex( charaindex ); //lssproto_PR_send( fd, 1, 1); return TRUE; }