/*----------------------------------------- * �ͷ���ʧ��������߯�Ȼ������ݱ���̫���ľ�£� * -------------------------------------------*/ void NPC_FMPKManWindowTalked( int meindex, int talkerindex, int seqno, int select, char *data) { int datanum = -1, fl, x, y; char npcarg[NPC_UTIL_GETARGSTR_BUFSIZE]; char buf[1024], buff2[256]; if (NPC_Util_GetArgStr(meindex, npcarg, sizeof(npcarg)) == NULL) { print("GetArgStrErr"); return; } NPC_Util_GetStrFromStrWithDelim(npcarg, "WARP", buf, sizeof(buf)); getStringFromIndexWithDelim(buf, ",", 1, buff2, sizeof(buff2)); fl = atoi(buff2); getStringFromIndexWithDelim(buf, ",", 2, buff2, sizeof(buff2)); x = atoi(buff2); getStringFromIndexWithDelim(buf, ",", 3, buff2, sizeof(buff2)); y = atoi(buff2); makeStringFromEscaped( data); // print("meindex:%d seqno:%d select:%d data:%s\n", meindex, seqno, select, data); datanum = atoi( data); switch( seqno) { /*--��Ԫ��Ի�� --*/ case CHAR_WINDOWTYPE_FMPKMAN_START: if (datanum == 1) NPC_FMPKMan_selectWindow(meindex, talkerindex, 1, -1); else if (datanum == 2) NPC_FMPKMan_selectWindow(meindex, talkerindex, 2, -1); break; case CHAR_WINDOWTYPE_FMPKMAN_VIEW: break; case CHAR_WINDOWTYPE_FMPKMAN_LEAVEPK: if (select == WINDOW_BUTTONTYPE_YES) { if (CHAR_getWorkInt(talkerindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE) return; // shan add if(NPC_PARTY_CHAECK1( meindex, talkerindex)==FALSE) { NPC_ERR_DiSP1( meindex, talkerindex, 1); return; } CHAR_setWorkInt(talkerindex, CHAR_WORKWARPCHECK, FALSE); CHAR_warpToSpecificPoint(talkerindex, fl, x, y); } break; default: break; } }
/********************************* * �ƾ�����ľ���ݼ��� *********************************/ void NPC_FMPKManTalked( int meindex , int talkerindex , char *szMes ,int color ) { /* �����������帲�ƻ����� ɱ���� */ if( CHAR_getInt( talkerindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) { return; } /*-- �������¾���������--*/ if(NPC_Util_isFaceToFace(talkerindex,meindex,2 )==FALSE) { /* ��������� ���� */ if( NPC_Util_CharDistance( talkerindex, meindex ) > 1) return; } /*--�����ͼ������--*/ CHAR_setWorkInt(talkerindex, CHAR_WORKSHOPRELEVANT, 0); /*-��Ԫ������ --*/ NPC_FMPKMan_selectWindow( meindex, talkerindex, 0, -1); }
/********************************* * Øƾ®ØêÈÕľÐ×Áݼ°ÖÊ *********************************/ void NPC_FMPKManTalked( int meindex , int talkerindex , char *szMes ,int color ) { /* ÃóÒÁÄÌØÀ¡õ±å¸²ØÆ»¯·ÖØê ɱÔÊÔ */ if( CHAR_getInt( talkerindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) { return; } /*-- ¼°ó¡±åÖÐÔ¾®Éýµ¤¾®£¢--*/ if(NPC_Util_isFaceToFace(talkerindex,meindex,2 )==FALSE){ /* ¨àºëØøÓÀÓñ¶¯ ¼°ÐÄ */ if( NPC_Util_CharDistance( talkerindex, meindex ) > 1) return; } /*--·¥¡õÛͼ°âÙÓå¼À--*/ CHAR_setWorkInt(talkerindex, CHAR_WORKSHOPRELEVANT, 0); /*-·´Ôª»§¼°¼» --*/ NPC_FMPKMan_selectWindow( meindex, talkerindex, 0, -1); }
/********************************* * 仄井仃日木凶凛及质 *********************************/ void NPC_FMPKManTalked( int meindex , int talkerindex , char *szMes ,int color ) { /* 皿伊奶乩□卞覆仄化分仃 杀允月 */ if( CHAR_getInt( talkerindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) { return; } /*-- 及蟆卞中月井升丹井"--*/ if(NPC_Util_isFaceToFace(talkerindex,meindex,2 )==FALSE) { /* ㄠ弘伉永玉动 及心 */ if( NPC_Util_CharDistance( talkerindex, meindex ) > 1) return; } /*--伐□弁及赓渝祭--*/ CHAR_setWorkInt(talkerindex, CHAR_WORKSHOPRELEVANT, 0); /*-反元户及蓟 --*/ NPC_FMPKMan_selectWindow( meindex, talkerindex, 0, -1); }
/********************************* * Ïä·¤«¤±¤é¤ì¤¿»þ¤Î½èÍý *********************************/ void NPC_FMPKManTalked( int meindex , int talkerindex , char *szMes ,int color ) { /* ¥×¥ì¥¤¥ä¡¼¤ËÂФ·¤Æ¤À¤±È¿±þ¤¹¤ë */ if( CHAR_getInt( talkerindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) { return; } /*--ÌܤÎÁ°¤Ë¤¤¤ë¤«¤É¤¦¤«¡©--*/ if(NPC_Util_isFaceToFace(talkerindex,meindex,2 )==FALSE){ /* £±¥°¥ê¥Ã¥É°ÊÆâ¤Î¤ß */ if( NPC_Util_CharDistance( talkerindex, meindex ) > 1) return; } /*--¥ï¡¼¥¯¤Î½é´ü²½--*/ CHAR_setWorkInt(talkerindex, CHAR_WORKSHOPRELEVANT, 0); /*-¤Ï¤¸¤á¤ÎÁªÂò²èÌÌ--*/ NPC_FMPKMan_selectWindow( meindex, talkerindex, 0, -1); }