PDA

Просмотр полной версии : Вопрос по зонам


Dasexler
23.01.2010, 15:18
Доброго времени суток.
Хотелось бы спросить, где меняется тип определенной зоны? (Пример: Шатратт - Синяя зона , тесть нейтральная. А Гурубаши красная - Тесть свободное пвп)
Хотелось бы знать где это все можно найти, и например сделать Штормград и Оргриммар нейтральными городами (как пример)

Shadez
23.01.2010, 15:22
Скорее всего, в AreaTable.dbc

DiffuSer
23.01.2010, 15:22
Данные беруться из DBC, если не ошибаюсь.

Dasexler
23.01.2010, 15:25
Просто на покойном форуме mangos.ru был топик про это, там кто то отвечал что это в ядре (эх жаль тогда не сохранил). Но судя по постам #2 и 3 все в дбц да?
Тоесть отредактировав сервеные дбц я смогу сделать допустим шторм нейтралкой?
Тогда собственно вопрос, возможно довольно "нубский" как отредактировать DBC файл?

timmit
23.01.2010, 15:31
гугл уже отменили?

Dasexler
23.01.2010, 15:34
Уже нашел на з-г, извиняюсь =)
сейчас посмотрим-с..
----Update----
Посмотрел AreaTable.dbc
как пример
1519,0,0,688,0x200138,0,0,31,13,61,10,,,,,,,,,"Штормград",,,,,,,,0xFF01FE,0x2,0,,,0,-500.0,0.0,,
3703,530,0,1327,0x4D28,0,0,409,311,0,0,,,,,,,,,"Шаттрат",,,,,,,,0xFF01FE,0x6,0,,,0,-500.0,0.600000023842,,
1741,0,33,740,0x40,0,0,0,0,0,43,,,,,,,,,"Арена Гурубаши",,,,,,,,0xFF01FE,0x0,0,,,0,-500.0,0.0,,
1637,1,0,707,0x200138,0,0,25,7,62,10,,,,,,,,,"Оргриммар",,,,,,,,0xFF01FE,0x4,0,,,0,-500.0,0.0,,
Здесь я не обнаружил ничего интересного по поводу смены флага зоны, значит из этого следует что флаг определенной зоны записан где то в ядре, кто может сказать где можно найти эти флаги?

Chesterfield
24.01.2010, 22:47
Смею предположить, что это аура (нейтральная зона, свободное пвп и т.п.)

Konctantin
24.01.2010, 23:18
1519,0,0,688,0x200138,0,0,31,13,61,10,,,,,,,,,"Штормград",,,,,,,,0xFF01FE,0x2,0,,,0,-500.0,0.0,,
3703,530,0,1327,0x4D28,0,0,409,311,0,0,,,,,,,,,"Шаттрат",,,,,,,,0xFF01FE,0x6,0,,,0,-500.0,0.600000023842,,
1741,0,33,740,0x40,0,0,0,0,0,43,,,,,,,,,"Арена Гурубаши",,,,,,,,0xFF01FE,0x0,0,,,0,-500.0,0.0,,
1637,1,0,707,0x200138,0,0,25,7,62,10,,,,,,,,,"Оргриммар",,,,,,,,0xFF01FE,0x4,0,,,0,-500.0,0.0,,

Смею предположить, что флаги выделенные красным, вроде все совпадает
0x0 - враждебность
0x2 - только альянс
0x4 - только орда
0x6 - складывая 2 флага 0x2 и 0x4 получаем мир

Chesterfield
24.01.2010, 23:41
Ну если оно так и есть, то тогда эти данные можно изменять при загрузке дбц, добавив обработку определенных зон в код :)

Konctantin
25.01.2010, 00:03
это только предположение, надо смотреть больше данных, или же лезть идой в екзешку.

tempura
25.01.2010, 10:08
...либо методом тыка. :) :) :)

Вовка
25.01.2010, 12:17
Или хаком в коде... ;)
Перечисляешь зоны по аналогии
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -6298,7 +6298,7 @@ void Player::UpdateZone(uint32 newZone, uint32 newArea)
pvpInfo.endTimer = time(0); // start toggle-off
}

- if(zone->flags & AREA_FLAG_SANCTUARY) // in sanctuary
+ if(zone->flags & AREA_FLAG_SANCTUARY || GetZoneId() == 4298) // in sanctuary
{
SetByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_SANCTUARY);
if(sWorld.IsFFAPvPRealm())