Народ!может мне кто нибудь подробно и понятно обьяснить, как в сталкер тч, когда вертолёты военных зачищают янтарь от зомбаков, сделать так, чтоб они мочили их и дальше (но не всех, чтоб хоть чуток оставляли) и остовались ТАМ а не улетали......
Добавлено (08.06.2012, 23:53) --------------------------------------------- и мож кто подскажет что за вылет?!убил очередного зомбака на янтаре и вылет!
Strel_ock, в смысле локация родная или подключена??
Добавлено (09.06.2012, 00:30) --------------------------------------------- Strel_ock, что за платформа игры??
Добавлено (09.06.2012, 00:43) --------------------------------------------- Ребята скажите кто x-ray разработал?? на сколько я знаю gsc не одни этим занимались.
Для того, чтобы запустить тот или иной эффект из этой папки понадобится некоторое знание скриптов. Эффекты запускаются с помощью операторов level.add_cam_effector ("camera_effects\имя файла.anm", num, loop, "") - для эффектов камеры или анимаций
level. add _pp_effector ("имя файла.ppe", num, loop) - для постэффектов num – любое четырехзначное число loop - логическое значение: ставим либо true, либо false. Если true, то эффект будет проигрываться бесконечно, если false, то один раз.
Выглядеть это будет так. Для примера возьмем выброс и все что с ним связано. Запуск постэффекта выброса:
Как вы заметили, во втором случае, так как анимации в основном лежат в подпапке camera_effects нужно ее указывать. Если же анимка берется из общей папки anims, тогда нет.
Цифры после запятой это sid эффекта который мы ему задаем. Могут быть любыми – четырехзначными. Для чего – поясню ниже. Для остановки эффекта используется два следующих оператора: Для остановки эффекта камеры:
level.remove_cam_effector(num)
для остановки постэфекта:
level.remove_pp_effector(num)
Остановка двух наших предыдущих эффектов будет выглядеть так. останавливаем выброс
level.remove_pp_effector(1974)
Останавливаем землетрясение
level.remove_cam_effector(1975)
Как вы могли заметить, в скобках вместо имен эффектов мы просто написали цифры – sid’ы эффектов, которые мы задали в запуске процессов. Так удобнее, нежели снова вписывать полное имя.
Простейший скрипт запускающий эффект, скажем выброса, будет выглядеть так:
function run_vibros() level.add_pp_effector("vibros.ppe", 1974, false) level.add_cam_effector("camera_effects\earthquake.anm", 1975, false, "") set_postprocess ("scripts\earthshake.ltx") end
Но это будет, во-первых безопасный выброс, во-вторых весьма кратковременный, а в третьих – беззвучный. Для того, чтобы это исправить, добавляем в формулу вот это: local h = hit () h.power = 1 --сила хита, регулируется по желанию h.direction = vector():set( 1, 0, 0 ) --вектор получения хита h.impulse = 1 --импульс h.draftsman = db.actor --от кого дать хит h.type = --тип хита db.actor:hit (h) --кому дать хит
Тип хита можно задать самый разный. Можно хитовать эктора только радиацией hit.radiation или телепатией hit.telepatic или шоком hit.shock
Здесь эктор будет получать хит радиацией, шоком и телепатией. Идем дальше. Звук. После того как расписали, от чего эктору будет хреново и насколько хреново, добавляем в скрипт эти строчки: local snd_obj = xr_sound.get_safe_sound_object([[ambient\earthquake]])
--Все - звук выброса у нас есть. --можно добавить еще звук счетчика Гейгера: xr_sound.set_actor_sound("level_border_detector") xr_sound.set_actor_sound_factor(0.1)
Вот еще набор пугающих звуков из папки sounds: local snd_obj = xr_sound.get_safe_sound_object([[ambient\rnd_outdoor\rnd_dark4]]) local snd_obj = xr_sound.get_safe_sound_object([[ambient\rnd_outdoor\rnd_moan1]]) local snd_obj = xr_sound.get_safe_sound_object([[ambient\rnd_outdoor\rnd_moan2]]) local snd_obj = xr_sound.get_safe_sound_object([[ambient\rnd_outdoor\rnd_dark6]])
local snd_obj=xr_sound.get_safe_sound_object([[ambient\random\rnd_the_horror]])
--Погода из папки weathers level.set_weather("stancia") \ погода на аэс
– или это - судный день или день гнева level.set_weather_fx ("surge_day")
--можно всунуть эффект телепорта (белый экран) level.add_pp_effector ("teleport.ppe", 2009, false)
--или вместо этого --эктора шатает как пьяного level.add_cam_effector("camera_effects\drunk.anm", 1978, false, "")
--и у него «белочки» в глазах level.add_pp_effector("alcohol.ppe", 1976, false) end
В общем, в одну функцию можно "зарядить" сколько угодно эффектов, главное не переборщить, так как некоторые похожие анимки или ppe могут наложиться друг на друга и получится какая-нить хрень. Так что с этим надо быть аккуратным. Это первое. А второе то, что так никто не делает. В том смысле, что в одну кучу все не валит. Тот же выброс по нормальному делается многофазовым. И вот тут в каждой фазе прописывается тот или иной набор эффектов – анимация, постэффект, звук. И для каждой фазы отводится своя длительность. По таймеру. Также расписывается поуровнево какой какой тип хита и какой силы будет получать эктор в зависимотси от локации. А дальше идет остановка всех эффектов соответствующими операторами. Но так как в этой формуле этого нет – весь эффект продлится только несколько секунд, ровно столько сколько длится каждая анимация. Некторые ppe требуют принудительной остановки. Для того, чтобы сделать выброс так как это сделано в глобальных модах, требуется очень хорошее знание скриптов. Сам я написать такой скрипт не смогу, поэтому пользуюсь готовым – из аддона Blowout к ОГСМ. Там вполне рабочий и симпатичный выброс.
Это все понятно. А вот как теперь запустить эти скрипты??
Novellus, я некогда не делал этого и в скриптах не силен , но думаю можно сделать так : заспавнить спейсрестриктор , задать ему логику чтобы когда гг попадет в него выдавался инфопоршень , а в скрипте написать чтобы он срабатывал когда получен инфопрошень .
Добавлено (09.06.2012, 14:41) --------------------------------------------- Народ может мне кто нибудь пояснить что будет если я буду компилить локацию для тч но с лод текстурами из зп ?
Сообщение отредактировал FaLcon - Суббота, 09.06.2012, 14:42
Gramatik, Я же написал. Если у модели в названии текстуры больше символов чем в оригинале, будет вылет. Например, act_stalker_bandit_1 (Оригинал), то act_stalker_banditttttt_1 если напишешь так, то будет вылет.
FaLcon, Не будет работать по идее. Хотя я точно не знаю, если сильно надо, то переназначь шейдеры.