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

[CoP] Ковыряемся в файлах


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

Sektor1986, твой вопрос более уместен и имеет шансы на ответ в тематическом топике: Сообщество Мапперов

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Доброго времени суток.

Имеется такой вопрос: как можно защитить валяющееся оружие от шустрых НПС?

Т.е. необходимо сделать так, чтобы НПС не подбирали несколько определееных стволов.

userbar368.png

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

Callisto,

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

А с другой, если используется сторонняя схема собирательства, то достаточно в нести в нее желаемые предметы "не для подбора" в списки исключений, но это уже зависит от реазизации конкретной схемы (скрипта).

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Доброго дня (или ночи).

Кто-нибудь знает, где находятся приоритеты работ в смарт-тирейне (walker, guard, sleeper и т.д.)?

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

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

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

Artos, В корне с этим не согласна. Если выбросить оружие перед НПС, он его подбирает.

А поиграв с параметрами going_item_detect_probability и search_item_detect_probability в m_stalker.ltx расстояние можно увеличить, опытным путем выяснилось, что они, если выбросить оружие, сразу бегут за ним и чуть ли не дерутся :) Игра чистая 1.6.02.

Логично предположить, что они подчиняются какой-то схеме, но вот где она и как она работает пока никак не могу найти.

Конечно, в выше указанных параметрах, значения указаны небольшие, но хочется подстраховаться.

userbar368.png

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

Доброго времени суток!

У меня такой вопрос возможно ли как то прикрутить к экзоскелету (Зов Припяти) систему автозахвата целей как в бинокле и в оптических прицелах? Если да, то если не трудно расскажите, как или дайте ссылку на эту тему.

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

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

Callisto, и правильно, что не соглашаешься "в корне" :good2: , однако тогда все гораздо сложнее ... :ok5: и, по началу не стал "заморачивать".

1. Все же некорректно делать сравнения специально выброшенного под нос неписю предмета с "валяющимся", о чем пишешь в вопросе...

Конечно, если выбросить "под нос", то некоторое время ((мили)секунды) предмет "валяется", и НПС даже без схемы собирательства (т.е. в чистой игре) подберет, если оружие и если оно ему по рангу. Вот тут и есть частичные подсказки, если не хочешь чтобы оружие подбиралось:

- делай его недоступным "по рангу" для непися (однако, не исключено, что может попасться тот кому по рангу оно подойдет);

- "клади" оружие на такие дистанции или в такие места, где НПС не реагируют на него, т.е. не включается действие "подобрать предмет".

2. Ты совершенно логично предполагаешь, что неписям присуща некая схема, когда они все же подбирают валяющиеся предметы. И даже можно найти в кодах упоминание неких действий (action) типа stalker_ids.action_gather_items. Вот только они зашиты в движок... а значит недоступны для гибкого управления. т.е. невозможно указать конкретный предмет "чтобы не подбирали".

 

Может быть кто-то еще подскажет как недопустить "подбора конкретного оружия", но пока, вероятно, имеются только два способа: а) оружие не должно быть доступно для НПС по рангу (т.е. оно ему "не интересно") или б) мониторить состояние интересующего оружия и, в случае его "подбора" (появляется владелец) - принудительно "отбирать" и возвращать на место. Оба способа имеют изъяны и ограничения и их требуется и учесть и преодолеть.

Ну и из области "пофантазируем": если валяться будет "фейковое оружие", т.е. вроде как оружие (визуал, иконка, имя), но, например, сделанное на классе "не оружия" (например еды иль антирада), то ... НПС такой предмет не подберут (в чистой игре), а при подборе актором - тут же подменять фейковое на настоящее... ;)

 

klesov1407,

Краткий ответ: невозможно к костюмам прикрутить автозахват целей 'как в бинокле или прицелах'.

 

Сталкер Лом, приоритеты для работ "находятся" только в конфигах, где эти работы прописаны, а в смарт-тирейнах (гулагах) они только учитываются при выдаче.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos, может мне показалось и я не права, но оружие НПС подбирают в зависимости от, своего и, если лежащий ствол хуже, они его игнарируют. Надо поболее поэксперементировать :)

если валяться будет "фейковое оружие"

А вот это интересная идея и для меня вполне подойдет :)

Спасибо за идею.

userbar368.png

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

Callisto, как раз критерий "ствол хуже/лучше" для НПС и определяется настройками конфиг-файла mp_ranks.ltx.т.е. в зависимости от ранга. Точнее, критерий тут не "хуже/лучше", а "не по рангу" и, подобрать то могут и худшее (в инвентарь), но не подберут то, которое им не по рангу.

Легко увидеть в игре, как новички игнорируют различное "крутое" оружие, предпочитая обрез иль ПМ... (не логично, но так разрабы реализовали элемент баланса в игре)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

...устанавливаются/удаляются метки (типа level.map_add_object_spot...

А где посмотреть типы значков? ну например в ТЧ это "level_changer","crcl_small" как-то так... А вот где прописаны уже существующие значки? Которые стоят на техниках и тд

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

_Призрак_, а можно хотя бы тезисно привести вариант реализации подобного?!

Если ты имеешь ввиду типа amk_target.script по визуализации псевдо-активных рамок по сопровождению цели - то это никак не 'как в бинокле или прицелах', да и "костюм" тут если только "за уши" притянут. ;)

 

stalkerok007, учись в первую очередь самостоятельно искать ответы на свои вопросы, а уж потом, не найдя ответов, задавай их другим.

Зная имя метки - легко простым поиском по имени найти в ресурсах игры все что связано с этим именем.

Легко найти и увидеть где прописаны разработчиками игры различные метки, т.к. даже само имя конфиг-файла подсказывает: \gamedata\configs\ui\map_spots(_16).xml. В модах могут быть прописаны и в других файлах, где захотелось моддмейкерам.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos, в task_manager.script нашел кое-что:

...
if(self.storyline) then
level.map_add_object_spot(self.current_target, "ui_storyline_task_blink", "")
else
level.map_add_object_spot(self.current_target, "ui_secondary_task_blink", "")
end
...

else
if(self.storyline) then
level.map_add_object_spot(t_target, "ui_storyline_task_blink", "")
else
level.map_add_object_spot(t_target, "ui_secondary_task_blink", "")
end
...

Я как понимаю это оно самое...

Но: куда вписывать story_id? и тд

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

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

Уже ранее писал, чтобы заглянул в топик-справочник и посмотрел бы как используется метод. Неужели требуется пояснять, что 1-ым аргументом идет именно story_id и "вписывать" его в приведенных кодах уже не требуется, он уже "вписан" (self.current_target иль t_target). Ну а имя метки - идет вторым аргументом ("ui_storyline_task_blink").

Далее, плз, читай скрипты (это в переводе "сценарий"!) и сам толкуй их на базе полученный знаний из мануалов по Lua и из различных справочников.

(для портянок кодов на форуме принято использовать тэги спойлера)

 

P.S. Сорри, обшибся, поспешив с ответом, исправляюсь:

Легко увидеть как ставится метка по story_id в ТЧ - т.о. делай в точности так как в тобою же упомянутом скрипте level_tasks.add_location(story_id, location, hint), т.е. получай игровой id по story_id и ставь метку.

Или скопируй себе в удобное место (в свой скрипт) указанную функцию и используй ее в ЗП так же как в ТЧ.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Priboj37, ты прочел вопрос и то, что ниже?

Какая разница для НПС, квестовым-итемом является оружие иль нет? Подгребают все, что соответствует "оружие по рангу".

И в какой такой файл нужно/можно секцию (иль что иное) прописать, чтобы встроенная в движок схема подбора не срабатывала? :shok:

(речь не идет о сторонней AI-схеме подбора...)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos, Callisto,

сама функция подбора оружия у нпс вшита в движек, но есть скрипт(схема), которая вызывает эту функцию - xr_gather_items.script, строка отвечающая за подбор оружия:

return self.object:is_there_items_to_pickup()

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

Изменено пользователем Viнt@rь
Ссылка на комментарий

Viнt@rь, в движок вшита не столь 'функция', а весь алгоритм подбора предметов (не только оружия). Какав этот алгоритм - только можем гадать. ;-(

Внешний скрипт xr_gather_items.script , который появился только в ЗП, дает возможность включать или отключать некий кусок алгоритма (подозреваю не только оружия), но ни коим образом не дает возможность исключить/запретить подбор именно какого-то конкретного предмета(ов).

Упомянутая строка ( return self.object:is_there_items_to_pickup() ) всего лишь возвращает булево значение о том, включен ли вообще подбор или нет, т.е. то, что задано в конфиге логики. Т.е. можно неписю принудительно запретить что-то подбирать вообще, но не что-то конкретное (дефолтно все и всем разрешено).

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

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

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

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

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

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

Войти

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

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

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