Overf1rst 371 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 12 4 1 1 6 1 Wolfstalker, Ҫвяҭѳӎӹшљ, GameCube и 22 других отреагировали на это Больше неофициальных скриншотов в галерее GAMERU.NET Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
progkuchumov 4 Опубликовано 1 августа, 2021 Всем привет! Подскажите пожалуйста, как сделать, чтобы при подходе к НПС диалог появлялся автоматически? Я как ни пробовал, у меня не получается. Что я сделал: 1. Создал спейс рестриктор, где стоит нужный непись. 2. Прописал ему логику, чтобы при заходе в рестриктор запускалась нужная функция. Здесь всё норм. Пробовал в этой функции для теста другое что-нибудь делать, например, спавн других НПС - логика срабатывает. Но вот что в моей функции написать, чтобы автоматом диалог начинался - не пойму. В гайдах находил db.actor:run_talk_dialog(npc), но это похоже для тени чернобыля только, потому что у меня эта функция не заработала. Дополнено 0 минут спустя Разобрался сам. Надо было неписю логику прописывать, а не спейс рестриктор создавать. Чего-то я намудрил ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 686 Опубликовано 2 августа, 2021 (изменено) 3 часа назад, progkuchumov сказал: чтобы при подходе к НПС диалог появлялся автоматически? В meet этого НПС добавляешь строчку: use = {=dist_to_actor_le(5)} self, true Когда игрок приблизится к нему на 5 метров, он автоматом начнёт беседу. Дополнено 1 минуту спустя 4 часа назад, Lenya056 сказал: Я создал смарт но вот такая ошибка: Проблема не в смарте, а, вероятно, в логике подключённого к нему НПС. Изменено 2 августа, 2021 пользователем Neptun 1 progkuchumov отреагировал на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lenya056 1 Опубликовано 2 августа, 2021 Neptun Вот логика НПС [logic@zat_skad_sniper] active = walker [walker] path_walk = zat_skad_sniper_walk Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 686 Опубликовано 2 августа, 2021 9 минут назад, Lenya056 сказал: Вот логика НПС У тебя написано в смарте: zat_skad_sniper_1 А в логике уже: [logic@zat_skad_sniper] Единицу потерял. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lenya056 1 Опубликовано 2 августа, 2021 (изменено) Neptun Название в смарте я поменял Я так понял spawn_point в squad_descr это одиночный вейпоинт типо: [zat_skad_sniper_spawn] points = p0 p0:name = wp00 p0:position = 115.6721496582,2.2605323791504,183.47236633301 p0:game_vertex_id = 316 p0:level_vertex_id = 1165999 Изменено 2 августа, 2021 пользователем Lenya056 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 686 Опубликовано 2 августа, 2021 4 часа назад, Lenya056 сказал: Я так понял spawn_point в squad_descr это одиночный вейпоинт типо: Ничего не понял. Как правильно: в вейпоинте название должно быть таким: [имя_смарта_Название_пути] А в самой логике путь читается таким образом: path_walk = Название_пути Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lenya056 1 Опубликовано 2 августа, 2021 Neptun Извиняюсь за тупость но вот все связанные файлы alife_zaton [1866] ; cse_abstract properties section_name = smart_terrain name = zat_b500 position = 115.6721496582,2.2605323791504,183.47236633301 direction = 0.149253994226456,0.00221799989230931,-0.0149170001968741 ; cse_alife_object properties game_vertex_id = 316 distance = 17.5 level_vertex_id = 1165999 object_flags = 0xffffff3e custom_data = <<END [smart_terrain] max_population = 1 [exclusive] zat_skad_sniper = zaton\zat_skad_sniper_1.ltx ;cfg = scripts\zaton\smart\zat_b500.ltx END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 2 ; cse_alife_space_restrictor properties restrictor_type = 3 ; se_smart_terrain properties way_zaton [zat_b500_skad_sniper_spawn] points = p0 p0:flags = 0x1 p0:name = wp00 p0:position = 115.6721496582,2.2605323791504,183.47236633301 p0:game_vertex_id = 316 p0:level_vertex_id = 1165999 [zat_b500_skad_sniper_walk] points = p0,p1,p2,p3 p0:flags = 0x1 p0:name = wp00 p0:position = 115.6721496582,2.2605323791504,183.47236633301 p0:game_vertex_id = 316 p0:level_vertex_id = 1165999 p1:name = wp01 p0:flags = 0x2 p1:position = 116.11437988281,1.9611202478409,190.39184570313 p1:game_vertex_id = 316 p1:level_vertex_id = 1166012 p1:links = p2(1),p0(1) p2:name = wp02 p0:flags = 0x4 p2:position = 110.01203918457,1.3603667020798,189.93905639648 p2:game_vertex_id = 316 p2:level_vertex_id = 1155278 p2:links = p3(1),p1(1) p3:name = wp03 p0:flags = 0x8 p3:position = 116.53996276855,2.2526621818542,187.29321289063 p3:game_vertex_id = 316 p3:level_vertex_id = 1166010 p3:links = p2(1) squad_descr [zat_skad_sniper_squad]:online_offline_group faction = stalker npc = zat_skad_sniper_1 target_smart = zat_b500 spawn_point = skad_sniper_spawn simulation zat_skad_sniper_squad = zat_b500 файл логики нпс [logic@zat_skad_sniper] active = walker [walker] path_walk = skad_sniper_walk Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AziatkaVictor 2 400 Опубликовано 2 августа, 2021 Такой вопрос по GUI. Могу ли я в объекте типа CUIListBoxItem хранить таблицу Lua? Естественно, чтобы её не было видно, а отображался просто st_текст (Эту часть я уже сделал). Конечно, я мог бы просто отображать id или техническое название, но это бы выглядело странно... Отбой, все решилось этой строчкой: _itm.id = _itm:AddTextField(массив.id, 40) Как оформить тему Правила форума Вопросы по сайту Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Шубин 21 Опубликовано 3 августа, 2021 Добрый день. Для квеста создал аномальную зону. Все аномалии в этой зоне имеют стори-ид. Такие: stc_angel_anomali_1 stc_angel_anomali_2 и т.д. Всего аномалий больше сотни. Их нужно отключить. Можно написать в логике рестриктора =disable_anomaly(stc_angel_anomali_1) =disable_anomaly(stc_angel_anomali_2) Можно ли отключить их одной функцией, если аномалий, допустим, 100? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Overf1rst 371 Опубликовано 3 августа, 2021 В логику: %=disable_stc_anomalies% В xr_effects.script: function disable_stc_anomalies(actor, npc, p) for i = 1, 100 do disable_anomaly(actor, npc, {"stc_angel_anomali_" .. i}) end end 1 1 2 denis2000, AziatkaVictor, progkuchumov и 1 другой отреагировали на это Больше неофициальных скриншотов в галерее GAMERU.NET Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AziatkaVictor 2 400 Опубликовано 3 августа, 2021 Могу ли я, имея имя секции артефакта в скрипте, получить его параметры? Например, свойства, иконку, описание и тд. Как оформить тему Правила форума Вопросы по сайту Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Overf1rst 371 Опубликовано 3 августа, 2021 Шаблон: local param = system_ini():r_string(item_section, param_name) Пример: local name = system_ini():r_string("wpn_ak74", "inv_name") 1 1 denis2000 и AziatkaVictor отреагировали на это Больше неофициальных скриншотов в галерее GAMERU.NET Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
o4kostr3l 55 Опубликовано 3 августа, 2021 denis2000 Не знаете, возможно ли как-то поменять имя у гг в онлайне, т.е. не перезаходя в игру Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hozar_2002 88 Опубликовано 4 августа, 2021 o4kostr3l Обсуждалось на второй страничке этого топика. function change_actor_name(new_name) local sobj = alife():actor() local tbl = stpk_utils.get_object_data(sobj) tbl.character_name = new_name stpk_utils.set_object_data(tbl, sobj) end Вызывать например как change_actor_name("Strelok1986"). Не помню нужно ли транслитить строку. Делается это функцией game.translate_string(string). Файл, необходимый для работы скрипта, можно скачать с сообщения по ссылке. 1 denis2000 отреагировал на это 6 ГБ ОЗУ DDR3 1152 мГц (Разносорт) Процессор Intel Xeon E5420 4/4 2.7 ГГц (OC) Видеокарта Gigabyte GeForce GT 240 512 МБ GDDR5 (Samsung) DirectX v10.1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
o4kostr3l 55 Опубликовано 4 августа, 2021 (изменено) 6 часов назад, Hozar_2002 сказал: o4kostr3l Обсуждалось на второй страничке этого топика. function change_actor_name(new_name) local sobj = alife():actor() local tbl = stpk_utils.get_object_data(sobj) tbl.character_name = new_name stpk_utils.set_object_data(tbl, sobj) end Вызывать например как change_actor_name("Strelok1986"). Не помню нужно ли транслитить строку. Делается это функцией game.translate_string(string). Файл, необходимый для работы скрипта, можно скачать с сообщения по ссылке. Спасибо. Саму функцию, как я понять, вписать в xr_effects.script, да? Изменено 4 августа, 2021 пользователем o4kostr3l Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hozar_2002 88 Опубликовано 4 августа, 2021 1 минуту назад, o4kostr3l сказал: xr_effects Для нее немного придется переделать. function change_actor_name(actor, npc, p) local sobj = alife():actor() local tbl = stpk_utils.get_object_data(sobj) tbl.character_name = p[1] stpk_utils.set_object_data(tbl, sobj) end Применять в логике примерно change_actor_name(st_achievement_13_name) 6 ГБ ОЗУ DDR3 1152 мГц (Разносорт) Процессор Intel Xeon E5420 4/4 2.7 ГГц (OC) Видеокарта Gigabyte GeForce GT 240 512 МБ GDDR5 (Samsung) DirectX v10.1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
o4kostr3l 55 Опубликовано 4 августа, 2021 6 минут назад, Hozar_2002 сказал: Для нее немного придется переделать. function change_actor_name(actor, npc, p) local sobj = alife():actor() local tbl = stpk_utils.get_object_data(sobj) tbl.character_name = p[1] stpk_utils.set_object_data(tbl, sobj) end Применять в логике примерно change_actor_name(st_achievement_13_name) Спасибо огромное. Вы мне сильно помогли Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kamr4d 21 Опубликовано 4 августа, 2021 Всем доброго дня. Есть ли возможность наложить на ГГ эффект не .ppe, а эффектора, например детекта бюрера из ТЧ? Прописать я его прописал, мне нужна скриптовая строка для вызова непосредственно этого эффекта [burer_scan_effector] duality_h = 0.003 duality_v = 0.002 blur = 1.5 gray = 0.3 noise_intensity = 0.0 noise_grain = 2 noise_fps = 8 color_base = 0.55,0.5,0.5;0.637,0.442,0.456 color_gray = 0.333,0.333,0.333 color_add = 0.05,0.0,0.0 time = 10.00 time_attack = 0.3 ; fade in time_release = 0.85 ; fade out Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 532 Опубликовано 4 августа, 2021 (изменено) Kamr4d В чем проблема!? Создаете ppe-файл с требуемыми настройками и запускаете стандартным методом. А если действительно хотите запуск эффектов секцией с набром цифровых параметров - модифицируйте движок. Изменено 4 августа, 2021 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kamr4d 21 Опубликовано 4 августа, 2021 denis2000 Спасибо за ответ. А как мне создать .ppe файл именно с такими настройками? Дельных уроков и статей по этой теме нет или очень мало Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AziatkaVictor 2 400 Опубликовано 4 августа, 2021 Я так понял, если указать в XML тег complex_mode="1", то функция SetEllipsis() перестаёт работать. Как это починить? И как исправить отображение текстуры у широкоформатников при InitTexture()? Я прописал SetTextureRect(Frect():set(0,0,102,128)), текстура обрезается, но все-равно выглядит растянуто. Оригинал по размерам 128 на 128. Но при этом, текстура "ui\ui_noise" выглядит нормально. Как оформить тему Правила форума Вопросы по сайту Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 532 Опубликовано 4 августа, 2021 37 минут назад, Kamr4d сказал: А как мне создать .ppe файл именно с такими настройками? В комплекте SDK есть специальная программа Postprocess.exe. Она предельно простая, разобраться, как настраивать эффекты не сложно. Для начала выставьте четыре кейфрейма по таймингам согласно конфигу (time, time_attack, time_release), затем в центральных точках параметры по отдельным эффектам опять же согласно цифрам из конфига. Сохраните в файл и проиграйте его в игре, если эффектор будет отличаться от требуемого, то придется играть с параметрами индивидуально (но не думаю, что это потребуется). 1 Kamr4d отреагировал на это Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kamr4d 21 Опубликовано 4 августа, 2021 denis2000 Благодарю за помощь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kalambur 25 Опубликовано 4 августа, 2021 Подскажите пожалуйста, в каком ui файле можно поправить координаты полоски загрузки на загрузочном экране, хочу шире и толще ее слелать ?! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Fly2 8 Опубликовано 4 августа, 2021 Доброго времени суток, господа, хочу поинтересоваться у опытных движкоправов и скриптеров насчёт создания скриптов. Меня терзают вопросы касательно того, нужно ли в сталкере жёстко уходить в программирование (то есть учить с++), для того чтобы писать скрипты уровня "добавить новый слот под патроны/бинокль для CoP", или создание, например, биорадара/разгрузки, контейнеров для артов и вот подобных манипуляций с интерфейсом и симуляцией? С чего начинается изучение движка (статьи, уроки может есть?), или это здесь доступно только "избранным"? Просто, насколько я знаю, для написания скриптов в игре используется язык Lua, принцип работы с котором я на базовом уровне понимаю и готов его изучать (мне это, в принципе и самому интересно), а вот с плюсами связываться желания нет вообще никакого ибо я наслышан об этом достаточно (С от слова "смерть" ++ - это два ряда могил, решивших постичь плюса без навыков программирования?) . И ещё такой вопрос, сильно ли работа с движком и скриптами принципиально различаются между разными платформами (тч, зп, чн)? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты