Перейти к контенту

Рекомендуемые сообщения

Kosha, для актора гейм-вертекс находится в однозначном соответствии с левел-вертексом, иначе возникает именно такой вылет. Значит, криво вертекс поменял.
Ссылка на комментарий
Kosha, в каком туторе? По какому вертексу? Как вычислял? Ну что мне, в самом деле, клещами у тебя слова вытаскивать? Надо найти разницу между новым начальным вертексом и старым - и прибавить эту разницу к вертексам всех объектов на локе. Так делал?
Ссылка на комментарий

Kosha, в каком туторе? По какому вертексу? Как вычислял? Ну что мне, в самом деле, клещами у тебя слова вытаскивать? Надо найти разницу между новым начальным вертексом и старым - и прибавить эту разницу к вертексам всех объектов на локе. Так делал?

 

там было написано:

берете переход с локаций на которой хотите его разместить делаете его на локаций и на навей локаций. Теперь надо подогнать вертексы. Видите строчку

game_vertex ? Вписывайте туда:

если ЧН = 1620

если ЗП = 934

 

Т.К. делаю на ЧН то вписал 1620

Изменено пользователем KD87
Ссылка на комментарий

Kosha, ну вот, делаешь, не думая, потом возникают вылеты. Так делать нельзя, а писал тутор дурачок. Делать так: берешь старый начальный гейм-вертекс локации. Если локация первая в графе (ну и по игре) - он будет 0. Если нет - смотришь начальные вертексы с помощью ggtool.pl. Берешь новый начальный гейм-вертекс локации. Тут только ggtool.pl. Вычитаешь из нового старый. Прибавляешь к гейм-вертексам всех объектов на локации эту разницу.

Это инструкция по перегону объектов локации из старого спавна этой локации. Если тебе надо спавнить новый объект - перемещаешься на эту локацию и снимаешь координаты. Только так. Если тебе надо заспавнить переход НА эту локацию, делаешь следующее:

1) с помощью ggtool.pl распаковываешь граф.

2) выбираешь подходящий тебе вертекс, принадлежащий новой локе. Соответствие локе смотришь по level_id

3) заполняешь секцию перехода в спавне следующим образом:

dest_game_vertex_id = номер вертекса

dest_position = level_point вертекса

dest_level_vertex_id = level_vertex_id вертекса

 

Можно эти параметры узнать проще - заспавнь в СДК какой-то предмет на этой локе, потом распакуй спавн и возьми координаты, гейм-вертекс и левел-вертекс предмета. Правда, в СДК уж можно и сразу переход сделать :)

Ссылка на комментарий

Если локация была создана в SDK,то не нужна утилита по привязке локации.Это всё делается в SDK.Единственная проблема об этом нет описания.

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

Genior.gif

button.png

Ссылка на комментарий

Вообще, чтобы прикрутить новые локи к существующим в ЗП через СДК схема такая (я так делал):

 

1. Декомпилить все локи ЗП.

2. Для кождой локации:

- Скомпилить на драфте геометрию (можно один террейн, чтобы быстро)

- Выгнать из СДК и скомпилить AI-map на hi

- Выгнать из СДК спавн всех ЗП лок.

3. Поставить переходы и связать граф-поинты новых лок и ЗП.

4. Скомпилить весь спавн (лок ЗП и новых.)

 

Не забыть перенести файлы level.ai старых ЗП-шных лок и новых. Тут понятно, что без перекомпиляции аи-мап локаций (старых и новых) не обойтись.

 

5. Наслаждаться )))

 

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

 

Есть один нюанс - при декомпиле лок ЗП бьются настройки левел-ченджеров в ЗП, нужно посмотреть в аллспавне и поставить как там. А то проводники не будут работать, будет вылет.

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

Без проблем его сделать!) В сдк ты ставишь только рестриктор... Все равно в скриптах добавлять надо.

Так не легче ли распаковать спавн и вставить туда ресриктор, чем ставить в сдк, потом компилить и прочее?

Ссылка на комментарий

Я понимаю, что без проблем его сделать, а как ты точно по объекту его подгонишь? А если объект не прямоугольное здание, а подвал сложной формы, где нужно дедать разные шейпы и аттачить их, подгоняя по форме объекта? А за сколько времени ты сделаешь вей-поинты сложного пути в нужных местах, загружая игру и и снимая кучу координат? Я в СДК секунд за 30 сделаю. И прочее-прочее. Спорить можно долго, но СДК - это основной инструмент разрабов и преимущества и скорость работы очевидны. На этом оффтоп заканчиваю.

 

Полностью поддерживаю. И в вопросе СДК, и в решении закончить оффтоп :) KD87

Изменено пользователем KD87
Ссылка на комментарий

Появился следующий вопрос.

Собрал новую локацию.

Подключил. Начал новую мгру.

Побегал, и в определённом месте вылет:

Expression : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID)

Function : CALifeSwitchManager::add_online

File : D:\prog_repository\sources\trunk\xrGame\alife_switch_manager.cpp

Line : 64

Description : Invalid vertex for object

Arguments : sim_default_stalker_500257

 

 

Как излечить это? В спавне нет ничего, кроме лесниц, meshes-объектов и Гг.

Заранее спасибо.

Ссылка на комментарий

ggTool.pl на какой версий перла его надо запускать ? при запуске на 5.14.2 билд 1402 всего лишь на секунду появляется командная строка windows и все (у мя если что win 7 )

 

 

Ссылка на комментарий

На 5й все точно работает, просто нужно знать, как использовать скрипт (открой .pl файл блокнотом, он является исходником, ближе к концу в sub usage увидишь что-то типа Usage: ggtool.pl -d game.graph). Запускать из командной строки Шиндошс, в конце пакетника писать pause.

Изменено пользователем call505
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...