Спавн мертвого сталкера — S.T.A.L.K.E.R. Inside Wiki

Спавн мертвого сталкера

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск

Для спавна мертвого НПС не требуется редактировать all.spawn. Достаточно простого скрипта.

 
 
-- функция спавна мертвого сталкера методом нанесения хита
function spawn_and_hit()
	local s_obj = alife():create("agr_stalker_regular", vector():set(115.99, 0.03, 35.25), 33913, 1254) -- спавните сталкера через скрипт
	level.add_call(
		function()
			if s_obj.online then 
			return true
			end
		end,
		function()
			local h = hit()
			h.direction = vector():set( 1, 0, 0 )
			h.impulse = 0
			h.draftsman = db.actor
			h.power = 100
			h.type = hit.telepatic
			level.object_by_id( s_obj.id ):hit(h)
                        -- наносить хиты shock и wound обязательно, иначе NPC не умирает
			h.power = 100
			h.type = hit.shock
			level.object_by_id( s_obj.id ):hit(h)
			h.power = 100
			h.type = hit.wound
			level.object_by_id( s_obj.id ):hit(h)
 
			news_manager.send_tip(db.actor, "Погиб сталкер в Баре, пси-атака", nil, nil, 30000)
		end
	)
end
 

При это непись становится нам врагом, также врагами становятся многие сталкеры ( если вы спавните в Баре ). Если вы не хотите этого, то необходимо изменить значение draftsman в настройках хита вот так:

 
 
-- функция спавна мертвого сталкера методом нанесения хита
function spawn_and_hit()
	local s_obj = alife():create("agr_stalker_regular", vector():set(115.99, 0.03, 35.25), 33913, 1254) -- спавните сталкера через скрипт
	level.add_call(
		function()
			if s_obj.online then 
			return true
			end
		end,
		function()
			local h = hit()
			h.direction = vector():set( 1, 0, 0 )
			h.impulse = 0
			h.draftsman = level.object_by_id( s_obj.id )
			h.power = 100
			h.type = hit.telepatic
			level.object_by_id( s_obj.id ):hit(h)
                        -- наносить хиты shock и wound обязательно, иначе NPC не умирает
			h.power = 100
			h.type = hit.shock
			level.object_by_id( s_obj.id ):hit(h)
			h.power = 100
			h.type = hit.wound
			level.object_by_id( s_obj.id ):hit(h)
 
			news_manager.send_tip(db.actor, "Погиб сталкер в Баре, пси-атака", nil, nil, 30000)
		end
	)
end
 

Все, NPC сам себя убьет несколькими хитами.

Другие места
LANGUAGE