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

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

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


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

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

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

 

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

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

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


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

лог

  Раскрывающийся текст (Показать)
Изменено пользователем Artos
Ссылка на комментарий

Говори, что и где правил в бинд_сталкер и выкладывай все новые скрипты, под спойлер конечно.

Вылет (если я прав) указывает на то, что в скрипте inventory есть синтаксическая ошибка.

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий
  Цитата
Вылет (если я прав) указывает на то, что в скрипте inventory есть синтаксическая ошибка.
Это я понял, но вот где она. В бинд-сталкер просто поставил апдейт этой функции

 

Добавлено через 4 мин.:

Все, проблема решена, спасибо

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

Darkscape, а зачем у тебя проверки разных предметов через elseif идут? Этак получается, колбаса начнет становиться радиоактивной только тогда, когда нерадиоактивный хлеб в инвентаре закончится. А если его много? понадобится немало апдейтов чтобы до колбасы дошла очередь...

Кстати еще один минус такой реализации - за один апдейт из обычного в радиоактивный превратится не более одного предмета...

 

Способ получше - сделать у себя в скрипте список секций продуктов, которые надо проверять, и если радиация поднялась выше 0,3, а перед тем была ниже - перебором предметов в инвентаре сразу обнаруживаем все подходящие предметы (продукты). заносим найденные итемы в таблицу. И при следующем апдейте заменяем их все разом, секцию нового предмета определяя по принципу секция_старогo..rad.

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

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

  Раскрывающийся текст (Показать)
Изменено пользователем Artos
Ссылка на комментарий
  Цитата
Кивач: Кто знает где прописан спавн ПДА для НПСов?

Прописан в движке.

Каждому(!) спавнящемуся НПС после прописанных ему предметов в конфигах (если таковые есть), движек обязательно доспавнивает "именной" КПК. Т.о., сколько в Зоне людей - столько и КПК у них на руках.

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

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

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

Ребят подскажите пожалуйста как определить отношение одной группировки к другой ?

В Lua_help нашел функцию.

 

function community_relation(string, string);

 

Предполагаю, что нужно взять id группировок и сравнить.

 

community_relation(id1,id2)

 

Если это то, что я хочу, то какие варианты может вернуть эта функция?

good, friend, enemy и т.д...

 

Как вызвать эту функцию? Она глобальная? Или нет?

 

Сам понимаю, что могу сам проверить, но решил спросить у знающих людей...

Что-то кончается, что-то начинается...

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

Vano_Santuri

Удивляют подобные вопрошалки-переспрошалки ...

1. Спрашивающий не удосуживается уточнить интересующую его версию игры. Гадать о том, что он "нашел" нужную ему функцию в 'lua_help' именно от ему нужной игры (т.е. ЧН/ЗП)?

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

:-(

 

Функция естественно глобальная и принадлежит пространству 'relation_registry'.

В качестве аргументов должны быть именно строковые значения группировок (community), а не некие id, под которыми которыми чаще понимают/обозначают численные значения.

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

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

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

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

Vano_Santuri, relation_registry.community_relation(faction, faction_to)

Может возвращать friends и enemies

Пример из игры:

if(relation_registry.community_relation(squad:get_squad_community(), alife():actor():community())>=FRIENDS) then

goodwill = "friend"

 

Поправьте если что

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

ХОВАН

Ну для чего вводить в заблуждение?

Сам же цитируешь стоку кода от разработчиков:

if(relation_registry.community_relation(squad:get_squad_community(), alife():actor():community())>=FRIENDS) then

Из коей ясно, что сравниваются ЧИСЛЕННЫЕ значения (>=) результата работы функции и константы (ранее заданной как FRIENDS = 1000).

О каких тут возвратах friends иль enemies можно толковать??? Результатом возврата (повторюсь) является численное значение (как минимум в диапазоне: -1000 ... 1000)

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

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

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

О форматировании строк вопрос. В примере по добавлению часов на худ, пробую к строке времени добавить еще строку:

...............
...............
local str = "вторая строка"
local msg = string.format(" %02d:%02d\n%s", time_h, time_m, str)

if cs ~= nil then
    cs:wnd():SetText(msg)
end

результат получается "07:10вторая строка". Что я не так делаю ?

Ссылка на комментарий
  Darkscape (Показать)
Изменено пользователем *Shoker*

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

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

Может я тоже ошибаюсь, но по моему у тебя тоже есть ошибка:

item:section() возвращает строку следовательно таблица должна быть такая:

local items1 = {
        ["bread"]       = true,
        ["kolbasa"]    = true,
        ["chocolate"]  = true,
}

Если я конечно же тоже не ошибаюсь

 

Прошу помощи. Есть ли такая анимация, которая существовала у всех НПС и Мутантов? Дело в том что я спавню скриптом физический объект и присваиваю ему визуал сталкера или мутанта. Но иногда игра вылетает с логом:

  лог (Показать)

Freedom

Ссылка на комментарий
_Призрак_, открой в hex редакторе файл модели, в конце прописаны доступные анимации. У сталкеров прописаны все анимации из stalker_animation.omf, а у монстров анимации по отдельности. У той же химеры, например, анимации "idle" нет. Возможно, поэтому у тебя вылет. Изменено пользователем KD87
Ссылка на комментарий

*Shoker*,

  Цитата
SetTextST

отличается только тем, что транслирует строку. Тоесть если подать идентификатор, то выдаст нормальную текстовую строку, а не сам идентификатор. Аналогично

SetText(game.translate_string(msg))

Vita sine libertate, nihil

Vita sine litteris - mors est

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

_Призрак_

Не беспокойся, игра и такую таблицу переваривает, проверенно :)

 

RvP

Спс. Буду знать :)

 

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

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

AndreySol, тогда добавь ещё один "слешь":

  Цитата
local msg = string.format(" %02d:%02d\n%s", time_h, time_m, str)

local msg = string.format(" %02d:%02d\\n%s", time_h, time_m, str)

всё легко

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

По ТЧ:

1. Как скриптово сделать монстра и непися друзьями?

2. Можно ли реализовать в ТЧ сценку из ЗП, где военный стреляет по сторонам, атакованный контролером?

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

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

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

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

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

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

Войти

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

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

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