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

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


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

Всем привет. У меня возникла одна проблема при перевооружении нпс. Почему то иногда у них на трупах нету вспомогательного оружия, то есть патроны  к пистолету есть а пистолета нет. Это чинится в аль спавне или где то в другом месте? И ещё, как сделать так, чтобы у нпс оружие всегда было заряжено, как в олр?

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

Ищу способ реализации хромоты через скрипты. Либо иной возможности ограничить нашему любимому actor'у способы перемещения по игровому миру.

Уменьшение скорости/запрет спринта (так например, путём некоторых поисков удалось отыскать эту функцию в lua_help:"function allow_sprint(boolean)", но изменить её никак не выходит).

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

Стандартная "use_limping_state" вызывается через движковый метод, что может быть и подошло бы, если бы была возможность вызова через скриптовые методы.

Поиски в гугле/на форуме тоже не увенчались особым успехом в этом плане. Единственно предложенные варианты которые были найдены, затрагивают движковые правки, что сделать невозможно. В основном из-за того, что я редактирую не чистый xray, а dead air'овский, исходников которого нет. А он там 100% был изменён, так как функция замедления передвижения при взятом в руки "большого" оружия реализована именно через движок и вся реализация заложена в нём.

 

У кого-какие будут предложения?

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

@MZMAN, посмотри здесь. Не поможет?

  • Спасибо 1
Ссылка на комментарий
20 минут назад, Murarius сказал:

@MZMAN, посмотри здесь. Не поможет?

Да, это как раз то, чем я и занимаюсь. И нет, к сожалению не особо помогло, т.к. там реализовано через движковую правку.

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

Но, всё равно огромное спасибо. Как-то и не думал искать именно переломы ног в сталкере :)

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

@MZMAN, Насколько я помню, в оригинале, если надеть Экзу, нельзя было бегать. Может в этом направлении покопать? Или это тоже движково реализовано?

Сталкер - наше всё!

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

@AndrewMor, не, это в конфиге броньки разрешается/запрещается. Конкретно в секции экзы. Спринт алоу = труе/фэлс если склероз в отпуске.

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

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

В конфиге оружия тоже можно это делать.

  • Согласен 2
  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

Всем привет, проблема такая, взял систему постепенной регенерации из лурк мода, и она прекрасно работает, но когда даешь аптечку раненому сталкеру, он просто ее забирает и не лечится, причем он может брать ее до тех пор, пока аптечки не кончатся. А теперь вопрос, можно ли это поправить?

P.S версия тч 1.0004

Изменено пользователем W.A.S.P.
оверквотинг
Добавлено  Опричник,

Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/

Ссылка на комментарий
19 часов назад, UriZzz сказал:

это в конфиге броньки разрешается/запрещается. Конкретно в секции экзы. Спринт алоу = труе/фэлс

Ну правильно, но этот параметр ведь движком читается.

 

18 часов назад, Zander_driver сказал:

В конфиге оружия тоже можно это делать.

Вот этого не знал, но в своем предыдущем посте что-то этакое и имел в виду.

Сталкер - наше всё!

Ссылка на комментарий
18 часов назад, UriZzz сказал:

Конкретно в секции экзы

Вот это кстати неверно. Посмотрел сейчас в исходники... :rolleyes: параметр sprint_allowed читается в классе CInventoryItem. Т.е. вообще все-любые инвентарные предметы.

А проверяется - у активного итема и комбеза. Т.е. sprint_allowed = false подействует даже в секции болта, если там это прописать.

  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@Zander_driver, да кто спорит, но изначально из всех броников сей параметр имеется только у экзоскелета, вот я и заострил внимание на экзике. Ну у оружия я не помню, по моему у СВД, СВУ, у Гаус винтовки по моему спринт запрещен.

3 часа назад, AndrewMor сказал:

правильно, но этот параметр ведь движком читается.

Но не жёстко же прописан, включается и выключается для той или иной секции отуфита, веапона, etc через конфиг:614:

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

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Ссылка на комментарий
5 часов назад, UriZzz сказал:

Но не жёстко же прописан, включается и выключается для той или иной секции отуфита, веапона, etc

Именно, через строчку в конфиге, а не скриптово. Кстати, про оружку не знал, что такой параметр прокатит.

 

upd: а ведь точно, вроде и с Гауссом такое связано...

Изменено пользователем AndrewMor
  • Согласен 1

Сталкер - наше всё!

Ссылка на комментарий
В 01.02.2020 в 22:49, MZMAN сказал:

У кого-какие будут предложения

С одной стороны, довольно просто в нужный момент удалять с ГГ одетый костюм и спавнить ему производный от удалённого с отключенной возможностью бега и тем же кондишеном. И обратно. Но это так себе способ, заморочки с новыми секциями костюмов и всё такое...

Здесь могла быть ваша реклама.

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

Есть такая функция 'object_by_id' она проверяет в онлайн-ли объест. Собственно вопрос: Что такое онлайн? Это когда db.actor ~= nil (так я думал до сегодняшнего дня) или нечто иное? 

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

@Mass, Сталкер это клиент-серверная игра. Т.е. в ней есть сервер, на котором "все" (Ну, почти) объекты, существуют всегда. И "клиент" в котором только актор и его ближайшее окружение. Только то, что входит в онлайн-радиус, или находится на той же локации что и актор.

Вот те объекты, которые есть на клиенте - они в онлайне. level.object_by_id получает онлайновый / клиентский объект. Объект который находится за радиусом алайфа, будет скорее всего, оффлайн. Т.е. игроком в онлайне, в игре, наблюдаться не будет, даже если геометрия локации как бы позволяет увидеть его на этом расстоянии. Для разных классов объектов переход в онлайн-оффлайн может несколько по разному работать, некоторые могут загружаться в онлайн вместе с локацией, невзирая на расстояния до актора.

Любые какие угодно объекты на других локациях (Т.е. все кроме той, где актор сейчас) - всегда в оффлайне.

 

Есть (бывают) еще системы компрессии. Которые в онлайн-радиусе могут создавать / мониторить состояние неких объектов, а когда объекту пора уйти в оффлайн, он просто удаляется (И из сервера тоже), чтоб не создавать нагрузку на игру, а оставляется лишь некая запись, содержащая минимальную информацию чтобы этот объект восстановить когда будет надо.

Изменено пользователем Zander_driver
  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

Лишь геометрия загружается полностью:biggrin:, если бы и с локациями можно было бы проделывать такое, разбивать на квадраты и подгружать (динамическая подгрузка ландшафта), можно было бы локи возводить какого угодно размера, пока весь ЖД не забьется))).

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

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

@Zander_driver

50 минут назад, Zander_driver сказал:

Т.е. игроком в онлайне, в игре, наблюдаться не будет,

Я вот также думал, пока в лог не вывел пару функций из xr_gulag.script. Когда при загрузке юзается level.object_by_id, а актор еще не определен. Это нормально?. Давно в сталкерские коды не лазил, решил вспомнить...

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

Здравствуйте! 

Ковыряюсь в ЛостАльфе, хочу сделать так, чтобы можно было лечить врагов. 

 

Разрешил и настроил диалог, настроил изменение изменение отношение на нейтрала. 

 

Но после того, как нпс подлечился, он не выходит из состояния боя (хотя становится нейтралом). Целится в актора, пытается его ударить, но не может. Если мы отходим чуть дальше, или сам нпс отходит в укрытие, он переходит в состояние post_combat_wait, ждёт, и потом уже всё нормально. 

 

Можно ли как-то "выключить бой" после лечения, чтобы нпс сразу забывал про актора, не переходя в посткомбат? 

Ссылка на комментарий
5 минут назад, Usman_Shinobi сказал:

он не выходит из состояния боя

Обычно, в имеющихся схемах, ИМХО, нужно сделать сейв-лоад... 

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

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

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

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

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

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

Войти

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

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

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