Вы задаёте интересующий вас вопрос и тот, кто может вам на него ответить, пишет свой ответ. Правила темы:
1. Прежде чем задать вопрос, желательно прочитать все предыдущие страницы темы. Даже если вы не найдете там нужного ответа - я уверен, вы узнаете много нового. Второй вариант - воспользоваться поиском по ключевому слову.
2. Вы можете задавать вопросы, только непосредственно касающиеся создания модификаций и редактирования файлов игры
3. Личные вопросы не допускаются
4. Отвечать на вопросы желательно достаточно развернуто, задевая все аспекты касающиеся конкретного вопроса
5. Отвечать вы можете только в том случае если уверены в правильности ответа, если не знаете - просто не отвечайте. Авторы неправильных, вводящих в заблуждение ответов будут наказываться.
6.Соблюдайте грамотность и правильность построения вопросов и ответов, во избежание их удаления. "Спасибо / пожалуйста / не знаю" и прочие односложные и не несущие смысловой нагрузки сообщения, будут удаляться немедленно, а их авторы - наказываться.
Основная цель темы - помочь новичкам-модостроителям, второстепенная - свести на нет тенденцию создания новых тем по каждому интересующему новичков вопросу.
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...r\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:460: attempt to index global 'nano_kadar' (a nil value)
сделал так.
function nano_armor_kadar() local gg = db.actor local item = gg:item_in_slot(6) local item_2 = gg:object("modul_one") if item and item:section() == "nano_suit" then if item_2 then db.actor.health = 0.0003 end end
function nano_armor_kadar_rad() local gg = db.actor local item = gg:item_in_slot(6) local item_2 = gg:object("modul_two") if item and item:section() == "nano_suit" then if item_2 then db.actor.radiation = - 0.0006 end end
function nano_armor_kadar_psy() local gg = db.actor local item = gg:item_in_slot(6) local item_2 = gg:object("modul_three") if item and item:section() == "nano_suit" then if item_2 then db.actor.psy_health = 0.0006 end end
function nano_armor_kadar2() local item = db.actor:item_in_slot(6) -- проверяем что нужный нам предмет в слоте, иначе будет чинится любая одетая броня if item and item:section() == "nano_suit" then local cond = item:condition() if cond < 1 then -- если состояние костюма меньше 1 item:set_condition(1) -- чиним end end end
Подскажите, в каком конфиге или скрипте можно найти параметры супердетектора артефактов, который продаёт Б.Доктор в Припяти, который показывает арты на карте.
Ищем в gamedata\config\misc\items название детектора det_artefact_super, там же кстати должен быть еще и detektor_amorf, тоже неплохая вещь. :-) KADAR, Ругается на твой скрипт. А именно: В каждой функции должно быть внизу по 3 "and", у тебя же только последняя функция закрыта.
в "Шраме" да, а в "G.L.A.D.I.A.T.O.R. II Время Альянса" где, я то как раз их и не нашел ?
BlackStalker1991, извиняюсь, немного ошибся, это же на ЗП мод... Дело в том, что в папке "геймдата" Гладиатора нет ни модели, ни текстур этого оружия. Следовательно они не менялись в моде. Вывод? Нужно искать в "родных" файлах ЗП. Значит надо распаковать архивы ЗП и по пути gamedata\meshes\dynamics\weapons\wpn_desert_eagle найти файл wpn_desert_eagle.ogf. Открываем его блокнотом, и йщем там путь к текстурам. Ну а дальше - дело техники. ЗЫ... Может быть у кого-то есть распакованные архивы ЗП, то подскажут точный путь.
Подскажите пожалуйста системное имя (для вызова) ppe-эффекта потемнения экрана (зрения актёра) на несколько секунд, такой есть эффект вроде, когда появляешься в ТЧ при новой игре.
agr_u_fade.ppe - постепенное затемнение в глазах (6 сек) alcohol.ppe - цикличное с нарастанием глубины эффекта раздвоение в глазах со световыми пятнами (17 сек) blink.ppe - резкая вспышка в глазах (1 сек) controller_hit.ppe - резкое покраснение в глазах с сильным раздвоением (1.5 сек.) dead_zone.ppe - белая рябь в глазах, как от радиации (7 сек) deadcity_wake.ppe - резкое потемнение (половина времени эффекта), затем "приход в себя" с раздвоениями, помутнениями, покраснениями (23 сек.) deadcity_wake_old.ppe - то же самое, но нет покраснений и меньше раздвоений. duality_circle.ppe - очень сильное по глубине и амплитуде раздвоение, два цикла (2 сек.) escape.ppe - порозовение экрана на 2 сек. fire_hit.ppe - резкое покрасение с коротким раздвоением и приближением экрана на актора (1 сек.) monolith_off.ppe - цикличное в сторону потемнения порозовение с просветлениями до полного погашения экрана (12 сек.) nightvision.ppe - ПНВ (нормальное качество) - 20 сек. nightvision_bad.ppe - ПНВ (плохое качество) - 7 сек. nightvision_good.ppe - ПНВ (хорошее качество) - 7 сек. nightvision2.ppe - нечто похожее на эффект alcohol.ppe. К ПНВ ни какого отношения не имеет (17 сек.) p_proba.ppe - приводит к вылету аниматора "noise.grain cant be zero! see postprocess" proba_gray.ppe - чётко видимого эффекта не замечено, мож, чуть экран сереет proba_test.ppe - наблюдается постепенная смена палитры экрана - от красного до зелёного и синего (17 сек.) proba2.ppe - то же самое, что с proba_test.ppe, но добавлено лёгкое раздвоение в глазах. psy_antenna.ppe - внешний эффект "пси-воздействия", серо-жёлтая светящаяся палитра (10 сек.) psy_antenna_indoor.ppe - то же самое, что и psy_antenna.ppe, только ярче и без желтизны. radar_psi.ppe - раздвоение (коротко) с заключительным коротким потемнением в глазах (4 сек) radar_stop.ppe - на 7-й секунде активации эффекта - плавное гашение экрана (всего 10 сек.) radar_wake.ppe - резкое гашение экрана, постепенный "приход в себя" с уменьшением амплитуды ряби в глазах. (17 сек.) radiation.ppe - резкое посерение гаммы экрана и с повышением контраста (2-3 сек.) snd_shock.ppe - очень сильное по глубине и по ускоряющейся амплитуде раздвоение, три цикла (3 сек.) teleport.ppe - эффект телепорта (в глазах светлеет - 1.5 сек) total_recall.ppe - тоже самое, что и snd_shock.ppe, но амлитуды меньше по глубине и времени (2 сек.) vibros.ppe - последователный набор различных эффектов - так во многих модах к ТЧ обыгрывается окончание выброса (20 сек.) vibros_p.ppe - последователный набор различных эффектов с мелкими раздвоениями и помутнениями (10 сек.) yantar_underground_psi.ppe - лёгкое дрожание-помутнение зрения (5 сек.)
camera_effects\\agroprom_demo.anm - 1-й вариант облёта камеры с позиции ГГ фабрики в первое посещение Агропрома и возврат в иходную точку camera_effects\\agroprom_demo_nah.anm - 2-й вариант облёта камеры с позиции ГГ фабрики в первое посещение Агропрома и возврат в иходную точку camera_effects\\agroprom_demo_nah1.anm - 3-й вариант облёта камеры с позиции ГГ фабрики в первое посещение Агропрома и возврат в иходную точку camera_effects\\agroprom_doctor_cam.anm - ГГ переносится в никуда "лежит на спине и слушает бредни Доктора", долго слушает, затем возврат в иходную точку camera_effects\\arena.anm - облёт Арены камерой с позиции ГГ, возврат в исходную точку camera_effects\\bar_fly.anm - по всей видимости, долгий облёт Бара camera_effects\\cut_scene1.anm - облёт камеры с позиции ГГ в радиусе ~100 условных метров, возврат в исходную точку camera_effects\\dis_consciousness.anm - "удар в левую щёку", и полёт по спирали спиной назад, возврат в исходную точку camera_effects\\dream.anm - ГГ лежит на спине 3 сек., потом резко встаёт camera_effects\\drunk.anm - 1-й вариант качания камеры из стороны в сторону, "пьяный эффект" (14 сек.) camera_effects\\earthquake.anm - "землятресение" (8 сек.) camera_effects\\fatigue.anm - 2-й вариант качания камеры из стороны в сторону, амплитуда меньше, "пьяный эффект" (14 сек.) camera_effects\\fusker.anm - удар в харю ("в нос"), харя летит вправо camera_effects\\head_shot.anm - удар по башке, коленки подгибаются camera_effects\\hit_back.anm - башка и корпус резко отклоняются назад с возвратом camera_effects\\hit_back_left.anm - башка и корпус резко отклоняются назад и влево с возвратом camera_effects\\hit_back_right.anm - башка и корпус резко отклоняются назад и вправо с возвратом camera_effects\\hit_front.anm - башка и корпус резко наклоняются вперёд с возвратом camera_effects\\hit_front_left.anm - башка и корпус резко наклоняются вперёд и влево с возвратом camera_effects\\hit_front_right.anm - башка и корпус резко наклоняются вперёд и вправо с возвратом camera_effects\\hit_left.anm - башка и корпус резко наклоняются влево с возвратом camera_effects\\hit_right.anm - башка и корпус резко наклоняются вправо с возвратом camera_effects\\oso_cam.anm - непонятный короткий полёт камеры (так и не понял), судя по названию файла, что-то связано с "о-ознанием". camera_effects\\pl_test.anm - пустышка, никаких видимых эффектов camera_effects\\pri_fly_to_aes.anm - вероятно, коротокий полёт на АЭС camera_effects\\prison_0.anm - ГГ в лежачем состоянии (1 сек.) camera_effects\\prison_1.anm - подъём ГГ из лежачего состояния (2-3 сек.) camera_effects\\radar_stop.anm - лёгкое землятрясение, потеря устойчивости и падение на правый бок (12 сек.) camera_effects\\rostok_camera.anm - по всей видимости, облёт камеры на Ростоке (Круглов, Волкодав, сбитая вертушка) camera_effects\\shell_shock.anm - ударная волна, как от псевдогигианта
Сообщение отредактировал Korpus - Пятница, 28.06.2013, 02:37
Вот, возьмите для "коллекции", сам тестировал и описывал, как мог,
Спасибо большое! Вот еще вопрос: Можно ли в скриптовых функциях (ТЧ) реализовать временную задержку между действиями? Пример:
Код
function most () level.add_pp_effector("agr_u_fade.ppe", 0, false)<-- сначало это -- Тут нужна задержка, а дальше, что ниже local a = vector() a.x = 52.310333251953 a.y = -0.6053409576416 a.z = 121.97222900391 db.actor:set_actor_position(a) end
- только не говорите через логику, это крайне не желательно.
Сообщение отредактировал Graff46 - Воскресенье, 30.06.2013, 00:37
function any_update() local time = time_global() --/ текущее время if not time_1000 then --/ предустановка таймеров time_1000 = time + 1000 time_5000 = time + 5000 + time_1000/2 end if time_1000 < time then time_100 = time + 1000 --- Действия, которые надо производить с частотой раз в 1 сек end if time_5000 < time then time_5000 = time + 5000 --- Действия, которые надо производить с частотой раз в 5 сек end end
Вам остается только разделить свою функцию и поставить ее на "отложенный" апдейт. Время можно изменить как заблагорассудится.
Если вызываете из диалога и т.д то есть загвоздка - ф-ия срабатывает 1 раз всего, ставить туда таймер - бессмысленно, нужен постоянный апдейт. Как решение - проверять в функции и выдавать поршень в таймере, после чего он будеет срабатывать.
volazar, volazar, как этот таймер ставить? Его нужно в функцию втулить дополнительно или апдейтить как отдельную. Если второе то где указывать нужное действие?
KADAR, Это отдельная ф-ия, any_update() поставить на апдейт в bind_stalker. В any_update() уже пихать свои ф-ии, которые надо обновлять раз в 1/5 сек (там подписано куда). Пихаешь вызов и все.
Хочу при низком уровне здоровья сделать оповещение звуковое "Опасность". Раз в секунду.
function nano_sound() if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "nano_suit" then if db.actor.health < 0.15 then local snd_obj = xr_sound.get_safe_sound_object([[nano_sounds\ЗВУК]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) end end end
Добавлено (02.07.2013, 13:19) --------------------------------------------- local time_1000, time_5000
function any_update() local time = time_global() --/ текущее время if not time_1000 then --/ предустановка таймеров time_1000 = time + 1000 end if time_1000 < time then time_100 = time + 1000 function nano_sound() if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "nano_suit" then if db.actor.health < 0.15 then local snd_obj = xr_sound.get_safe_sound_object([[nano_sounds\armor]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) end end
function nano_armor_kadar() local gg = db.actor local item = gg:item_in_slot(6) local item_2 = gg:object("modul_one") if item and item:section() == "nano_suit" then if item_2 then db.actor.health = 0.0003 end end end
function nano_armor_kadar_rad() local gg = db.actor local item = gg:item_in_slot(6) local item_2 = gg:object("modul_two") if item and item:section() == "nano_suit" then if item_2 then db.actor.radiation = - 0.0006 end end end
function nano_armor_kadar_psy() local gg = db.actor local item = gg:item_in_slot(6) local item_2 = gg:object("modul_three") if item and item:section() == "nano_suit" then if item_2 then db.actor.psy_health = 0.0006 end end end
local time_1000, time_5000
function any_update() local time = time_global() --/ текущее время if not time_1000 then --/ предустановка таймеров time_1000 = time + 1000 time_5000 = time + 5000 + time_1000/2 end if time_1000 < time then time_100 = time + 1000 --- Действия, которые надо производить с частотой раз в 1 сек end if time_5000 < time then time_5000 = time + 5000 nano_sound() end end
function nano_sound() if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "nano_suit" then if db.actor.health < 0.15 then local snd_obj = xr_sound.get_safe_sound_object([[nano_sounds\danger]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) end end end
function nano_armor_kadar2() local item = db.actor:item_in_slot(6) -- проверяем что нужный нам предмет в слоте, иначе будет чинится любая одетая броня if item and item:section() == "nano_suit" then local cond = item:condition() if cond < 1 then -- если состояние костюма меньше 1 item:set_condition(1) -- чиним end end end
просто как будто его и нет таймера
Сообщение отредактировал KADAR - Четверг, 04.07.2013, 13:23
Привет всем! Установил нанокостюм в одоптации volazar на ОП,и даже при куче артов на выносливость,спринт очень на маленькие дистанции приводит к потере выносливости,как сделать выносливость как для стального крыса?
Сообщение отредактировал alexabakan0 - Воскресенье, 14.07.2013, 18:57
Graff46, Это не функция, а рестриктор - при попадании в который, начинается облет. Если пойти не так, как задумано авторами игры - никакого облета не будет (до той поры, пока ты не вляпаешься в этот рестриктор). Сделай поиск в alife_l03_agroprom.ltx по слову agroprom_demo.anm (это файл самой камеры) и найдешь нужный рестриктор.