Перейти к содержанию

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

 
 

Мне нужно, чтобы происходила проверка на наличие одетого костюма? Как такое можно сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Крим 

function название_функции()
local outfit = db.actor:item_in_slot(6)
if outfit:section() == "exo_outfit" then --/Если в 6 слоте присутствует "exo_outfit" тогда
return true --/"exo_outfit" одет
else
return false --/"exo_outfit" не одет
end
end

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Kamr4d, не универсально как-то. Вот, например.

function outfit_is_dressed(outfit_section)
    local outfit = db.actor:get_current_outfit()

    if outfit_section ~= nil then
        return outfit and outfit:section() == outfit_section
    end

    return outfit
end

Можно проверять наличие на игроке любого костюма:

return outfit_is_dressed()

Или какого-то конкретного:

return outfit_is_dressed("exo_outfit")

 

  • Мастер! 1
  • Спасибо 1

c01570bf2e07524.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Такой вопрос:

У артефактов есть такой параметр:

radiation_restore_speed = 0.002

Мне нужно узнать сколько раз в секунду выполняется этот параметр.

В файле bind_stalker.script
Функция

function actor_binder:update(delta)

Сколько раз в секунду выполняется ?
Надеюсь, понятно изложил вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
38 минут назад, Regardice сказал:

function actor_binder:update(delta)

Сколько раз в секунду выполняется ?

delta - интервал между итерациями в мс. И он слишком плавает.

38 минут назад, Regardice сказал:

radiation_restore_speed

Это в секунду реального времени.

Изменено пользователем denis2000
  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 минуты назад, denis2000 сказал:

delta - интервал между итерациями в мс. И он слишком плавает.

radiation_restore_speed = 0.002

А этот параметр сколько раз выполняется в секунду ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, denis2000 сказал:

delta - интервал между итерациями в мс. И он слишком плавает

Сейчас глянул в логе, что там по delta. Скачет от 4 до 5 - плавает не слишком. ?

В секунду раз 200-250 получается апдейт происходит. Но у других сущностей реже - зависит от их онлайна и расстояния до актора.

  • Спасибо 1

c01570bf2e07524.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Overf1rst сказал:

Сейчас глянул в логе, что там по delta. Скачет от 4 до 5 - плавает не слишком.

Ну это если на месте стоять. А если побегать по локации, то в местах где происходит подгрузка больших массивов НПС (лагеря) этот показатель подскакивает в разы. К тому же он может сильно зависеть от процессора и нагрузки на скрипты в общем (многие забывают об оптимизации).

Хотя может Regardice  точность особая и не нужна.

Изменено пользователем denis2000
  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Из-за чего возникают такие засветы?

ss_pc_07-12-21_22-27-48_(predzonie).jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Akkak Из-за яркости лампочек?


294404326_-1.png.b174b8675b96f1eea9aed038584779b1.png

                    Паблик ВК       

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

У меня есть две катсцены. Они работают отлично, но мне нужно, чтобы после проигрывание первой катсцены, всё моментально переключалось на вторую камеру. Такое можно сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, Крим сказал:

после проигрывание первой катсцены, всё моментально переключалось на вторую камеру.

gamedata\scripts\cam_effector_sets.script
В конце создаёшь секцию, типа:

 

название_секции = {
						start = {
								},
						idle = {
									{anim = "scenario_cam\\путь\\кат_сцена_1", looped = "false", global_cameffect = true},
									{anim = "scenario_cam\\путь\\кат_сцена_2", looped = "false", global_cameffect = true},
								},
						finish = {
								}
						}

А потом просто запускаешь как обычную кат-сцену, только изменена будет эта строчка:
cam_effector = название_секции
Ну и глобальный эффект можешь не прописывать, так как он уже учтён.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
33 минуты назад, Крим сказал:

Как такое сделать?

Подсмотреть как это сделано в ЗП, разве не?

  • Жму руку 1
  • Аплодисменты 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Приветствую. Существует ли возможность форматирования строк в диалоговом окне? Если да, то как?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

molodoy_chelovek что подразумевается под форматированием?


294404326_-1.png.b174b8675b96f1eea9aed038584779b1.png

                    Паблик ВК       

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Stepan_sovok1917 Пример на языке Python, но это есть во всех ЯП. Вопрос в том, возможно ли это сделать со строкой в диалоговом окне.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

molodoy_chelovek А, нет, такого не знаю, не пробовал. Но скорее всего нет, т.к. в сталкере для реплик используются не фразы, а id фраз. Это сделано для удобства перевода. Когда основной файл состоит из айдишек, а файл локализации эти айдишки раскрывает. Куда в такой системе впихнуть переменную я не знаю. Но со 100% уверенностью, что это невозможно говорить не берусь

  • Жму руку 1

294404326_-1.png.b174b8675b96f1eea9aed038584779b1.png

                    Паблик ВК       

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
50 минут назад, molodoy_chelovek сказал:

Приветствую. Существует ли возможность форматирования строк в диалоговом окне? Если да, то как?

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

  • Спасибо 1

c01570bf2e07524.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

molodoy_chelovek строишь стандартную ветку диалога, только вместо text используешь script_text:

...
<phrase id="2">
                <text></text>
                <script_text>script.func</script_text>
                <next>99</next>
</phrase>
...

В файле script функция func:

function func()
	return math.random(1,100) -- в диалоге вместо обычного текста будет рандомное число
end

 

Изменено пользователем Chiliaz
  • Мастер! 1
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Доброго дня, вопрос следующий - как устроен вывод сообщений, генерируемых news_manager'ом? Конкретизирую - где указывается, до какой высоты могут подниматься последовательно выдаваемые сообщения, а также можно ли заставить их "ждать" окончания уже находящегося на экране? Или это всё движковые вещи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Если да, то как

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Doctor_Oz db.actor:active_slot() возвращает номер активного слота ГГ.


4 часа назад, svi_042 сказал:

как устроен вывод сообщений, генерируемых news_manager'ом?

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

4 часа назад, svi_042 сказал:

до какой высоты могут подниматься последовательно выдаваемые сообщения

Насколько я понял из исходников движка - количество сообщений одновременно находящихся на экране = 10. А высота - это относительный параметр.
 

4 часа назад, svi_042 сказал:

также можно ли заставить их "ждать" окончания уже находящегося на экране?

Если вы используете, только news_manager, для вывода сообщений, то никто не запрещает модифицировать его по вашему усмотрению, в том числе регулировать последовательность вывода. В оригинальном варианте такой опции не предусмотрено.

Движковый же метод:
 

game_object:give_game_news(news_caption, news_text, texture, timeout, showtime, 0)

Предусматривает задание двух параметров для отображения: timeout - время задержки перед выдачей сообщения в мс и showtime - время отображения в мс.

Изменено пользователем denis2000
  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
20 часов назад, denis2000 сказал:

Насколько я понял из исходников движка - количество сообщений одновременно находящихся на экране = 10.

А где именно в движке Вы это находили, не припомните?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

всем привет, я разрабатываю свой мод, я занимался смарт террейнами и у меня вылетела игра.

Лог: лога нет

(в буфере обмена ничего нет)

UPD: разобрался

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

Как ты относишься к людям, так и люди будут относиться к тебе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу