Overf1rst 1 510 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 10 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Policai 1 337 Опубликовано Понедельник в 15:34 Народ! Как можно управлять партиклом, совсем не знаю как работает такая секция. sr_particle Есть файл логики спейса, всё работает, но мне нужно отключить партикл при получении определённого поршня. Логика выглядит так: Спойлер [logic] active = sr_idle@wait [sr_idle@wait] on_info = {+drk_spawn_teleport_exit} sr_particle@teleport [sr_particle@teleport] name = anomaly2\anomaly_teleport_01 path = drk_teleport_particle mode = 2 looped = true Работает ли в такой секции on_info =??? Ну или как из этой секции переключиться на другую??? Вроде партикл работает только пока работает секция. 1 Группа мода в VK Мод делался и тестировался на железе i5-11400, 32Гб ОЗУ, Radeon RX580 Разрешение 2560 х 1440. ВСЕ на максималке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 118 Опубликовано Понедельник в 16:11 36 минут назад, Policai сказал: Работает ли в такой секции on_info =??? А почему нет?! Примеров много в оригинале Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 10 Опубликовано Понедельник в 17:39 Как ударить игрока, при этом запретив ему двигаться? Я это делаю через: %=actor_punch =disable_ui% но через пару секунд управление игроку возвращается (без UI!), чего, по идее, быть не должно. Как это можно починить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 118 Опубликовано Понедельник в 17:50 10 минут назад, fenit сказал: Как это можно починить? set_inactivate_input_time(num) -- num поставьте больше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 10 Опубликовано Понедельник в 18:23 (изменено) 22 часа назад, Mass сказал: set_inactivate_input_time(num) -- num поставьте больше Спасибо, я чёт не увидел этой строчки сразу. Я решил немного модифицировать функцию, чтоб в неё можно было передавать время до "очухивания". Если кому-то понадобится, то вот: Спойлер xr_effects.script: function actor_punch(npc, actor, p) if db.actor:position():distance_to_sqr(npc:position()) > 4 then return end local inactivate_time = 30 if p and p[1] then inactivate_time = p[1] end set_inactivate_input_time(inactivate_time) level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "") local active_slot = db.actor:active_slot() if active_slot ~= 2 and active_slot ~= 3 then return end local active_item = db.actor:active_item() if active_item then db.actor:drop_item(active_item) end end Использование: ; time - время в миллисекундах. Можно не передавать аргумент time (не забывая убрать скобки), тогда управление вернётся через 3 секунды %=actor_punch(time)% Изменено Вторник в 16:21 пользователем fenit Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 118 Опубликовано Вторник в 03:55 (изменено) 9 часов назад, fenit сказал: actor_punch(actor, npc, p) И получишь ошибку, если захочешь использовать анимацию под названием "punch" .А также если будет настройка в схеме meet при abuse = true. В результате актор будет проверять расстояние от самого себя до самого себя. В вызове функции из анимации 1-ым стоит не актор, а нпс Изменено Вторник в 04:04 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 10 Опубликовано Вторник в 13:56 9 часов назад, Mass сказал: А также если будет настройка в схеме meet при abuse = true. Попробовал так - никаких вылетов, никаких окон с ошибками нет, но и анимации удара тоже, хотя я не совсем уверен на что конкретно должен обижаться непись. 9 часов назад, Mass сказал: В результате актор будет проверять расстояние от самого себя до самого себя. А почему должна появится ошибка? Мне кажется тут только что и может появится, так это баг, что неписи могут бить на любом расстоянии от гг, но я не знаю как это поправить. Единственная идея - проверять является ли актор актором, а если нет, то менять местами непися и актора, но я не понимаю как это можно сделать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 118 Опубликовано Вторник в 15:20 1 час назад, fenit сказал: никаких вылетов, никаких окон с ошибками нет Ошибка в моём понимании - это не только краш, зависание игры или порча данных! Всякие коллизии, баги, рекурсии одной и той же функции и недочёты тоже являются для меня ошибками. Я не зря уточнил в своём посте о 11 часов назад, Mass сказал: актор будет проверять расстояние от самого себя до самого себя И ты же сам пишешь тоже самое 1 час назад, fenit сказал: что неписи могут бить на любом расстоянии от гг 1 час назад, fenit сказал: Единственная идея Далеко нет.. 1 час назад, fenit сказал: я не понимаю как это можно сделать Я бы вынес переменную за пределы функции, создал новую функцию, вызвал бы эту самую функцию из новоявленной уже с новым значением константы. Можно сделать или через флажок или например через новые аргументы функции и по проверке параметра вызвать с новым значением, или создать аналогичную функцию, но уже с измененным значением. Вот тебе, как минимум, 3 идеи подкинул Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 10 Опубликовано Вторник в 15:54 21 минуту назад, Mass сказал: Ошибка в моём понимании - это не только краш, зависание игры или порча данных! Всякие коллизии, баги, рекурсии одной и той же функции и недочёты тоже являются для меня ошибками. Понял, но, всё же, тут ничего критичнее удара на любом расстоянии быть не должно. 22 минуты назад, Mass сказал: Я бы вынес переменную за пределы функции, создал новую функцию, вызвал бы эту самую функцию из новоявленной уже с новым значением константы. Можно сделать или через флажок или например через новые аргументы функции и по проверке параметра вызвать с новым значением, или создать аналогичную функцию, но уже с измененным значением. Вот тебе, как минимум, 3 идеи подкинул 1) Как мне тогда передавать эту переменную? Сама суть моей правки в том, что я теперь могу любое значение в функцию передавать. 2) Немного не понимаю что вы имете тут в виду, если прокси функцию, то там никаких флажков же не надо - просто не передавать второй аргумент и дело с концом. А вообще, как мне кажется, можно просто поменять npc и actor в аргументах функции местами и всё должно заработать корректно. 3) Не хочу плодить сущности без особой на то причины. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 118 Опубликовано Вторник в 16:16 (изменено) 25 минут назад, fenit сказал: Как мне тогда передавать эту переменную? Создать константу со значением 30 (дефолтным значением) где-нибудь вверху функции punch и лучше всего присвоить local. Делаешь новую функцию с любым неповторяющемся именем с тремя аргументами, 3-тьим будем параметр, который мы передадим в функцию punch. Дальше уже в функции punch делаем: если есть параметр присваиваем новое значение, иначе дефолт? Почему я не расписываю функцию. А вот хочу чтобы было хоть какое-нибудь понимание в скриптовой области. Если не получиться расписать могу - не проблема, но лучше сам постарайся Дополнено 3 минуты спустя 25 минут назад, fenit сказал: можно просто поменять npc и actor в аргументах функции местами А вот так незя! xr_logic проверяет значение параметра по последовательности сначала актор, нпс и сам параметр см функцию pick_section_from_condlist Это касается только вызова из логики объекта Изменено Вторник в 16:20 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 10 Опубликовано Вторник в 16:21 3 минуты назад, Mass сказал: Создать константу со значением 30 (дефолтным значением) где-нибудь вверху функции punch и лучше всего присвоить local. Делаешь новую функцию с любым неповторяющемся именем с тремя аргументами, 3-тьим будем параметр, который мы передадим в функцию punch. Дальше уже в функции punch делаем: если есть параметр присваиваем новое значение, иначе дефолт? Фактически, это то, что я сделал, но без лишней функции. Мне кажется мой вариант должен быть без багов, по крайней мере без тех, что есть в оригинале (если что, то я отредактировал сообщение с кодом). 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NewValveCom 125 Опубликовано вчера в 01:18 (изменено) Создаю кат-сцену с присутствием актёра. Во время спавна актёра - он подбирает лежащее рядом оружие, хотя прописываю, чтобы он этого не делал. Ткните пожалуйста где я что-то упускаю? Спойлер [logic] active = walker@wait [walker@wait] path_walk = actor_2_walk path_look = actor_2_look combat_ignore_cond = false combat_ignore_keep_when_attacked = true meet = no_meet on_info = {+info_for_scene_3} remark@actor_wait invulnerable = true help_wounded_enable = false out_restr = cutscene_ioltuhingather_items_enabled = false corpse_detection_enabled = false [remark@actor_wait] combat_ignore_cond = true combat_ignore_keep_when_attacked = true meet = no_meet anim = search_corpse target = path | actor_2_look,0 help_wounded_enable = false out_restr = cutscene_ioltuhin on_info = {+cutscene_ioltuhin_end} %=destroy_object%gather_items_enabled = false corpse_detection_enabled = false Изменено вчера в 01:19 пользователем NewValveCom Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 118 Опубликовано вчера в 02:24 1 час назад, NewValveCom сказал: Ткните пожалуйста где я что-то упускаю? Ничего подозрительного не вижу. Объект точно берется под схему? С путями всё нормально? Тогда добавить в эвалуатор проверку по секции на отсечение заспавненного актора, если конечно секция не идентична ЗП Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
стрелок_2009 7 Опубликовано вчера в 12:50 (изменено) У меня тут микро проблемка появилась прописал чейзер в character_desc_general, но у нпс он не спавнится и они ходят с пистолетами, хотя в файле с оружием для нпс он прописан, но другие дробовики прописанные нпс спавнятся как надо в чем может быть дело? Изменено вчера в 12:51 пользователем стрелок_2009 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 10 Опубликовано вчера в 12:57 2 минуты назад, стрелок_2009 сказал: У меня тут микро проблемка появилась прописал чейзер в character_desc_general, но у нпс он не спавнится и они ходят с пистолетами, хотя в файле с оружием для нпс он прописан, но другие дробовики прописанные нпс спавнятся как надо в чем может быть дело? Либо ты криво прописал им чейзер (что в теории должно вызывать вылет), либо не учёл, что у симуляционных неписей на один класс (к примеру, sim_default_bandit_0) приходится по несколько профилей (к примеру, sim_default_bandit_0_default_0, sim_default_bandit_0_default_1, sim_default_bandit_0_default_2), либо они считают пистолет мощнее чейзера. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
стрелок_2009 7 Опубликовано вчера в 13:55 (изменено) 58 минут назад, fenit сказал: либо они считают пистолет мощнее чейзера. А тут по подробнее.. По каким конкретнее параметрам считается НПС выбирают оружие? Если это только урон то у чейзера я прописал урон 0.75, да и у spas такой же урон, и его нпс используют Изменено вчера в 13:57 пользователем стрелок_2009 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 10 Опубликовано вчера в 14:03 (изменено) 13 минут назад, стрелок_2009 сказал: А тут по подробнее.. По каким конкретнее параметрам считается НПС выбирают оружие? Если это только урон то у чейзера я прописал урон 0.75, да и у spas такой же урон, и его нпс используют ЕМНИП, то через ранг в configs/mp/mp_ranks.ltx, т.е. непись выбирает оружие с самым высоким рангом. Но я могу ошибаться, кто знает лучше - прошу поправить. Изменено вчера в 14:09 пользователем fenit 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 17 Опубликовано вчера в 14:04 В каком файлы хранится список предметов которые нельзя продавать рандомным НПС? По крайней мере я заметил что когда добавляю новые предметы то их можно продать а другие уже имеющиеся в игре нельзя. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 10 Опубликовано вчера в 14:08 (изменено) 4 минуты назад, Paradox27kms сказал: В каком файлы хранится список предметов которые нельзя продавать рандомным НПС? По крайней мере я заметил что когда добавляю новые предметы то их можно продать а другие уже имеющиеся в игре нельзя. Рискну предположить, что в configs/misc/trade/trade_generic.ltx Изменено вчера в 14:09 пользователем fenit 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
стрелок_2009 7 Опубликовано вчера в 18:41 А скажите а можно ли прописать чтобы в первый слот оружия можно бы ставить условно только автоматы а во второй только пистолеты? Если да то как? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NewValveCom 125 Опубликовано 17 часов назад 23 часа назад, Mass сказал: Ничего подозрительного не вижу. Объект точно берется под схему? С путями всё нормально? Тогда добавить в эвалуатор проверку по секции на отсечение заспавненного актора, если конечно секция не идентична ЗП С эвалуаторами не работал. Не могли бы приблизительно подсказать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 118 Опубликовано 10 часов назад (изменено) NewValveCom в xr_gather_items.script в evaluator_gather_items:evaluate() Добавить проверку после Спойлер if self.a.gather_items_enabled ~= true then return false end if self.object:section() == "название секции актора в кат сцене, которого спавнить" then return false end А также в добавить в логику take_items = false, можно и в секцию логики, тогда предмет он точно не должен подбирать Если и это не поможет, то тут несколько вариантов: повис алайф или биндер, что в свою очередь сказалось на логике, либо нпс просто не берется под логику, тут проверять правильность пути файла до логики сталкера Изменено 10 часов назад пользователем Mass 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 011 Опубликовано 8 часов назад 8 часов назад, NewValveCom сказал: С эвалуаторами не работал. Не могли бы приблизительно подсказать? Прежде чем этим заниматься, проверьте то, что рекомендовал вам уважаемый Mass : Объект точно берется под схему? С путями всё нормально? Проблема скорее там нежели в неработоспособности оверрайда. 1 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 10 Опубликовано 1 час назад Почему неписи (симуляционные и нет) могут не атаковать новых мутантов (конкретно брал их из R.P.A. мода)? Они просто стоят и ждут пока их не загрызут. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты