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

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

1 час назад, Norman Eisenherz сказал:

уведомление скрывается при переходе на другую локацию

А при Save/Load'е?

Мне кажется, что info_callback срабатывает только один раз, при выдаче.

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

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

@WinCap При перезагрузке на Кордоне уведомление остается. Вроде такая же последовательность net_destroy / net_spawn…

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

Шпаргалка

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

Потестил еще: на Кордоне уведомление отображается всегда после 1-й загрузки, на Свалке или после перехода Кордон > Свалка > Кордон всегда после 2-й загрузки. В обоих случаях тестил с выходом из игры и с обычной перезагрузкой. Сделал add_call на прогрузку ГГ – уведомление отображается каждый раз.

(Инфо-поршень "esc_bridge_pass_off", как выяснилось, вообще не выдается до возврата на Кордон, но это уже другой вопрос).

 

@naxac "Первый апдейт" – привязаться к actor_binder:update(delta) и остановить выполнение после однократного выведения статика, или речь о чем-то другом?

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

Шпаргалка

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

@Norman Eisenherz, да. В ТЧ со статиками всегда такая фигня: после перехода между локациями они не выводится из нет-спавна, где-то что-то, видимо, не успевает отработать как надо, потому что новый уровень грузится.

  • Согласен 1

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

naxac.gif

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

@Norman Eisenherz, осмелюсь предложить свой вариант.

Для разрешения прохода нужно выдать "esc_bridge_pass_on".

Когда ГГ воспользуется проходом, или его по каким-то причинам отменят, нужно удалить "esc_bridge_pass_on".

 

Скрытый текст

local need_update = true
local has_static = false

-- // actor_binder:info_callback(npc, info_id) // --
function info(info_id)
	if info_id == "esc_bridge_pass_on" then
		local time_hrs = level.get_time_hours() + 1
		local time_min = level.get_time_minutes()
		time_min = math.ceil(time_min/10)*10
		if time_min == 60 then
			time_min = 0
			time_hrs = time_hrs + 1
		end
		if time_hrs > 23 then time_hrs = time_hrs - 24 end
		xr_logic.pstor_store(db.actor, "time_hrs", time_hrs)
		xr_logic.pstor_store(db.actor, "time_min", time_min)
		need_update = true
	end
end

-- // actor_binder:update(delta) // --
function update()
	if not need_update then return end

	if not db.actor:has_info("esc_bridge_pass_on") then
		get_hud():RemoveCustomStatic("bridge_pass")
		need_update = false
		has_static = false
		return
	end
	
	local time_hrs = level.get_time_hours()
	local time_min = level.get_time_minutes()	
	local pstor_hrs = xr_logic.pstor_retrieve(db.actor, "time_hrs", 0)
	local pstor_min = xr_logic.pstor_retrieve(db.actor, "time_min", 0)
	if (time_hrs >= pstor_hrs) and (time_min > pstor_min) then
		db.actor:disable_info_portion("esc_bridge_pass_on")
		return
	end
	
	if has_static then return end
	local st = get_hud():AddCustomStatic("bridge_pass", true)
	st:wnd():SetTextST(string.format("Проход до %02d:%02d", pstor_hrs, pstor_min))
	has_static = true
end

 

 

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

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

Здрасьте.

 

Попадалась информация о старой версии мода "Худ рук", в которой текстура рук подменялась за счет классов то ли оружия, то ли брони. Кто-нибудь помнит, как этот мод работал? Хочется назначить 3–4 вида перчаток без полной замены моделей рук и перехода на правозатворное оружие.

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

Шпаргалка

Ссылка на комментарий
3 часа назад, Norman Eisenherz сказал:

о старой версии мода "Худ рук"

Там, емнип, была целая куча худовых моделей оружия: на каждую пушку под каждый костюм, и столько же секций оружия: на каждый худ по секции. И, в зависимости от одетой брони, в руки спавнилось оружие с нужным худом.

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

naxac.gif

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

@naxac А новая версия правит движок, чтобы позволить прямую замену текстур… Тогда все, снимаю вопрос.

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

Шпаргалка

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

Подскажите по системе зон в которые НПС не могут ходить? Вроде это сделано рестрикторами. И какие есть методы ограничивать навигацию НПС в игре.

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

Если про исходно-ТЧ-оригинальный механизм, то там у них в нетпакете хранится табличка in-рестрикторов и out-рестрикторов.

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

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

  • Полезно 1

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

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

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

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

Здрасьте.

 

ТЧ 1.0006, Армейские склады: сообщение "Сталкер, ты подходишь к барьеру" выдается дважды. В описании рестриктора только одно сообщение, в [xr_effects] такого сообщения нет. Где искать лишнюю копию?

 

Spoiler

[alife_l07_military.ltx]
name = mil_actor_blockpost					-- текст сообщения
type = tips							-- тип сообщения: "send_tip"
on_info = {=mil_actor_enemy_freedom} nil			-- проверка друг/враг
on_actor_inside = %+mil_blockpost_free_task%			-- инфо "mil_blockpost_free_task" (+ задание "mil_blockpost_job")
on_info2 = {+mil_blockpost_free_task} sr_sound_act		-- звуковое сообщение при получении инфо-поршня
sender = freedom						-- отправитель текстового сообщения
on_signal = tip_sended | sr_idle				-- ? (деактивация рестриктора)

 

 

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

Шпаргалка

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

@Norman Eisenherz, забыли добавить single = true, наверное.

Мне кажется, правильным будет такой вариант:

Скрытый текст

[sr_tip1]
name = mil_actor_blockpost
type = tips
sender = freedom
on_info = {=mil_actor_enemy_freedom} nil
on_actor_inside = sr_sound_act %+mil_blockpost_free_task%

 

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

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

Кто знает, что с Шустрым не так? Он, зараза, спаунится с НИ, несмотря на то, что в all.spawn ему указал

Скрытый текст

[spawner]
cond = {+tutorial_wounded_start}

С бандитами на АТП это работает.

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

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

@mole venomousтуттут и тут.  object_flags возможно?

Изменено пользователем Купер
  • Спасибо 1
  • Полезно 1
Ссылка на комментарий
On 3/28/2020 at 9:37 PM, WinCap said:

@Norman Eisenherz, забыли добавить single = true, наверное.

Мне кажется, правильным будет такой вариант:

  [sr_tip1] (Reveal hidden contents)

[sr_tip1]
name = mil_actor_blockpost
type = tips
sender = freedom
on_info = {=mil_actor_enemy_freedom} nil
on_actor_inside = sr_sound_act %+mil_blockpost_free_task%

 

Добрался, наконец, попробовать: просто "single = true" в имеющейся логике убирает второй текст, но затыкает и звук, и задачу. Без "single = true" сообщений, как ни крути, выдается два. В итоге, вот такой порядок дает нужный результат:

Spoiler

[alife_l07_military.ltx]
name = mil_before_blockpost_restriktor
…
[logic]
active = sr_idle

[sr_idle]
on_info = {=mil_actor_enemy_freedom} nil
on_actor_inside = %+mil_blockpost_free_task%
on_info2 = {+mil_blockpost_free_task} sr_tip

[sr_tip]
name = mil_actor_blockpost
type = tips
sender = freedom
single = true
on_signal = tip_sended | sr_sound_act

[sr_sound_act]
snd = characters_voice\scenario\military\pda\mil_pda_7
on_signal = sound_end | nil

 

 

Добавлено  HellRatz,

Запрещен оверквотинг (цитирование сообщения большого объема, спойлеров, изображений).
Для цитирования достаточно выделить нужную часть сообщения.
Устное предупреждение по пункту 2.6 правил форума.
Правила цитирования

  • Нравится 1

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

Шпаргалка

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

@Norman Eisenherz, Я всегда, кстати, думал, где, как и почему выдается сообщение, логику копал. А дело-то в рестрикторе.

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

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

Здрасьте.

 

Есть ли какой-то фикс для меток, которые остаются после сюжетных заданий (АТП, X-16, РГ-6)? Пробовал удалять метки по инфо-поршням завершения заданий – удаление срабатывает через раз, как будто инфо-поршни не выдаются, хотя сами задания засчитываются стабильно.

ТЧ 1.0006

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

Шпаргалка

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

Что это значит: https://ap-pro.ru/forum/100-9999-826370-16-1452102986

Цитата

уникальный id объекта который ему назначил движек при спавне.
alife():object(id) - возвращает объект, с таким номером.

?

 

Это какая-то проверка, помогающая найти ID объекта? Если да, то как правильно и куда ещё вписывать, чтобы потом прочесть в логе.

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

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

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

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

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

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

Войти

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

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

AMK-Team.ru

×
×
  • Создать...