/*------------------------------------------------------------ * ºÝ¤Ë¥Ñ¡¼ ¥£¤Ë ¤ë½è * * 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 ¥[¤J¹Î¶¤¡I", 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, "¥[¤J¹Î¶¤¡I", CHAR_COLORYELLOW); } } } }
/*------------------------------------------------------------ * ¥Ñ¡¼ ¥£¤Ë ¤í¤¦¤È¤¹¤ë¡e ------------------------------------------------------------*/ 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; } /* Àï ¤Ï¤Ç¤Ê¤¤»ö¡e*/ 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, "¨ÏªÌ¤£¥i¥H·í»â¶¤¡C", CHAR_COLORYELLOW); continue; } #endif #ifdef _ESCAPE_RESET // ¨Ï¥Î´cÄ_°k¶]«áx¤ÀÄÁ¤º¤£¥i»P¤H²Õ¶¤ if( getStayEncount( getfdFromCharaIndex(targetindex) ) ) { //print(" ´cÄ_¤¤²Õ¶¤ "); if( time(NULL) - CHAR_getWorkInt( targetindex, CHAR_WORKLASTESCAPE) < 5*60 ) { //print(" ´cÄ_°k¶]«á²Õ¶¤ "); CHAR_talkToCli( charaindex, -1, "¦¹¤H¼È®É¤£¥i¥H·í»â¶¤¡C", CHAR_COLORYELLOW); continue; } } #endif } /* ¥Þ¥ó¥â¥¹¥Ð¥¹¤¬¤¤¤ë»þ¤Ï¡f¿Í´Ö¤è¤êÍ¥À褹¤ë¡e */ else if( CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEBUS ) { targetindex = toindex; cnt = 0; if( !NPC_BusCheckJoinParty( toindex, charaindex, TRUE)) { /* ¾ò·ï¤ò ¤¿¤µ¤Ê¤«¤Ã¤¿¡eÃç´Ö ¤ë¤Î¤Ï½ª¤ï¤ë¡e¿Í´Ö¤Î½è ¤â¤·¤Ê¤¤¡e * ¤ä¤ä¤³¤·¤¤¤Î¤Ç¡e */ 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; /* ¥Þ¥ó¥â¥¹¥Ð¥¹ ¸«¤·¤À¤¤¡f¥ë¡¼¥×¤ò ¤±¤ë¡e */ if( CHAR_getInt( targetindex, CHAR_WHICHTYPE) == CHAR_TYPEBUS ) break; } if( cnt == 0 ) { if( found == TRUE) { CHAR_talkToCli( charaindex, -1, "µLªk¥[¤J¹Î¶¤¡C", 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, "¶¤¥î¤£¦P¡AµLªk¥[¤J¹Î¶¤¡C", CHAR_COLORYELLOW); result = FALSE; }else{ #endif CHAR_JoinParty_Main( charaindex, CONNECT_getJoinpartycharaindex(fd,0)); result = TRUE; #ifdef _DEATH_CONTEND } #endif }else { int strlength; char msgbuf[1024]; char escapebuf[2048]; #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, "¶¤¥î¤£¦P¡AµLªk¥[¤J¹Î¶¤¡C", CHAR_COLORYELLOW); result = FALSE; } #endif strcpy( msgbuf, "1\n©M½Ö²Õ¦¨¹Î¶¤©O¡H\n"); strlength = strlen( msgbuf); for( i = 0; CONNECT_getJoinpartycharaindex( fd,i ) != -1 && i< CONNECT_WINDOWBUFSIZE; i ++ ){ char *a = CHAR_getChar( CONNECT_getJoinpartycharaindex(fd,i) , CHAR_NAME); char buf[256]; snprintf( buf, sizeof( buf),"%s\n", a); if( strlength + strlen( buf) > arraysizeof( msgbuf)){ print( "%s:%dµøµ¡°T®§buffer¤£¨¬¡C\n", __FILE__,__LINE__); break; } strcpy( &msgbuf[strlength], buf); strlength += strlen(buf); } lssproto_WN_send( fd, WINDOW_MESSAGETYPE_SELECT, WINDOW_BUTTONTYPE_CANCEL, CHAR_WINDOWTYPE_SELECTPARTY, -1, makeEscapeString( msgbuf, escapebuf, sizeof(escapebuf))); } if( result != -1 ) { lssproto_PR_send( fd, 1, result); } return result; }
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 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_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; }