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

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


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

 

 

файлы положил именно туда, куда тут и написано.
В оригинале звуки для роликов лежат по двум путям

\sounds\intro\

и 

\sounds\characters_voice\scenario\video\

 У тебя по обеим путям лежат или только по пути как написано ?

"Кругом зомби.....у меня кончаются патроны...."

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

Были по тому пути как написано. Положил и в sounds\intro тоже, но проблема осталась.


для проверки поставил звук из другого видео, которое нормально воспроизводилось.

В этом видео - все равно звук не появился. значит проблема не в звуковых файлах?

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

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

Всем привет.

Можно ли для БТР, в логике, указать несколько целей по story_id?

Открыл скрипт управления схемой указания цели, для story_id нашел вот что:

 

 

              n = tonumber(self.st.fire_target)

               if n then
                   obj = level_object_by_sid(n)
                   if obj and obj:alive() then
                       self.target_obj = obj
                       self.state_firetarget = state_firetarget_enemy
                   end
               end

 

Никакого перебора цели. Как видно мне читается число N, потом соотноситься N-->story_id, и передается БТР-у как цель.

 

Возможно ли сделать несколько story_id?

 

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

Как бы поправильнее тут сработать, используя IsMonster(obj), и, возможно, перебор всего в игре? Оптимизация пока не в приоритете, главное что-бы работало...

 

***************************************************************************************

 

Вот, что состряпал...

 

          if self.st.fire_target == "all_monster" then

 
for id=1,65534 do
local obj = level.object_by_id(id)
if obj~= nil then
if IsMonster(obj) then
               self.target_obj = obj
               self.state_firetarget = state_firetarget_enemy

 

Ушел тестить...


К вопросу выше - удалось передать БТР-у как цель НПЦ, через консоль(обязательно проверив цели на валидность) вывел инфу - всё вроде работает...

А чем мутанты не угодили? :angry:

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

Не соответствует правилам.

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

@CRAZY_STALKER666, можно сделать перебором таблицы db.storage - она намного меньше, чем 65535.

local obj
for k in pairs(db.storage) do
   obj = level.object_by_id(k)
-- и т.д....
Изменено пользователем naxac
  • Спасибо 1
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Сталкеры, а можно ли прописать вертолету не story_id-ы НПС, а скажем, конкретную группировку? Чтобы он не конкретного НПС обстреливал, а искал врагов в определенном радиусе?

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

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

@AndrewMor, нет. Тут не группировка нужна - а изменение боевой схемы птички.

Советую глянуть в сторону AI вертолетов от Kirag-а, там есть подобное...

  • Спасибо 1

Не соответствует правилам.

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

 

 

Советую глянуть в сторону AI вертолетов от Kirag-а, там есть подобное...

Я и сам так подумал, а спросил на всякий случай.

  • Согласен 1

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

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

таблица db.creatures

В солянке в ней хранятся онлайновые нпс и монстры,

id = game_object

 

А в ОП-2 еще и рестрикторы туда по ошибке запихали. А, может, это еще с солянки осталось...

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Люди, подскажите, как в ТЧ реализовать замерзание актора?
В принципе я представляю себе это на основе радиации, такой же способ действия, мол 3 уровня обморожения, а так же по нарастающей будет отниматься жизька.(на 1 уровне обморожения-немного, а на 3 уже больше.)  Но понятия о создание нового эффекта который будет действовать на ГГ-вообще не имею.

Либо подскажите в каком моде на ТЧ это реализовано.

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

- Пролетарии всех стран, соединяйтесь!

 

Ссылка на комментарий
WizziGun, варианта два. 

1. На исходниках 1.0007 ну тут собственно на что умения и фантазии хватит.

2. Более приземленный вариант - скриптово. В колбеке на апдейт актора сделай расчёт замерзания, основываясь на любых показателях, к примеру за каждую секунду нахождения на улице, ГГ замерзает на маленький процент. А оттуда вычитается сколько-то, чтобы эта величина начала не расти, а убывать, если ГГ у костра. Можно читать из конфигов брони созданные параметры, отвечающие за то, как костюм держит тепло. В общем, тут, в принципе, тоже насколько хватит фантазии; и реализация выйдет ничуть не хуже, чем в первом варианте, причем совместимость с другими модами будет выше. Можно даже ввести температуру на улице, в зависимости от локации, времени суток и хреналиона других факторов.  :)

  • Спасибо 1
Ссылка на комментарий

Два вопроса тут возникло. По логике НПС.

 

Во-первых, почему-то НПС несмотря на прописанные ему принудительно в логику:

combat_ignore_cond = always
danger = danger_condition

все равно продолжает обращать внимание на врагов, а во-вторых, после того как он ушел с точки (Допустим стреляясь с мутантом бегал по карте), назад не возвращается. Собсно, как заставить непися возвращаться на точку? Тот же Волк приходит обратно на сколько я помню. Ну и как заставить его не обращать внимания на вражин. Спасибо.

 

ЗЫ: логику не кидаю, т.к она банальна, например:

 

 

[walker@state1]
path_walk = ivan_walk
path_look = ivan_look
meet = meet

[remark@state1]
anim = sit_ass
;target = actor
no_move = true

 

 

Глючит и ремарк и волкер, и там и там обращают внимание на врагов и убегают с точки, а потом встают там, где закончили стреляться. no_move не помогает. Упертые.

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

@HellRatz, вроде же недавно тут обсуждали. У тебя "combat_ignore = combat_ignore" есть? Без указания combat_ignore combat_ignore_cond не используется.

  • Спасибо 1
Ссылка на комментарий
логику не кидаю, т.к она банальна

Ну и как твой непись будет возвращаться на точку, если ты ему "remark" прописал ? Насчет Волка - он после квеста на штурм бандюков на АТП переходит в "walker", потому и возвращается на точку. Проверь до этого квеста - не будет он никуда возвращаться...

Изменено пользователем UnLoaded
  • Спасибо 1
Ссылка на комментарий

 

 

combat_ignore = combat_ignore
не было. Упустил. Добавил - помогло. Спасибо.

 

 

 

если ты ему "remark" прописал
Ну так это был пример логики - мол, что там ничего такого не накручено, что может давать сбои. Из ремарка я переводил в волкер. А в ремарк добавлял но мув - но все равно двигается. Но это, в прочем, другая история, поковыряю еще.
Ссылка на комментарий

 

 

добавлял но мув - но все равно двигается.

 

Тут всё просто - даже при no_move = true, он переключается на движковую боевку( что является раздражителем) и уходит из под влияния xr_remark. Вот и двигаеться...

 

Ну про возвращение на точку тебе уже ответили - walker ставь, и всё)))

  • Спасибо 1

Не соответствует правилам.

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

Есть ли способ вывести в онлайн предмет, который на одной локации с ГГ, но за пределами 150 метров? Нужно скинуть вещи ГГ в ящик который довольно-таки далеко от него. Функция прекрасно срабатывает вблизи ящика, но не работает если мы далеко.

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

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

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

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

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

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

Войти

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

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

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