Exemplo n.º 1
0
/*-----------------------------------------
 * �ͷ���ʧ��������߯�Ȼ������ݱ���̫���ľ�£�
 *
-------------------------------------------*/
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;
    }
}
Exemplo n.º 2
0
/*********************************
*   �ƾ�����ľ���ݼ���
*********************************/
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);
}
Exemplo n.º 3
0
/*********************************
*   Øƾ®ØêÈÕľÐ×Áݼ°ÖÊ  
*********************************/
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);
}
Exemplo n.º 4
0
/*********************************
*   仄井仃日木凶凛及质
*********************************/
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);
}
Exemplo n.º 5
0
/*********************************
* Ïä·¤«¤±¤é¤ì¤¿»þ¤Î½èÍý
*********************************/
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);
}