Jump to content

Recommended Posts

AndreySol    101
2 часа назад, DoberBull сказал:

как сделать так, чтобы фонарики НПС не гасли после их смерти, а оставались светить

Смотри в xr_motivator.script ф-цию motivator_binder:death_callback, в ней есть

sr_light.check_light(self.object)
...    
death_manager.drop_manager(self.object):create_release_item()

В sr_light может быть отключение фонарика у померших, а в death_manager может быть удаление фонарика из инвентаря моба, соответственно отключение по факту удаления.

  • Thanks 1

Share this post


Link to post
Share on other sites
Fenrir02    198

Из X-Ray extensions:

send_event_key_press(int<DIK_keys>) - имитация события нажатия кнопки

Как именно применить это на практике? Допустим, при нажатии клавиши F3 нужно вызвать какое-то действие. Как это сделать?


Важнейшая задача цивилизации - научить человека мыслить.

Share this post


Link to post
Share on other sites
Shkiper2012    29
В 18.11.2018 в 17:48, Fenrir02 сказал:

Как именно применить это на практике?

@Fenrir02,

в нужную функцию вставляем:

level.send_event_key_press(DIK_keys.DIK_F3) 

-- вместо "DIK_F3" может быть любая другая клавиша.

 

Результатом будет имитация нажатия,

как будто ты нажал на кл."F3" (не касаясь пальцем физически).

 

Только вот не помню, должна ли быть локация загружена в этот  момент,

так как используется пространство "level".

На всякий, может проверку поставить, типа "if level then ... end"

  • Thanks 1

Share this post


Link to post
Share on other sites
Fenrir02    198

И снова здравствуйте!

Подскажите, как с помощью скрипта разжечь костёр, к которому подходит ГГ на определённое расстояние?


Важнейшая задача цивилизации - научить человека мыслить.

Share this post


Link to post
Share on other sites
Overfirst    610

Какая платформа? Для ЗП делал так: bind_campfire.script:

function turn_off_campfire_by_name(name)
	if name then
		local campfire = campfire_table_by_name[name]
		if campfire and campfire:is_on() then
			campfire:turn_off()
		end
	end
end

function turn_on_campfire_by_name(name)
	if name then
		local campfire = campfire_table_by_name[name]
		if campfire and not campfire:is_on() then
			campfire:turn_on()
		end
	end
end

В самом верху объявил массив:

campfire_table_by_name = {}

В методе net_spawn заполняем его:

campfire_table_by_name[self.object:name()] = self.campfire

Собственно, использование:

bind_campfire.turn_off_campfire_by_name("campfire_name")
bind_campfire.turn_on_campfire_by_name("campfire_name")

 


Ранее был известен под ником BoBaH_671.

Share this post


Link to post
Share on other sites
Fenrir02    198

@Overfirst

Нет, не в ЗП. Мне нужно для ТЧ, а там биндера костров нет.

  • Sad 1

Важнейшая задача цивилизации - научить человека мыслить.

Share this post


Link to post
Share on other sites
Fenrir02    198

Да, этот мод у меня как раз и стоит.
Функция, которая разжигает костёр при присутствии хотя бы одного НПС такая:

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

function CKampManager:increasePops(npc)
	self.population = self.population + 1
	local camp_name = camp_tbl[self.kamp_name]
	if self.population == 1 and camp_name then
		local flame_name = camp_name.flame
		local light_name = camp_name.light

		kamps_info[self.kamp_name] = nil
		if not kamps_info[self.kamp_name] then
			kamps_info[self.kamp_name] = {}
			kamps_info[self.kamp_name].time = time_global()
			kamps_info[self.kamp_name].prtcl = nil
			kamps_info[self.kamp_name].state = nil
		end

		for i,o in pairs(level_objs) do
			local obj = o
			if obj and obj:name() == flame_name then
				kamps_info[self.kamp_name].obj_fire = obj
				obj:enable_anomaly()
			end
			if obj and obj:name() == light_name then
				kamps_info[self.kamp_name].obj_light = obj
			end
		end
	end
end

 

(файл xr_kamp.script)
А вот как сделать проверку на приближение ГГ к костру ума не приложу...


Важнейшая задача цивилизации - научить человека мыслить.

Share this post


Link to post
Share on other sites
Romann    494
29 минут назад, Fenrir02 сказал:

А вот как сделать проверку на приближение ГГ к костру ума не приложу...

А зачем именно на приближение? - Почему бы не дёрнуть функцию розжига костра ГГ из СоС? Или попробовать перенести полностью биндер костров?


Машина: проц. Intel® Core™ i5-2430M CPU 2.40GHz ,ОЗУ 6,00Гб ,видео 2 Гб,Win7х64

 

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить?

                                                                                                                                                                          © Болотный Доктор

Share this post


Link to post
Share on other sites
Fenrir02    198

@Romann
Я думал об этом, тем более это даже более логично. Но возможно ли реализовать данную фичу на ТЧ?


Важнейшая задача цивилизации - научить человека мыслить.

Share this post


Link to post
Share on other sites
 BFG    6,835
2 часа назад, Fenrir02 сказал:

как с помощью скрипта разжечь костёр, к которому подходит ГГ на определённое расстояние?

В НС 2016 это сделал Сапсан ещё в 2015 году. 

Даже с анимацией разжигания. Смотри файл xr_kamp.script. Там есть все комментарии.

Здесь - class "evaluator_see_kampfire" (property_evaluator) и далее...

  • Полезно 2

"Кругом зомби.....у меня кончаются патроны...."

Share this post


Link to post
Share on other sites
Romann    494
19 минут назад, Fenrir02 сказал:

Но возможно ли реализовать данную фичу на ТЧ?

Думаю возможно, то и дело между платформами "тягают" фичи туда-сюда, ещё и не такой сложности, тут вопрос другой - придётся ли при этом "поправлять" движок.... Если есть возможность вносить правки в движок - то в любом случае проблем не должно возникнуть.

Edited by Romann

Машина: проц. Intel® Core™ i5-2430M CPU 2.40GHz ,ОЗУ 6,00Гб ,видео 2 Гб,Win7х64

 

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить?

                                                                                                                                                                          © Болотный Доктор

Share this post


Link to post
Share on other sites
 BFG    6,835
6 минут назад, Romann сказал:

придётся ли при этом "поправлять" движок.

Не надо вносить правки в движок для розжига костров.

Вот нашёл видео от тестера Соли. Там всё видно - https://youtu.be/neKqhDb919U

  • Like 2

"Кругом зомби.....у меня кончаются патроны...."

Share this post


Link to post
Share on other sites
I am Dead    498

Парни кто  может  помочь  сделать быстрые слоты(подобные зп чтобы можно было в ячейку перемещать предмет а не как в dmx mod выбирать предмет из списка).

Edited by I am Dead

Share this post


Link to post
Share on other sites
_Sk8_AsTeR_    2

Доброго времени! Возможно ли скриптово в теории заставить НПС использовать патроны из своего инвентаря? Чтобы они не бесконечно стреляли, к примеру? 

Share this post


Link to post
Share on other sites
DoberBull    278

Привет всем, нужна помощь касательно скриптов. Пытаюсь запилить модель в полный рост в инвентаре актора как в билде 1537, естественно с помощью текстур. Вопрос такой, как с помощью скрипта отследить положение ГГ в настоящий момент ? Пример ф-ции. Если актор сидит, то заставить делать вот это, если актор в спринте, то вот то, если в полном присяде то третье. Примерно так, если я понятно выразился


4e0JGsC.png

Share this post


Link to post
Share on other sites
DoberBull    278

@lordmuzer спасибо, как раз то что нужно. А как проверить какое состояние в настоящий момент, например проверить на спринт ?

if body_state == sprint 

будет работать ?


4e0JGsC.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

AMK-Team.ru

×
×
  • Create New...