Спавн мертвого сталкера
Материал из 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 сам себя убьет несколькими хитами.