Перейти к содержанию

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

 
 
6 минут назад, Neptun сказал:

 

Это очень вряд ли. Сам собирал по крупицам по всему Интернету.

Понял, спасибо, буду искать значит поштучно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, Duoddarhalti сказал:

Понял, спасибо, буду искать значит поштучно)

Поищи на stalker-mods.clan, там много моделей можно достать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
10 часов назад, WolfHeart сказал:
  Видео (Показать контент)

 

 


Дополнено 2 минуты спустя

Текста много, а главного нет. Где лог вылета игры?

Вот лог. 

Спойлер

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ... pripyat\gamedata\scripts\state_mgr_animation.script:245: attempt to index field 'anim_path' (a nil value)
 

stack trace:

0023:69737365 Windows.UI.dll

Короче я решил проблему с ОМФ файлом и там всё порядок, надо было просто не из СДК экспорт делать а из блендера с импортированными Bone Parts. Но до сих пор проблема с крашами есть. Я прописал анимации в state_mgr_animation_list и state_lib и вот как они там выглядят. Анимацию добавил в stalker_scenario_animations.

Анимация подписана exercise в ОМФке.


unknown.png unknown.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

shadept а зодумоца, что означают строчки в скриптах не пробовал?)

Разумеется игра будет на такое ругаться. Ты не добавил описание своей новой анимки от слова "совсем", забив во все параметры nil. Что по твоей задумке должен делать НПС в этот момент? Какую анимацию отыгрывать? Exercive_anim в твоём случае - это не название skl, который ты подгружал, а название секции, из которой он будет читаться. В менеджере есть параметры into, idle и out для названия анимки входа в состояние, действий в ней и выхода из неё соответственно. Там без ста граммов не разберёшься, конечно, но в твоём случае всё довольно просто. Единственное что: если твоя анимка - это чисто идловое состояние, для которого нет анимок входа и выхода, то НПС будет очень резко менять положение костей на заданное, что некрасиво, но допустимо для статистов на всяких базах. В слитых билдах Фрозяна такого как раз полно.

UPD: каюсь, не заметил, что анимка прописана в idle. Правда странно, что оно после rnd, обычно перед. А попробуй так:

exercise_anim =     { 
    prop = { maxidle = 3, sumidle = 3, rnd = 100 }, 
    into = nil,
    out = nil, 
    idle = nil, 
    rnd = { [0] = {"exercise"}}
    },

По идее должно работать. К сожалению ни одного нормального разбора параметров этого скрипта я не видел, так что приходится пользоваться копипастом и божьей помощью.

Изменено пользователем Seraph

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
11 минут назад, Seraph сказал:

shadept а зодумоца, что означают строчки в скриптах не пробовал?)

Так пробовал. Игра не знает, где анимация. Указал анимацию в файлах, но вот всеравно.

13 минут назад, Seraph сказал:

Разумеется игра будет на такое ругаться. Ты не добавил описание своей новой анимки от слова "совсем", забив во все параметры nil. Что по твоей задумке должен делать НПС в этот момент? Какую анимацию отыгрывать? Exercive_anim в твоём случае - это не название skl, который ты подгружал, а название секции, из которой он будет читаться. В менеджере есть параметры into, idle и out для названия анимки входа в состояние, действий в ней и выхода из неё соответственно. Там без ста граммов не разберёшься, конечно, но в твоём случае всё довольно просто. Единственное что: если твоя анимка - это чисто идловое состояние, для которого нет анимок входа и выхода, то НПС будет очень резко менять положение костей на заданное, что некрасиво, но допустимо для статистов на всяких базах. В слитых билдах Фрозяна такого как раз полно.

Анимация для теста, так что не возражаю на резкое передвижение. Я забил анимации в файлы на скринах. Там написано, что играет анимка exercise. nil я написал там, где он и в других анимациях. Делал по вот этому видосу. image.png.f4d36fcdd3be949f8a8111f246159bf2.png

Вот анимация. Всё указано, что надо вроде бы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

shadept Да, сорян. Я заметил и выше дополнил коммент. Попробуй тот код использовать.

UPD: Хотя у меня с ним не работает. Вот такую схему проверил (с другой анимкой, разумеется), пашет.

exercise_anim   = { prop = { maxidle = 1,
         sumidle = 1,
         rnd = 30,
         moving = true },
         into = { [0] = {"exercise"}},
         out  = { [0] = {"exercise"}},
         idle = { [0] = "exercise" },
         rnd  = nil },

UPD 2: Не, прошлая тоже таки работает. Вот, собственно, две альтернативы тогда на выбор)

Изменено пользователем Seraph
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
37 минут назад, Seraph сказал:

shadept Да, сорян. Я заметил и выше дополнил коммент. Попробуй тот код использовать.

UPD: Хотя у меня с ним не работает. Вот такую схему проверил (с другой анимкой, разумеется), пашет.

exercise_anim   = { prop = { maxidle = 1,
         sumidle = 1,
         rnd = 30,
         moving = true },
         into = { [0] = {"exercise"}},
         out  = { [0] = {"exercise"}},
         idle = { [0] = "exercise" },
         rnd  = nil },

Стоит на месте и крутится. Может это потому что вэйпоинт надо переставить, но вот только в СДК другая лажа и нельзя скомпилить спавн почему-то. В логе вот что дает: 

Спойлер

* New phase started: Processing level graphs
 
FATAL ERROR
 
[error]Expression    : assertion failed
[error]Function      : CGraphMerger::CGraphMerger
[error]File          : D:\prog_repository\sources\trunk\utils\xrAI\xr_graph_merge.cpp
[error]Line          : 597
[error]Description   : tpGraphs.size()
 

stack trace:

 

UPD: Забыл локу прописать после того как менял конфиги. Просто чистил gamedata от мусора тем что поверх неё ставил чистую. Закомпилилось.

Изменено пользователем shadept

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

shadept Загуглив вылет, получаем информацию, что скорее всего локация не прописана в конфигах game_graphs, game_levels и game_map_single. Это, кстати, очень хороший способ не ждать ответа на форумах)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
51 минуту назад, Seraph сказал:

shadept Загуглив вылет, получаем информацию, что скорее всего локация не прописана в конфигах game_graphs, game_levels и game_map_single. Это, кстати, очень хороший способ не ждать ответа на форумах)

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

Ну я как раз и загуглил. Обычно просто проблема не совпадает как например с тем, как игра не находила анимацию, то вот поэтому не всегда гуглю. Я закомпилил локацию, но всеравно перс просто крутиться или же стоит и смотрит туда, куда я вообще вэйпоинт не ставил. Щя через смарткавер сделаю, посмотрим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, Seraph сказал:

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

Короче, анимации в смарткавере нету. ХЗ как их туда добавлять. Я видел там челик один добавил новые, но у меня там ничего нету в description из моего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

shadept Это неважно, по крайней мере если в кэмпе его не юзаешь. Поставь обычный stay_table, а в логике работы пропиши avail_animations = exercise_anim.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
8 минут назад, Seraph сказал:

shadept Это неважно, по крайней мере если в кэмпе его не юзаешь. Поставь обычный stay_table, а в логике работы пропиши avail_animations = exercise_anim.

Я просто логику для такого не писал ещё. В видосе, который я кинул там что-то шаманят непонятное. ХЗ просто как подписываются анимпоинты в логике. Я так понимаю нужно её писать там, где и смарт тэрэйн в конфигах?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

shadept В кастом-дате смарта создаёшь секцию для эксклюзивов:

[exclusive]
job_name = location\job_name.ltx

В job_name.ltx пишешь (заменяя мои примерные параметры на подходящие и удаляя комменты):

[logic@job_name] -- название секции логики, отсылается к тому, что мы прописывали в секции эксклюзива.
suitable = {=check_npc_name(npc_name)} true -- работу сможет занять только указанный НПС, если не прописывать - любой рандомный в смарте.
active = animpoint -- название активной секции.

[animpoint]
cover_name = cover_name -- имя твоего кавера.
use_camp = false -- может ли использовать схему болтания у костра.
avail_animations = anim_name -- имя твоей анимации

Логика максимально примитивная, но для проверки подойдёт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
53 минуты назад, Seraph сказал:

shadept В кастом-дате смарта создаёшь секцию для эксклюзивов:

[exclusive]
job_name = location\job_name.ltx

В job_name.ltx пишешь (заменяя мои примерные параметры на подходящие и удаляя комменты):

[logic@job_name] -- название секции логики, отсылается к тому, что мы прописывали в секции эксклюзива.
suitable = {=check_npc_name(npc_name)} true -- работу сможет занять только указанный НПС, если не прописывать - любой рандомный в смарте.
active = animpoint -- название активной секции.

[animpoint]
cover_name = cover_name -- имя твоего кавера.
use_camp = false -- может ли использовать схему болтания у костра.
avail_animations = anim_name -- имя твоей анимации

Логика максимально примитивная, но для проверки подойдёт.

Пока компилится решил спросить - где можно обучиться писанию логики для сталкача через видео или текстовый материал без лишней воды?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

shadept Кидал выше и кидать не устану. Прекрасная статья, к которой регулярно возвращаюсь. Единственное что: она больше под ТЧ заточена, некоторые специфические ЗП-штуки там не рассматриваются. Где рассматриваются - самому интересно.

http://stalkerin.gameru.net/wiki/index.php?title=Настройка_логики._Часть_0

Изменено пользователем Seraph

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 минуты назад, Seraph сказал:

shadept Кидал выше и кидать не устану. Прекрасная статья, к которой регулярно возвращаюсь. Единственное что: она больше под ТЧ заточена, некоторые специфические ЗП-штуки там не рассматриваются. Где рассматриваются - самому интересно.

http://stalkerin.gameru.net/wiki/index.php?title=Настройка_логики._Часть_0

Непись ничего не делает кроме анимации стояния. 

image.thumb.png.9a7d973d6e56254206841e64a8ddb67f.pngВот у меня всё тут указано и вроде бы правильно. Написал его в первый смарт тэрэйн где сидят сталкеры.

image.png.ee2d114dae26faacfab018d401f094f6.png

Я то нашел какую-то проблему и сейчас её исправляю, но вот оно на другой смарт там было написано, а не на тот, что нужен. Всеравно тот другой непись ничего не делал кроме анимации стояния. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

shadept Ну ты бы хоть посмотрел, как в оригинале такое прописывается)

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

UPD: А ещё ты вроде как ссылаешься на секцию job_name в job_anim.ltx, по почему-то в job_anim.ltx  у тебя только секция job_anim. Путаешься)

Изменено пользователем Seraph

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
20 минут назад, Seraph сказал:

shadept Ну ты бы хоть посмотрел, как в оригинале такое прописывается)

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

UPD: А ещё ты вроде как ссылаешься на секцию job_name в job_anim.ltx, по почему-то в job_anim.ltx  у тебя только секция job_anim. Путаешься)

Компилится. А вот эти гулаги только в ТЧ? В ЗП там по-другому называются просто наверное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

shadept Ты же не перекомпиливаешь каждый раз всю локацию после изменений в спавне?)

В ЗП так же используются гулаги. Немного по-другому, но скрипт xrgulag как бы намекает, что именно можно сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
20 минут назад, Seraph сказал:

shadept Ты же не перекомпиливаешь каждый раз всю локацию после изменений в спавне?)

В ЗП так же используются гулаги. Немного по-другому, но скрипт xrgulag как бы намекает, что именно можно сделать.

Краш в игре. Может от скриптов. Вот лог:
 

Спойлер

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...talker call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil)
 

stack trace:

В скриптах вот: image.png.61b11448033249412edc8cc59a85ddd5.pngimage.thumb.png.529e43874b18a9f3fa9fb92d1f69a39b.pngimage.png.acfbac5ba46e826798756ec40078be2c.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

shadept Насколько помню, комментарии с точкой с запятой в логике приводят к сбоям. Удоли)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Seraph сказал:

Единственное что: она больше под ТЧ заточена, некоторые специфические ЗП-штуки там не рассматриваются. Где рассматриваются - самому интересно.

А не пробовал заглядывать в папку help SDK?

Хотя конечно если устанавливал чью-то сборку, а не официальный, то ее там может и не быть.

Вот: help.7z

Изменено пользователем WolfHeart
  • Лайк 1

EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

WolfHeart Да, в моей сборке её не было, качал дополнительно как раз ради этой папки, но пока не изучал. Там есть разбор параметров тех же анимпоинтов? При беглом просмотре показалось, что там больше по работе с ЧН инфа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, Seraph сказал:

Там есть разбор параметров тех же анимпоинтов?

Оглавление Gamedesigner_education.pdf:

1.png

Это из офиц СДК СоР, ну и там еще много чего полезного.


EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   2 пользователя онлайн