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

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

@Norman Eisenherz если важно получить время, то скорее всего без правок движка никак. Или хотя бы расширить кастрированные луашные пространства имен ("лайтовые правки движка") - io, os и т.д. Вроде давно были эти библиотеки внедренные в xrLua.dll или проброшенные туда, без правки основного движка (xrGame.dll, .exe etc). Суть наводки - может быть можно будет получить текущее время системы в мс и уже это ловить на сталкерском апдейте вместо time_global().

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

Вопрос, как повесить функцию на взрыв гранаты (платформа ЗП, граната Ф-1 или РГД-5).  Например кидаем гранату и после взрыва используется аптечка (антирад, еда) или в месте взрыва появляется какой-нибудь предмет (мутант)?     

Или повесить функцию на исчезновение болта (после того как кинем, болт исчезает и на его месте пояляется предмет или используется предмет из инвентаря.

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

Есть мод на умное выпадение частей монстров, если в кость запчасти попала пуля, часть не выдаётся. Так вот там кости учитываются по номерам. Вопрос - где номера эти костей в моделях смотреть? Как эта нумерация высчитывается?

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

@ted.80 , благодарю. Нашёл тулзу для просчёта, dump_ogf. Позволяет узнать всё о модели.

https://synthira.ru/load/drugie_igry/s_t_a_l_k_e_r/s_t_a_l_k_e_r_2/dump_ogf/24-1-0-3265

  • Нравится 1
  • Полезно 1
Ссылка на комментарий

Как добавить в скрипт проверку, что в опциях игры нажата определённая кнопка-"флажок"? Сама кнопка в опциях "Игра" успешно добавлена, флажок работает.

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

[ТЧ 1.0006]
Задача: добавить субтитры к звуку "val_rob_guard_jeer" – угроза от охранника на ферме в ТД после покупки "гаусски за 800".

 

В [xr_meet] приветствия вычитываются по шаблону "расстояние | анимация@звук | …" – добавлять в логику действие %…% без правок скрипта бесполезно.
Попытался просто вывести название звука в сообщение в указанных ниже местах скрипта – никакой реакции.

 

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

 

[Edit] После перезапуска игры обработался вызов meet_manager.sound. Снимаю вопрос.

 

Spoiler
[xr_meet.script]
function action_meet_wait:execute ()
	
				xr_sound.set_sound(self.object, meet_manager.sound, nil, idle_timeout)
				sms(meet_manager.sound)				-- тут


function Cmeet_manager:update()
	
		self.state,self.sound = self.state_zone,self.sound_zone
	else
		self.state,self.sound = self:process_meet()
	end

	sms(self.sound)					-- тут

 

 

Изменено пользователем Norman Eisenherz
  • Нравится 1

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

Шпаргалка

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

Снова нужна помошь, опять Новый Арсенал 7, соотв. ОГСР 2020г.
Мне нужно найти и удалить один предмет в инвентаре из нескольких одинаковых, когда делаю так:
 

local item, sil_items
		db.actor:iterate_ruck(
			function(dummy, item)
				if item.section == sil_sect then
					table.insert(sil_items, item:id())
				end
			end
		)
		if sil_items[1] ~= nil then 
			db.actor:mark_item_dropped(level.object_by_id(sil_items[1]))
			alife():release(alife():object(sil_items[1]))
		else
			return
		end

получаю ошибку вида "attempt to index a local sil_items (a nil value)"
Что я натворил не так?!

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

AMD FX-8100 (Bulldozer) , 28GB DDR3-1600, AFOX GeForce GTX1050Ti и нормально сталкерим в НА5.1, НА7, OGSE-0693, OGSR, НС2016, OLR, OFFLIFE, CoC, LADC, CoP Gunslinger, ShoC GA, Legend Return, Anomaly, CS OGSM!

Мозг состоит на 80 процентов из жидкости, и мало того, что она тормозная, так многим еще конкретно не долили...@Denikius136
Black_Raven.gif
 

Ссылка на комментарий
12 часов назад, Black_Raven_03 сказал:
local item, sil_items

 

Налицо ошибка объявления переменной. В таком виде движок ничего не знает о том, что sil_items - это таблица, и считает, что это простая переменная, значение по умолчанию которой - nil. Индексировать действительно нечего. Чтобы исправить ситуацию, достаточно в первой строке написать так:

12 часов назад, Black_Raven_03 сказал:
local item, sil_items = nil, {}

 

то есть присвоить начальные значения переменным явным образом.

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

@Black_Raven_03 При таких условиях можно прямо указать предмет:

local item = db.actor:object(sect)

if item then

   alife():release( alife():object( item:id() ) )

end

 

Перебор инвентаря пригодится при удалении нескольких предметов с одинаковой секцией.

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

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

Шпаргалка

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

@Norman Eisenherz , забыл написать (мой косяк) - размер-то таблицы меняется, при этом нужно будет (позже, когда с одним тестовым отработаю) удалять только часть (больше одного, но не все) серверных предметов для этой таблицы.
@Kirgudu , м-да, как ты и написал, мне с самого начала следовало явно проинициализировать переменные (хреново мои мозги поздно вечером работают).

  • Нравится 1
Скрытый текст

AMD FX-8100 (Bulldozer) , 28GB DDR3-1600, AFOX GeForce GTX1050Ti и нормально сталкерим в НА5.1, НА7, OGSE-0693, OGSR, НС2016, OLR, OFFLIFE, CoC, LADC, CoP Gunslinger, ShoC GA, Legend Return, Anomaly, CS OGSM!

Мозг состоит на 80 процентов из жидкости, и мало того, что она тормозная, так многим еще конкретно не долили...@Denikius136
Black_Raven.gif
 

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

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

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

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

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

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

Войти

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

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

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