SoC. Делаем выброс через скрипт — S.T.A.L.K.E.R. Inside Wiki

SoC. Делаем выброс через скрипт

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

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

Сразу говорю, что я считаю, что выброс не должен быть смертелен для ГГ. Он будет НЕ смертелен, но будет наносить большой урон. Выброс будет скриптовый.

Программируем выброс

Создаем файл vibros.script и туда пишем:

 
function start_vibros()
-- землетрясение
	local snd_obj = xr_sound.get_safe_sound_object([[ambient\earthquake]])
	snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
	level.add_cam_effector("camera_effects\\earthquake.anm", 1974, false, "")
    --set_postprocess ("scripts\\earthshake.ltx")
 
-- эффекты выброса
    level.set_weather_fx ("surge_day")
	level.add_pp_effector ("vibros_p.ppe", 1975, false)
 
-- урон
local h = hit()
h.direction = vector():set( 1, 0, 0 )
h.impulse = 0
h.draftsman = db.actor
h.power = 1
h.type = hit.radiation
db.actor:hit(h)
h.power = 0.3
h.type = hit.shock
db.actor:hit(h)
h.power = 0.3
h.type = hit.telepatic
db.actor:hit(h)
 
-- дополнительные эффекты
level.add_pp_effector("radiation.ppe", 1000, false)
end
 

Алгоритм работы выброса:

1) Запускаем землетрясение.

2) Запускаем эффекты выброса.

3) Запускаем урон.

4) Запускаем эффекты радиации.

На заметку: никогда не трогайте больше файл vibros.script

Активация выброса

Можно делать через диалог:

<action>vibros.start_vibros</action>

Через скрипт несколько иначе:

vibros.start_vibros()


Памятка

Напоминаю: файл vibros.script не трогайте. Активировать выброс можно неограниченное количество раз. Если вы хотите сделать выброс смертельным поставьте h.impulse = 100 и везде h.power = 100.

Авторы

Скрипт не мой. Я его ковырял из других скриптов частями. Скрипт проверял на своей шкуре - все работает.

Автор статьи: я - vllzl

Автор скрипта: GSC

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