Карта сайта Контакты Главная

Авторизация на сайте

Свободное местечко

Наша кнопка!

POWERSTR1KE.RU - Всё для администраторов и игроков LineAge-2




Дата Название темы Пользователь Ответов Просмотров





ОпубликовалОпубликовал: Reidek | ДатаДата: 5-08-2012, 23:25
HOWTO редактирование геодаты
Всем привет.
Для администрации: картинки залиты на 30 дней Rghost'a, желательно все же их залить на ваш сервер. Если ужать, то займет не более 1 Мб.
Отдельная просьба копипастерам оставлять ссылку на реальный источник. Уважайте чужой труд.
Итак, после долгих поисков адекватного мануала по редактированию геодаты с пояснениями что да как и куда, решил написать свой. Для простоты понимания я постараюсь разбить на шаги. Этот же мануал, созданный в Word'e можно скачать тут
Для редактирования была взята сборка L2Frozen и геодата от Akumu. Найти их в интернете можно не напрягаясь. Так же нам понадобится 2 программы - hd_GeoEdit (немного неудобна при работе со слоями, можно легко запутаться) и G3DEditor (понравилась из за визуального режима). Почему именно 2, поймете позже.
Шаг 1. Необходимо развернуть локальный сервер ЛА2, подключить естественно к мускулу и отредактировать конфиги по своему вкусу. Как развернуть сервер ла2 можно найти в инете, их до кучи.
Шаг 2. Правим следующие конфиги сервера:
- ../gameserver/config/head/geodata.properties изменяем GeoData = 2 (подключаем квадраты гео и патчнода), ForceGeodata = True (что бы грузилась в оперативную память, так быстрее), AcceptGeoeditorConn = True (не обязательно, это коннект для первой программы, если кому то понравится её интерфейс или нужно будет корректировать высоты квадратов гео), GeoEditorPort = 2109 (соответственно порт для коннекта программки, тоже не обязателен), GeoCorrectZ = All (это корректировка спавна мобов относительно гео), CoordSynchronize = 2 (синхронизация по типу сервер->клиент)
- ../ gameserver/config/functions/developer.properties изменяем AcceptGeoeditorConn = True (при включенном режиме разработке позволяет соединиться с гео редактором. Атрибут не обязательный), GeoEditorHost = 127.0.0.1 (куда конектиться), GeoEditorPort = 2109 (по какому порту).
PS: Не забываем на руотере пробросить порт 2109.
Шаг 3. Итак, у нас есть рабочий сервер с настроенными конфигами. Гео мы скачали и положили предварительно перед запуском но свое место. Теперь дело за малым, запускаем первую программу hd_GeoEdit и видим вот такое окошко...
Редактирование геодаты

Заходим в меню File/Import from l2j/ и выбираем наш первый квадрат. Я взял город Аден (24_18).
Редактирование геодаты

Далее заходим в наш клиент, папку system и создаем в ней папку "geodata". Путь должен получиться приблизительно следующий ../lineage2/system/geodata. После переключаемся в нашу программу и в меню File/Export to conv.dat/ выбираем место сохранения файла, а именно в ../lineage2/system/geodata. Внимание, имя файла обязательно должно быть по следующей маске имя_квадрата_conv.dat. В нашем случае имя будет 24_18_conv.dat. Закрываем нашу программку, она нам пока не нужна.
Шаг 4. Открываем вторую программу G3DEditor. Мы видим вот такое окошко...
Редактирование геодаты

Для удобства немного настроим её. Щелкнем на кнопку с изображением шестеренки и правим в соответствии с рисунком. Причем последний раздел советую сделать путем к вашей папке с гео.
Редактирование геодаты

Далее открываем наш квадрат 24_18.l2j, нажав на кнопку с изображением папки вверху программы. Увидим вот такой вид...
Редактирование геодаты

Управление тут простое W,A,S,D - движение в разные стороны, правая клавиша мышки осуществляет поворот по осям, пробел ускоряет движение, при зажатом шифте можно выделять по несколько ячеек, зажатый альт выделяет все ячеки мульти или комплексного квадрата, при зажатом ctrl можно вертикально перемещать ячейки. Доступные режимы вида включаются/отключаются кнопками T,R,G,F.
Теперь немного о цветах. Цветов как видите тут не много. Комплекс из 8*8 зеленых квадратов - это 1 синий квадрат. Данные два цвета говорят о том, что это единственный слой в данной точке по оси Z. Разница между синим и зеленым лишь в том, что зеленые используются для более детальной прорисовки местности с ограничениями (запрет движения в том или ином направлении). Синие квадраты используются в основном для ровных поверхностей. Так же НЕ желательно использовать синие квадраты с ограничениями. Красные блок квадратов так же состоит из 8*8 мелких и используется в многоуровневых постройках, ландшафтах и т.п.. Малиновым цветом выделяются те ячейки, которые вы выбрали для редактирования. Желтым цветом выделяется активная ячейка. Если выделяете несколько ячеек из зеленого или красного блока, то выделенные ячейки становятся малиновым, остальные светло-голубым.
У каждой ячейки есть 4 измерения (север, юг, запад, восток). Закрашенный угол в ячейки говорит о том, что двигаться в данном направлении запрещено. На примере я постараюсь пояснить суть редактирования. Смотрим скрин...
Редактирование геодаты

В данном примере я показал полностью зелеными стрелками разрешенные для движения ячейки, а стрелки с красным наконечником запрещающие движение соответственно. Думаю тут все понятно, тогда разберем живой пример... Смотрим скрин..
Редактирование геодаты

Желтым цветом я обозначил ячейки, которые нам нужно отредактировать. После нескольких кликов приводим данные квадраты в надлежащий вид...
Редактирование геодаты

Таким способом можно без клиентской части отредактировать бОльшую часть карты. Стены и двери, проходы и лестницы редактировать можно и так, а вот сложные участки, такие как например кузница или дворец, круги деревьев и т.п. нужно посмотреть, какие квадраты у нас нужно редактировать, а какие нет... Помните, мы на 3 шаге сохраняли гео в клиенте? Вот теперь то оно нам и понадобится. Запускаем клиент, входим под админом и первым делом вводим команду ///stat l2 и у вас в левом верхнем углу будет выведена информация о текущем положении (координаты). После вводим команду ///geodata и увидите вот такую красоту...
Редактирование геодаты

Вы зададитесь вопросом, почему же квадраты рисуются не по земле, а над ней . Поясню как понимаю это я. Для сервера - персонаж не более чем комплекс точек. Половина высоты персонажа - его центральная точка. Именно с ней связаны все действия, такие как атаки других чаров, повороты вокруг оси и т.п. Для большей ясности я привел пример модели темного эльфа без текстур с изображением осей.
Редактирование геодаты

Что ж, теперь вы наглядно видите квадраты, которые необходимо отредактировать. Переключаясь между клиентом и программой можно отредактировать гео любой сложности.
PS: высота одной ячейки равняется 8 условным единицам, минимальное расстояние между 2-мя вертикальными ячейками - 8 условных единиц. Разница между координатами сервера по отношению к координатам ячеек редактора гео не должны превышать 7 условных единиц, т.е. в программе например вы видите высоту 2200, в клиенте блок в данной координате не должен выходить за пределы 2193-2207, но как правило он находится в районе +-4 условные единицы и чаще в бОльшую сторону, т.е. 2204.
Личный опыт подсказывает, что сначала при редактировании крупных объектов, таких как города, сначала нужно поработать в программе без клиента и исправить максимум возможного (входы/выходы, мосты, ступеньки и т.д.), потом приниматься за детальную отработку каждой комнаты и уж потом ровнять высоты. Не пытайтесь сделать все разом, запутаетесь.
Шаг 5. Сохраняем нашу отредактированную гео в формате .l2j и укладываем её в папку геодаты сервера. После рестартуем сервер и радуемся. Если хотите посмотреть на свое творение в клиенте, сохраненный кусок гео конвертируем и закидываем в папку system/geodata клиента. После перезапускаем клиент и пишем команду ///geodata.
Вернемся к нашим попугаям. Итак, мы уже знаем что первая программа (hd_GeoEdit) у нас умеет конвертировать, вторая (G3DEditor) имеет красивый визуальный редактор. Пока мы работали в основном в G3DEditor. Но пришло время и немножко упростить жизнь при редактировании высот. В этом то нам и поможет hd_GeoEdit. Но вот её настройка кому то может показаться геморной. Первое, что нам нужно, это связать нашу программу с сервером. Заводим ArtMoney и коннектимся к процессу lineage2. Из клиента выписываем текущую координату Х и ищем её в артмани с параметрами - точное значение/с точкой/все/все. Далее передвигаемся в другую точку и отсеиваем координату Х. После нескольких таких манипуляций с отсеиванием у вас должно остаться около 15 значений. Я взял первое и последнее и вписал их в конфиг программы:
StatOffset = $начальное
VarPointer = $последнее
Далее запускаем программу и открываем кусок гео, который лежит в system/geodata клиента с расширением имя_квадрата_conv.dat. В клиенте мы должны находиться в данном квадрате. Если все сделали правильно, получится что то вроде этого...
Редактирование геодаты

Если в настройке кисти нажать кнопку [Z], то при прорисовке геодаты, кроме определения NSEW (направлений, в которых может перемещаться персонаж), будет назначена указанная возле кнопки высота ячейки.

Если не нажимать - то Z-координата ячейки изменена не будет. Если вы отрисовываете ООП (Огромные Открытые Пространства), вашим помощником может стать кнопка [Draw Solid Cell]. Максимально полезная кнопка [Follow] - замыкает курсор редактирования на вашего персонажа в игре. Это не значит, что вы не сможете редактировать другие ячейки. Сможете, просто курсор после клика всегда будет возвращаться в позицию персонажа.
Если не включена функция слежения, есть две дополнительных кнопки.
[XY to Cursor] - установить координаты курсора по координатам персонажа.
[Z to z-Coord] - установить маркер высоты равным высоте места персонажа в клиенте.
Функция [Record Z] позволяет маркировать ячейки Z-координатой в автоматическом режиме, просто бегая в клиенте.
При нажатой кнопке [S] запись Z-координаты будет сопровождаться отрисовкой полных ячеек.
Ну вот пожалуй и все. Это мой первый мануал, так что ошибок море. Поправляйте или спрашивайте, дополню/исправлю как будет время.

» Похожие новости «

  • Как перейти на другую сборку не потеряв данные/без вайпа сервера
  • Установка Java сервера Lineage на Linux, Debian
  • [Мануал] Создание собственного сервера lineage java по полочкам
  • [Мануал] Своё имя для папки System
  • Мини мануалы как защитить свой сайт или сервер!

  • Комментариев: 1
    Публикаций: 0
    ICQ: 4101441
    Имя: Ксения Нефёдова

    #1 GoodShadow

    Юзеры | 6 сентября 2012 12:47 | Регистрация: 6.09.2012
    на 8 скрине типичная ошибка, нельзя оставлять открытые углы и мануэль для нубов будет не понятен, как об стенку горох winked по этому лучше добавь способ генерации геодаты из клиентской части. Или ты берёшь чью-то на доработку как l2script и прочие простолюдины? laughing В каждом новом протоколе клиента меняется высота и ширина слоёв, именно по этому некоторые люди видят разрез на старых клиентах игр.


    Комментариев: 1
    Публикаций: 1
    ICQ: --
    Имя: Reidek

    #2 Reidek

    Юзеры | 22 сентября 2012 15:57 | Регистрация: 5.08.2012
    Немного поздновато с ответом, но все же. Начну по порядку. На 8 скрине я четко показал зеленой линией запретную зону для прохода. Поясню и то, что тут вы не правы на счет "открытых" углов. На самом деле они закрыты, т.к. программа считывает 4 точки у каждого квадрата и если 2 точки помечены как непроходимые, проводится прямая между ними. Набор таких прямых составляют карту прохода. Если у квадрата помечено 3 точки для запрета, клиент считывает их и определяет, какой угол запрещен. Именно угол а не диагональ. Мануал написан именно для начинающих, а не про. Генерировать геодату из клиетской части не всегда гуд, т.к. очень много косяков и коллизий придется править. Иногда легче примерить несколько чужих гео и посмотреть соответствие, а та, что больше подходит и править. На счет протоколов полнейший бред написали вы. Во первых если админ не дурак, то клиент он правит под нужный протокол и старт клиента делает через апдейтер.Во вторых поводу изменений протокола, вы вообще понимаете что такое протокол? Протокол отвечает лишь за способ передачи данных от клиент к серверу и никак не влияет на высоту или ширину слоев.


    Информация

    Комментировать статьи на нашем сайте возможно только в течении 60 дней со дня публикации.