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

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

Вот с этим могут быть проблемы. Возможно я ошибаюсь за давностью, но в памяти сидит, что все, что не "none = true" - потенциальные грабли. Кажется как раз с Кротом эти грабли и вылазили. Хотя, повторюсь, могу с чем-то путать.

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

Такой вопрос, вешаю на худ имя нпс: 

 hud:AddCustomStatic("hud_name"):wnd():SetTextST(victim:character_name())

и тут же вешаю ещё один худ
hud:AddCustomStatic("hud_static") -- это картинка.

 

эти два худа hud_name  и hud_static конечно же прописаны в ui_custom_msgs, и координаты им прописаны. но вот в чём проблема, мне нужно, чтобы выводилось "имя нпс + рядом картинка", а имя нпс может быть разных размеров, и фиксированные координаты не подойдут. Может быть, вешая худ, можно указать его координаты? чтобы при любой длине имени нпс картинка была рядом с ним? Спасибо

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

God save Hatsune Miku!

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

@AndreySol нет, нужно именно имя + картинка, причем в зависимости от условий картинка либо будет, либо нет, а имя будет всегда. 

God save Hatsune Miku!

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

@Labadal Можно создать в [ui_custom_msgs.xml] пустышки вида <hud_st/>, а дальше задавать и менять взаимные координаты через Init() или SetWndRect() как для обычного окна по ссылке get_hud():GetCustomStatic(…):wnd().

  • Спасибо 1

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

Шпаргалка

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

@ARTLantist se_stalker.script - se_stalker:on_spawn.

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

Ссылка на комментарий
7 часов назад, Zander_driver сказал:

@ARTLantist se_stalker.script - se_stalker:on_spawn.

А как через него поймать НПС, чтобы ему что-то заспавнить? Что-то используя self или self.object на выходе только вылеты.

Как вариант, мб кто-то знает, какой скрипт отвечает за заполнение инвентаря НПС вещами, прописанными в character_desx_xxx?

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

Здрасьте.

 

[ЧН 1.5.10]
Навигация с клавиатуры в меню загрузки: при удалении файла, выбранного через SetFocusedItem(#) вместо обычного клика ЛКМ, пропадает часть фона меню.
https://drive.google.com/file/d/1Iux4pEohmr8ZPDu7aNieXQtvguXoc93B

 

Список базовый, метод удаления базовый, только индекс элемента передается через GetFocusedItem() вместо GetSelectedItem(). В ТЧ при аналогичной схеме текстуры в меню загрузки остаются на месте.

В чем может быть причина сбоя?

 

Spoiler
[scripts\ui_load_dialog.script]
function load_dialog:OnMsgYes()
function load_dialog:OnButton_del_clicked()
	local index = self.list_box:GetSelectedItem()
(+)
	if index == -1 then
		index = self.list_box:GetFocusedItem()
	end


function load_dialog:OnKeyboard(dik, keyboard_action)
(+) перед return true
	if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
		if dik == DIK_keys["DIK_DELETE"] then
			local lb = self.list_box
			if lb:GetSize() == 0 then return end

			lb:SetFocusedItem(0)
			self:OnButton_del_clicked()
		end
	end

 

 

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

Шпаргалка

Ссылка на комментарий
16 часов назад, ARTLantist сказал:

А как через него поймать НПС, чтобы ему что-то заспавнить?

Этот класс - и есть серверный объект нпс. Чтобы заспавнить что-либо ему в инвентарь, надо сделать так:

alife():create(item_section, self.position, self.m_level_vertex_id, self.m_game_vertex_id, self.id)

  • Спасибо 1
  • Согласен 1
  • Полезно 3

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

naxac.gif

Ссылка на комментарий
11 часов назад, AndrewMor сказал:

Вообще-то, это тема по ТЧ, если что.

С каких пор? Может, уже появились альтернативные темы по всем трём платформам, а народ-то и не в курсе?

Тема по ТЧ - это "[SoC] Ковыряемся в файлах" или, например, "[SOC] Мелкие правки движка". "Скриптование" же всегда было мультиплатформенной темой, не надо искусственно навязывать лишние рамки.

 

@Norman Eisenherz но тема всё равно вряд ли правильная, с таким вопросом, имхо, надо идти к тем, кто ковыряет движок.

Изменено пользователем Kirgudu
  • Согласен 1
Ссылка на комментарий
11 часов назад, Kirgudu сказал:

Может, уже появились альтернативные темы по всем трём платформам, а народ-то и не в курсе

Точно, забыл, что я не ковырялке отвечал.

  • Нравится 1
  • Согласен 1

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

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

Здрасьте.

 

[ЧН 1.5.10]
Дублирование часов на HUD прямой ссылкой на статик часов в инвентаре: в 16:9 часы, согласно конфигу [actor_menu_16.xml], выводятся с координатой X = -82, то есть почти полностью за экраном.
В движке статик создается без дополнительного смещения, но часы в инвентаре выводятся все-таки в пределах экрана:
[xrGame\ui\UIActorMenuInitialize.cpp]
    m_clock_value                        = UIHelper::CreateStatic(uiXml, "clock_value", this);

 

Где задается смещение часов в инвентаре?

 

На всякий случай, код новых часов:

Spoiler
local sname = "time_hud"		-- пустое окно 1024x768
local main, frame


-- // actor_binder:update(delta) // --
function cycle()
	if db.actor:alive() then
		local static = get_hud():GetCustomStatic(sname)

		if not main then
			local xml = CScriptXmlInit()

			if device().aspect_ratio < 0.7 then				-- 16:9, 16:10
				xml:ParseFile("actor_menu_16")
			else
				xml:ParseFile("actor_menu")
			end

			get_hud():AddCustomStatic(sname)
			main = get_hud():GetCustomStatic(sname):wnd()

			frame = xml:InitStatic("clock_value", main)
			_utils.sms( frame:GetWidth() )
		end

		local t_hr = level.get_time_hours()
		local t_min = level.get_time_minutes()
		local text = string.format("%02d:%02d", t_hr, t_min)
		frame:SetText(text)
	else
		get_hud():RemoveCustomStatic(sname)
	end
end

 

 

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

Шпаргалка

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

ЗП
Неизвестно, в какой момент и по какой причине, сталкерам перестали вообще спавниться патроны в инвентарь. В Character_desc прописан спавн подходящих патронов, но они отстреливают магазин и меняют ствол на пистолет, после отстреливания магазина из пистолета убегают сломя голову, типа без оружия. И при их убийстве патроны не спавнятся в трупах. В чём может быть причина? Кто-то сталкивался с подобным? Вроде ни один скрипт, доспавнивающий патроны, не трогал. Или за это вообще движок отвечает? Если движок - то какой файл конкретно?

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

Как заспавнить НПС оружие с аддонами через скрипты, чтобы они сразу вешались на него?

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

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

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

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

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

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

Войти

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

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

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