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

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

Тема для обсуждения скриптов всего и всех в серии игр STALKER.


Задавая вопрос (!):
1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего;
2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме);
3. Изучите информацию которая может вам помочь:

  Информация (Показать)

4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос;
5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе;
6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода;
7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины.
8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ.
9. И помните: «Правильно заданный вопрос – половина ответа».

 

Какие вопросы следует задавать, а какие нет...

  Читать рекомендуется. (Показать)

И последнее: очень рекомендовано к прочтению Правила форума
 


  • Спасибо 1
  • Полезно 2
Ссылка на комментарий
  29.06.2019 в 21:38, _Sk8_AsTeR_ сказал:

звуки эмбиента ... например, ночью - постоянный звук сверчков...

Может с таким вопросом лучше в тему СДК ?

Ссылка на комментарий
  29.06.2019 в 22:22, _Sk8_AsTeR_ сказал:

может есть скриптовый метод...

Есть ф-ционал проигрывания звуков. Вот тока зачем озвучку окружения лепить скриптами?

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

@AndreySol, путь наименьшего сопротивления, наверное. С СДК я дел не имел как таковых.

Господа, а есть вероятность научить НПС покидать лагеря и перемещаться в другие? Или иначе говоря как можно заставить НПС уйти из лагеря и просто гулять по зоне? Никто таким не занимался? Нет мыслей куда копать? 

 

Изменено пользователем _Sk8_AsTeR_
Ссылка на комментарий
  30.06.2019 в 11:24, _Sk8_AsTeR_ сказал:

Нет мыслей куда копать? 

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

Ссылка на комментарий
  30.06.2019 в 11:24, _Sk8_AsTeR_ сказал:

Никто таким не занимался? Нет мыслей куда копать?

Можешь попробовать покопать вот этот скрипт:

https://github.com/dsh2dsh/op2ogse/blob/master/gamedata/scripts/dsh/dsh_walking_stalkers.script

Он периодически выгоняет сталкеров из лагерей, что бы они шли в другие.

 

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

@dsh, сопоставляя Ваш ник, имя скрипта и одноименного мода хочется задать закономерный вопрос - Вы автор скрипта? :) Чуть-чуть бы подробностей, и Вы бы осчастливили одного человека на этой планете! 

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

Комсомол не ищет легких путей (а еще ленится разбирать нетпакеты): вместо чтения флага съемного прицела из нетпакета пошел через fov. Метод не самый оптимальный в плане того, что оптику низкой кратности приходится исключать вручную, но общий размер кода меньше.

 

  Статистика (Показать)

 

Скрипт вывода состояния прицела:

  Код (Показать)

 

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

@_Sk8_AsTeR_, ты же просил покопать что-нибудь, а теперь подробности... Насчет подробностей - это скрипт нужно изучать. А вкратце, все начинается в periodic_job(). Обходятся все смарты, из них выбираются не эксклюзивные сталкеры. Чем дольше сталкер в лагере, тем вероятнее, что он будет выгнан. Формируется список тех, кого нужно выгнать и выгоняются. Запускается таймер на следующий обход и так по кругу. Сомневаюсь, что ты сможешь использовать этот скрипт как есть, но что бы покопать - подойдет.

 

Ссылка на комментарий
  30.06.2019 в 11:24, _Sk8_AsTeR_ сказал:

как можно заставить НПС уйти из лагеря и просто гулять по зоне?

Гугли - SANEX A-LIFE MOD

  Описание (Показать)

Существуют разные версии мода на разные версии ТЧ и модификаций.

 

 

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

@Space.Marine, Это немного не то. Убирать гулаки как раз не здорово. Нужно именно насильно выпроваживать их из лагеря в другой лагерь, таким образом имитируя в зоне бурную деятельность и случайные встречи с другими группировками

Господа, а еще вот такой вопрос: между звуковыми фразами НПС существует какая-то странная неприятная задержка. Как ее можно свести к минимуму?

Пример, сталкеры у костра, анекдоты травят:
-А чего я как-то слышал

Непонятная пауза в 2-3 секунды

-Сам анекдот

Снова непонятная пауза

-реакция на шутку от других НПС

Как можно убрать эти паузы?

Ссылка на комментарий
  04.07.2019 в 00:47, AndreySol сказал:

В радиусе 150м от ГГ.

Правильнее сказать, в радиусе А-лайфа, он может быть другим.

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

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

Блин, не хватает своих мозгов смекнуть, как убрать эти паузы между фразами НПС. Ребят, есть предположения куда ковырять? 

Суть: Убрать или свести паузы между фразами НПС, то есть между ИНТРО_ДЖОКЕ и самой шуткой, например, как это в той же CS реализовано. Есть идейки?

Ссылка на комментарий
  06.07.2019 в 16:54, _Sk8_AsTeR_ сказал:

Убрать паузы между фразами НПС

Если речь о ТЧ, то копать нужно файл xr_kamp.script.

Точно не знаю, что нужно править, но...

Нужно присмотреться к таблице self.timeout в CKampManager:__init, а также к вызовам xr_sound.set_sound_play в CKampManager:updateNpc, в тех где sound == "pre_joke" и sound == "play_joke", ну  и т.п.

  • Спасибо 1

S.T.A.L.K.E.R. CoP Objects (upd 15.11.24)

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

Ребята, в конфиге оружия (любого) есть некий параметр -> orientation = 3, 0, 0  : можно ли во время игры изменить параметры, которые заданы в файле *.ltx? Именно скриптом? Там может нетпакетами как-то и т.д... Вот логигу-же можно менять неписям через нетпакеты, может и значения можно? Перезаписывать данные в самом LTX - не обязательно, мне бы именно в игре изменить (хотя если можно LTX менять - то тоже пойдёт) меня конкретно интересуют именно параметры orientation = 3, 0, 0 , ну, вот например во время игры изменить 3 на 0 , возможно такое? Уже пару недель шукаю по всему интернету - не могу ничего путёвого найти ... Буду безмерно благодарен.

Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... ©

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

Здрасьте.

 

Есть ли способ перебора только онлайн-объектов без перебора всех объектов на карте? Скажем, надо обнаружить противника в заданном радиусе, меньшем радиуса A-life.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий
  08.07.2019 в 12:11, Norman Eisenherz сказал:

Есть ли способ перебора только онлайн-объектов без перебора всех объектов на карте?

Чем перебор объектов плох ? Если вызывать разово, по необходимости, а не вешать на апдейт в биндере актера...

 

Если очень надо именно без перебора всех объектов, то надо смотреть в сторону регистрации он-лайновых объектов в глобальную таблицу(в том же db.script к примеру). Судя по "надо обнаружить противника" разговор идет за НПСов, значит надо доделать в xr_motivator.script, в классе биндера регистрацию неписей в нет-спавн и отрегистрацию в нет-дестрой. Там кастати есть попытка такой регистрации\отрегистрации:

function motivator_binder:net_spawn(sobject)
    if not object_binder.net_spawn(self, sobject) then
        return false
    end

    db.add_obj(self.object) <- тута добавляем в таблицу

....

function motivator_binder:net_destroy()
    local st = db.storage[self.object:id()]
    if st.active_scheme then
        xr_logic.issue_event(self.object, st[st.active_scheme], "net_destroy", self.object)
    end

    db.del_obj(self.object) <-- тута убираем из таблицы

...

Тока вышеуказанные ф-ции в db.script выглядят так:

function add_obj(obj) <-- пустышка
end

function del_obj(obj)
    storage[obj:id()] = nil
end

Надо подумать, что же в таблице хранить, и доделать ф-ции.

 

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

@AndreySol Нет-спавн, скорее всего, не годится, тк проверку требуется выполнять не в момент загрузки, а несколько раз между загрузками. Перебор только db.storage – похоже, то, что нужно. Единственная непонятка: в заголовке [db.script] сказано "база данных живых онлайновых объектов …", но без проверки obj:alive() трупы тоже считаются активными противниками и приведенная ниже проверка выдает "true". Может, в проверке что-то не учтено?

 

  Код (Показать)

 

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий
  09.07.2019 в 04:34, Norman Eisenherz сказал:

сказано "база данных живых онлайновых объектов …"

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

  • Сочувствую 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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