Спавн мертвого НПС без функций AMK — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(Новая страница: «== 1 способ. Спавн НПС и убийство функцией == <lua> function spawn_killed_npc() local npc = alife():create("agr_stalker_veteran",vecto...») |
(→1 способ. Спавн НПС и убийство функцией) |
||
| Строка 2: | Строка 2: | ||
<lua> | <lua> | ||
function spawn_killed_npc() | function spawn_killed_npc() | ||
| − | local | + | 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 | ||
| + | ) | ||
</lua> | </lua> | ||
| + | |||
| + | НПС не становится нам врагом, а мгновенно погибает. | ||
== 2 способ. Спавн НПС и нанесение хита (НПС станет врагом ГГ посмертно) == | == 2 способ. Спавн НПС и нанесение хита (НПС станет врагом ГГ посмертно) == | ||
Версия 11:35, 7 июля 2015
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", иначе труп будет лежать не там, где надо. В настройках мощи хита ставьте как можно больше, чтобы НПС точно стал трупом. В типе хита ставьте телепатию, не будет игроку врать, что он умер от пси-атаки. Сделаем так, что он действительно погиб от пси-атаки. Направление хита не трогайте!