Создаем PvP Zone (ПвП Зона) Primeval Isle (Дино Остров)

Создаем пвп-зону на сборке pwsoft, на примере дино острова. Первым делом нам надо вывести логирование нашей позиции где мы находимся. В pwsoft для логирования вашей текущей позиции используется команда //logloc

При вводе команды данные записываются в папку /gameserver/log/game/logloc.txt

Теперь нам нужно найти зону в которой нам надо сделать ПвП-Зону, для примера мы будем делать Дино Остров(Primeval Isle)

Ищем нашу зону в файле data/zones/zone.xml, находим её, и смотрим какие параметры, и что в ней прописано.

LogLocCommand = True

лог будет в gameserverlogloc.txt

В некоторых сборках по типу Lucera / Pain-Team — эта команда уже присутствует достаточно написать //log; Логируется в stdout.log

В игре делаете макрос на команду «/loc». или «//loc»

Идем к зоне которую решили нарисовать, ищем удобный угол для начала рисования зоны; по или против часовой стрелки;

Рисуем зону линиями по этому огибаем каждый угол;

На каждой точке не забываем ввести в команду «/loc». или «//loc»

На последней точки выбрасываем Adena / Mana Potion;

Теперь 2 последних координаты в логе будут макс/мин Z координата.

Максимальная Z — верхняя точка зоны, где пятки касаются;

Минимальная Z — самая нижняя, от неё можно отнять ещё 200.

Далее открываем файл лога или stdout.log там будет примерно записаны координаты;

Admin: Rune Town 152935 170819 -3802

Admin: Rune Town 152889 170708 -3798

Admin: Rune Town 152820 170601 -3793

Admin: Rune Town 152754 170498 -3807

нам нужно 3 и 4 значение.

Создаешь sql файлик и фигачишь туда эти значения (я для этот пхп-скрипт написал), кроме последних 2-ух (которые у нас minZ и maxZ).

INSERT INTO zone_vertices (id,order,x,y) VALUES

(номер зоны, порядковый номер линии, locX, locY);

INSERT INTO zone_vertices (id,order,x,y) VALUES

(13038, 0, 152935, -170819),

(13038, 1, 152889, -170708),

(13038, 2, 152820, -170601),

(13038, 3, 152754, -170498);

Последние 2 координаты из лога: записываем в zones.xml

<zone id=’13038′ type=’L2PeaceZone’ shape=’NPoly’ minZ=’-3807′ maxZ=’-3793′>

<stat name=’name’ val=’Colizey’/>

</zone>

Совет, когда новую зону логировать начинаешь, в начальной точке раз 5 нажми /loc, чтоб видеть где новая зона началась.

Вот например, как я арену колизея делал: (сначала надо удалить стандартную зону, которая прописана).

Пис зона: идем из точки 1 в 2 -> из 2 в 3 -> из 3 в 3 огибаем баттл-зону -> из 3 идем в 4. всё.

Батл зона: идем из 3 в 3 по кругу. всё.

Вот ещё пример, по воде и огибанию препятствий.

На сборках по типу овероподобных Acis/Lucera/Pain-Team/l2jmobius

Зоны можно чертить прямо в датапаке /data/zone/battle_zone.xml (пример pain-team)

Делаем к примеру PvP-зону вокруг босса Ketra_Commander_Tayr_and_Ketra_Chief_Brakki

<zone id=»463″ name=»[Ketra_Commander_Tayr_and_Ketra_Chief_Brakki]» type=»battle_zone» >
<set name=»index» val=»18″ />
<set name=»entering_message_no» val=»283″ />
<set name=»leaving_message_no» val=»284″ />
<shape>
<coords loc=»147480 -81224 -12000 12000″ />
<coords loc=»146392 -86600 -12000 12000″ />
<coords loc=»144248 -86568 -12000 12000″ />
<coords loc=»142984 -84936 -12000 12000″ />
<coords loc=»144008 -80280 -12000 12000″ />
<coords loc=»145800 -79624 -12000 12000″ />
</shape>
</zone>

Mauris lectus dolor, varius ut imperdiet nec, dignissim nec ligula. Cras posuere odio et finibus accumsan. Mauris in sem non arcu consectetur posuere sed quis justo. Sed turpis mauris, aliquet ac lacus nec, tempor condimentum justo.

Edgar D. Wang