BOOL NpcFasi(LPOBJ lpNpc, LPOBJ lpObj) { if ( gLanguage != 0 ) { if ( gDevilSquareEvent != FALSE ) { GCServerCmd(lpObj->m_Index, 1, 6, 0); } } if ( lpObj->m_PK_Level > 4 ) { int hour = 0; int min = 0; if ( lpNpc->TargetNumber != lpObj->m_Index ) { if ( gObjGetPkTime(lpObj, hour, min) == TRUE ) { char szTemp[100]; wsprintf(szTemp, lMsg.Get(MSGGET(4, 79)), hour, min); ChatTargetSend(lpNpc, szTemp, lpObj->m_Index); lpNpc->TargetNumber = lpObj->m_Index; /*if ( gPkLimitFree == FALSE ) { return TRUE; }*/ } } else if ( gPkLimitFree == FALSE ) { int numbertext = rand() % 3; switch ( numbertext ) { case 0: ChatTargetSend(lpNpc, lMsg.Get(MSGGET(4, 98)), lpObj->m_Index); break; case 1: ChatTargetSend(lpNpc, lMsg.Get(MSGGET(4, 99)), lpObj->m_Index); break; case 2: ChatTargetSend(lpNpc, lMsg.Get(MSGGET(4, 100)), lpObj->m_Index); break; } lpNpc->TargetNumber = 0; // Apply Deathway Fix, change 0 to -1; return TRUE; } } return FALSE; }
BOOL NpcFasi(LPOBJ lpNpc, LPOBJ lpObj) { int bPk = FALSE; #if( ENABLE_FIX_NPCTALKPK == 1 ) if( lpObj->m_PK_Level >= 4 ) { bPk = TRUE; } #else if ( lpObj->PartyNumber >= 0 ) { if( gParty.GetPartyPkLevel(lpObj->PartyNumber) >= 4 ) { bPk = TRUE; } } else if( lpObj->m_PK_Level >= 4 ) { bPk = TRUE; } #endif if ( bPk == TRUE ) { int hour = 0; int min = 0; if ( lpNpc->TargetNumber != lpObj->m_Index ) { if ( gObjGetPkTime(lpObj, hour, min) == TRUE ) { char szTemp[100]; wsprintf(szTemp, lMsg.Get(MSGGET(4, 79)), hour, min); ChatTargetSend(lpNpc, szTemp, lpObj->m_Index); lpNpc->TargetNumber = lpObj->m_Index; if ( gPkLimitFree == FALSE ) { return TRUE; } } } else if ( gPkLimitFree == FALSE ) { int numbertext = rand() % 3; switch ( numbertext ) { case 0: ChatTargetSend(lpNpc, lMsg.Get(MSGGET(4, 98)), lpObj->m_Index); break; case 1: ChatTargetSend(lpNpc, lMsg.Get(MSGGET(4, 99)), lpObj->m_Index); break; case 2: ChatTargetSend(lpNpc, lMsg.Get(MSGGET(4, 100)), lpObj->m_Index); break; } lpNpc->TargetNumber = 0; // Apply Deathway Fix, change 0 to -1; return TRUE; } } return FALSE; }