Opublikowano 8 Października 20231 r Cześć, potrafi ktoś zmienić poniższą funkcję tak by zamiast informacji o bossach podanych w tabeli podawała informację o zbiciu grupy z pliku group.txt #ifdef ENABLE_KILL_NOTICE const int bossVnumMAP[27] = { 2492, 2495, 2307, 2306, 2597, 2598, 1093, 691, 1304, 1192, 1901, 2091, 2206, 2191, 2291, 2092, 792, 4091, 4092, 4095, 3690, 3691, 3590, 3591, 3490, 3491, 193 }; for (int i = 0; i < _countof(bossVnumMAP); i++) { if (GetRaceNum() == bossVnumMAP[i]) { const CMob * pkMob = CMobManager::instance().Get(bossVnumMAP[i]); if (pkMob) { char szNotice[512+1]; if (SEX_MALE == GET_SEX(pkAttacker)) snprintf(szNotice, sizeof(szNotice), "[iNFO] Lv. %d %s pokonał: %s!", pkAttacker->GetLevel(), pkAttacker->GetName(), pkMob->m_table.szLocaleName); else snprintf(szNotice, sizeof(szNotice), "[iNFO] Lv. %d %s pokonała: %s!", pkAttacker->GetLevel(), pkAttacker->GetName(), pkMob->m_table.szLocaleName); BroadcastNotice(szNotice); } } } #endif
Opublikowano 8 Października 20231 r Rozwiązanie Cześć, sprawdź nie testowałem. Musisz podać tam vnum grup oraz określić wielkość tablicy w zależności od ilości elementów. #ifdef ENABLE_KILL_NOTICE const int bossGroupVnumMap[27] = { // Tu ID grup }; for (int i = 0; i < _countof(bossGroupVnumMap); i++) { const CMobGroup* pkMobGroup = CMobManager::instance().GetGroup(bossGroupVnumMap[i]); if (pkMobGroup) { DWORD raceNum = pkMobGroup->m_dwVnum; if (GetRaceNum() == raceNum) { char szNotice[512+1]; if (SEX_MALE == GET_SEX(pkAttacker)) snprintf(szNotice, sizeof(szNotice), "[iNFO] Lv. %d %s pokonał grupę o VNUM: %d!", pkAttacker->GetLevel(), pkAttacker->GetName(), raceNum); else snprintf(szNotice, sizeof(szNotice), "[iNFO] Lv. %d %s pokonała grupę o VNUM: %d!", pkAttacker->GetLevel(), pkAttacker->GetName(), raceNum); BroadcastNotice(szNotice); } } } #endif
Cześć, potrafi ktoś zmienić poniższą funkcję tak by zamiast informacji o bossach podanych w tabeli podawała informację o zbiciu grupy z pliku group.txt