Спавн мертвого НПС без функций AMK — S.T.A.L.K.E.R. Inside Wiki

Спавн мертвого НПС без функций AMK

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

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

1 способ. Спавн НПС и убийство функцией

 
function spawn_killed_npc()
local se_obj = alife():create("секция спавна", vector():set(x, y, z), lvid, gvid) -- спавним и получаем серверный объект
level.add_call(
		function()
			if se_obj.online then 
			return true
			end
		end,
		function()
			level.object_by_id( se_obj.id ):kill( level.object_by_id( s_obj.id ) ) -- убиваем клиентский объект
 
                        -- отправляем сообщение о гибели сталкера
			news_manager.send_tip(db.actor, "Погиб сталкер, ЧАЭС, выброс", nil, nil, 30000)
		end
	)
 

НПС не становится нам врагом, а мгновенно погибает.

2 способ. Спавн НПС и нанесение хита (НПС станет врагом ГГ посмертно)

 
function spawn_killed_npc(first_speaker, second_speaker)
local npc = alife():create("agr_stalker_veteran",vector():set(x,y,z),level_vertex_id,game_vertex_id)
local text = "Погиб сталкер Иван Петров, ЧАЭС, пси-излучение"  -- текст сообщения о погибели сталкера
local h = hit()
h.direction = vector():set( 1, 0, 0 ) 
h.impulse = 0  -- импульс хита 
h.draftsman = db.actor 
h.power = 100  -- мощность хита
h.type = hit.telepatic  -- тип урона, в данном случае пси-атака
npc:hit(h)  -- наносим хит  
news_manager.send_tip(db.actor, text, nil, nil, 30000)  -- даем эктору знать, что погиб НПС
end
 

В настройках импульса хита ставьте "0", иначе труп будет лежать не там, где надо. В настройках мощи хита ставьте как можно больше, чтобы НПС точно стал трупом. В типе хита ставьте телепатию, не будет игроку врать, что он умер от пси-атаки. Сделаем так, что он действительно погиб от пси-атаки. Направление хита не трогайте!

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