|
|
Модератор форума: Dimitro |
Форум TrinityCore Установка / Настройка TrinityCore Делаем определенную зону FFAPVP (каждый сам за себя) |
Делаем определенную зону FFAPVP (каждый сам за себя) |
Очень много раз встречал вопросы по этому поводу, вот окончательный ответ на них.
Открываем файл Player.cpp, в нем находим строки: Code void Player::UpdateArea(uint32 newArea) { // FFA_PVP flags are area and not zone id dependent // so apply them accordingly m_areaUpdateId = newArea; AreaTableEntry const* area = GetAreaEntryByAreaID(newArea); pvpInfo.inFFAPvPArea = area && (area->flags & AREA_FLAG_ARENA); UpdatePvPState(true); UpdateAreaDependentAuras(newArea); // previously this was in UpdateZone (but after UpdateArea) so nothing will break pvpInfo.inNoPvPArea = false; if (area && area->IsSanctuary()) // in sanctuary { SetByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_SANCTUARY); pvpInfo.inNoPvPArea = true; CombatStopWithPets(); } else RemoveByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_SANCTUARY); После них добавляем: Code if (area && area->ID == id зоны) { SetByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_FFA_PVP); } Если же нужно сделать для определенной карты, пишем так: Code if (area && area->mapid == id карты) { SetByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_FFA_PVP); }
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 1 написано 10.09.2011 в 20:47
|
| |||
| |||