Overf1rst 1 417 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 16 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 753 Опубликовано 4 июля, 2022 (изменено) 34 минуты назад, Сергей Шубин сказал: Как составить функцию - прекондишион для диалога? Должна возвращать true, если ГГ убил, например, 20 монстров. function actor_killed_over_20_monsters(first_speaker, second_speaker) return xr_statistic.actor_statistic.killed_monsters > 19 end 34 минуты назад, Сергей Шубин сказал: Как составить функцию для xr_conditions в общем виде? Вызывается из логики рестриктора. Если ГГ выполнил, допустим, 5 квестов, то рестриктор переключается на следующую секцию function actor_completed_quests(actor, npc, p) if p[1] == nil then return false end return xr_statistic.actor_statistic.completed_quests >= tonumber(p[1]) end [sr_idle@1] on_info = {=actor_completed_quests(5)} sr_idle@2 [sr_idle@2] Изменено 4 июля, 2022 пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 4 июля, 2022 подскажите функцию проверку отношения нпс к гг? Нужно на колбек смерти повесить, или бесполезно туда вешать и даже ваншотом друзья при смерти становятся врагами? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 419 Опубликовано 4 июля, 2022 (изменено) ian98 game_relations.get_npcs_relation(npc,db.actor) <= -1000 ---ВРАГ game_relations.get_npcs_relation(npc,db.actor) >= 1000 --ДРУГ Изменено 4 июля, 2022 пользователем liner 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 4 июля, 2022 (изменено) del Изменено 4 июля, 2022 пользователем ian98 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 5 июля, 2022 (изменено) Нужно сделать чтобы в gui в компоненте listbox было реализованно условие чтобы при клике на определенную строку срабатывала функция Изменено 5 июля, 2022 пользователем Paradox27kms 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 9 июля, 2022 Можно ли реализовать скрипт чтобы НПС отдал свой ствол гг который использует? 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Graff46 167 Опубликовано 10 июля, 2022 Подскажите почему НПС могу не видеть ГГ? Это происхлдит на одной локации (среднее качество компиляции, АИ сетка не драфт). При стрельбе НПС паникуют, кидают гранаты, но ГГ не видят. Я тестировал видимость ГГ для НПС так: npc:see(db.actor) Возвращает false. НПС реально "не видят" ГГ. Пробовал менять в смарте НПС на другие модели и секции - не помогает. И создание фанатских модов — это не следствие популярности S.T.A.L.K.E.R., это причина по которой когда-нибудь появится на свет S.T.A.L.K.E.R. 2© С. Григорович. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 554 Опубликовано 10 июля, 2022 Graff46 наверное это какие-то баги с локацией, но можно попробовать неписям увеличить видимость или через конфиг сталкеров все параметры и коэффициенты из Visibility там много факторов: время time дистанция min_view_distance и max_view_distance чем больше тем дальше видят неписи visibility_threshold (лимит чем меньше тем быстрее замечают) velocity_factor - фактор движения luminocity_factor - фактор освещения, чем меньше, тем быстрее замечают в темноте transparency_threshold - видимость сквозь полупрозрачные объекты типа кусты) чем меньше тем лучше в них палят, тут можно попробовать значение около 0 ( если поставить 1- по идее вообще не будут видеть в кустах) на ЗП еще можно в юзере, править основные параметры АИ, это углы взора ai_aim_max_angle, ai_aim_min_angle . ai_aim_min_speed - скорость прицеливания, чем ниже тем быстрее АИ палят игрока, и начинают стрелять когда увидят ai_aim_predict_time - скорость упреждения когда игрок двигается, то есть при больших значениях АИ будут попадать только по стоячему игроку, в движении будут мазать, при низких значениях даже по бегущему спринтеру будут бить точно в яблочко) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 139 Опубликовано 10 июля, 2022 (изменено) В 05.07.2022 в 16:08, Paradox27kms сказал: чтобы в gui в компоненте listbox было реализованно условие чтобы при клике на определенную строку срабатывала функция Нуу...при клике и проверяйте соответствие, не очень понятен вопрос. Текст же получаете, и другие значения, которые при добавлении в листбокс записываете 23 часа назад, Paradox27kms сказал: Можно ли реализовать скрипт чтобы НПС отдал свой ствол гг который использует? А надо ли? Если нпс будет без оружия - будет носиться по всей локе как дурной. Например, так Спойлер npc обозначьте (смотря через что забираете) и нужные слоты local wpn = npc:item_in_slot(3) if wpn then npc:transfer_item(wpn, db.actor) end Изменено 10 июля, 2022 пользователем vader_33 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Шубин 21 Опубликовано 10 июля, 2022 Добрый вечер. Тестирую функции передачи от игрока квестовых предметов. В оригинальном Зове Припяти происходит трансферт предметов. Когда мы приносим Тесаку 6 банок тушенки, то они у него и остаются. Если грохнуть Тесака, то в этом можно убедиться. Пробую функции для диалога, удаляющие квестовые предметы из игры. Получилось следующее. Для одиночного предмета работает отлично. Спойлер function esc_b3_atp_scout_medkit_out(actor, npc) dialogs.relocate_object_ot_actor("medkit") end function relocate_object_ot_actor(item) local obj = db.actor:object(item) if obj ~= nil then alife():release(alife():object(obj:id()), true) end news_manager.relocate_item(db.actor,"out",item) end Но если предметов два или несколько, то удаляется только один. Чтобы убрать два предмета, нужно в диалоге делать два экшена. Нашел такую функцию. Спойлер function esc_teleport_scaner_1_out(actor, npc) dialogs.relocate_objects_ot_actor("teleport_scaner_1") end function relocate_objects_ot_actor(target_item) local victim=db.actor local function calc(temp,item) if item~=nil then if item:section()==target_item then if alife():object(item:id()) then alife():release(alife():object(item:id()),true) news_manager.relocate_item(db.actor,"out",target_item) end end end end victim:iterate_inventory(calc,victim) end Эта функция убирает все предметы с данным именем. Есть в рюкзаке 10 автоматов, то уберет все подчистую. Вопрос такой. Как доработать первую функцию? function relocate_object_ot_actor(item) local obj = db.actor:object(item) if obj ~= nil then alife():release(alife():object(obj:id()), true) end news_manager.relocate_item(db.actor,"out",item) end Чтобы можно было задать число удаляемых предметов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 608 Опубликовано 10 июля, 2022 Зачем изобретать велосипед? Файл dialogs.script Функция relocate_item_section_from_actor Скопируйте её и назовите, например, remove_item_section_from_actor Там где объекты трансферятся замените на их удаление. Счетчик все-равно будет исправно работать и выдаст в диалоге, какое количество объектов "передано" от ГГ. Получите в файле две функции. Одна, родная пысовская, будет трансферить, другая, ваша , будет удалять. Не сложно объяснил? 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Volodymyr 0 Опубликовано 11 июля, 2022 [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...all of pripyat\gamedata\scripts\death_manager.script:32: attempt to perform arithmetic on a nil value помогите пожалуйста решить проблему Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 608 Опубликовано 11 июля, 2022 16 минут назад, Volodymyr сказал: помогите пожалуйста решить проблему Или накосячили в конфигах. Или прописали новую группировку, но не добавили её туда куда нужно. 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Graff46 167 Опубликовано 12 июля, 2022 Подскажите конфиги, чтобы нпс стрелял с двустволки с паузой между ввстрелами, а то нпс практически одновременно делает сразу 2 выстрела. И создание фанатских модов — это не следствие популярности S.T.A.L.K.E.R., это причина по которой когда-нибудь появится на свет S.T.A.L.K.E.R. 2© С. Григорович. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 753 Опубликовано 12 июля, 2022 Graff46 Это скорее всего не в конфиге, а в движке. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 656 Опубликовано 12 июля, 2022 Мне нужна функция, которая удаляет предмет из инвентаря гг во время диалога. Подскажите, пожалуйста. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 419 Опубликовано 12 июля, 2022 Крим function name() alife():release(alife():object("секция_предмета"),true) end --Вызвать функцию из диалога с помощью <action> 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Volodymyr 0 Опубликовано 13 июля, 2022 Вылет при убийстве нпс новой группировки подскажите пожалуйста Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WolfHeart 835 Опубликовано 13 июля, 2022 1 минуту назад, Volodymyr сказал: Вылет при убийстве нпс новой группировки подскажите пожалуйста У меня нога болит, от ж.пы до мизинца. Подскажите пожалуйста.? Лог вылета где? AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb). Windows -10 PRO (х64) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Volodymyr 0 Опубликовано 13 июля, 2022 [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...all of pripyat\gamedata\scripts\death_manager.script:150: attempt to index field '?' (a nil value) Извините, я думал по проблеме будет ясна причина Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 13 июля, 2022 Volodymyr недоделал где-то группировку. Забыл как минимум дроп им прописать в конфигах Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Volodymyr 0 Опубликовано 13 июля, 2022 В конгигах death items? А в death items count что-то нужно писать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 13 июля, 2022 (изменено) Volodymyr смотри по примерам других группировок, также сделай плюс в самом менеджере есть строка, там у тебя эта группировка есть? local community_list = { "stalker", "dolg", "freedom", "bandit", "army", "zombied", "ecolog", "killer", "monolith" } Если да, то прописать ее точно нужно в тех конфигах. Если нет, то я тебе неправильно говорю что-то. Я никогда не делал группировки) Изменено 13 июля, 2022 пользователем ian98 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WolfHeart 835 Опубликовано 13 июля, 2022 8 минут назад, Volodymyr сказал: attempt to index field '?' (a nil value) Тут должно было быть имя функции или переменной, но его нет (в данном случае: '?'). Это значит, что ее например, вызвали по числовому индексу из таблицы или еще как-то, причины могут быть разные. А общий смысл - то, с чем пытались совершить указанное действие, не имеет имени. AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb). Windows -10 PRO (х64) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сталкер из прошлого 115 Опубликовано 14 июля, 2022 Вопрос 1: как задать логику мутанту, заспавненному через скрипт. Сама логика есть (условно - патрульный путь от точки до точки), но как привязать её к конкретному (квестовому) мутанту? И будет ли работать на мутантах функция логики on_info = {=npc_in_zone(restrictor_name)}? Вопрос 2: возможно ли сделать через стандартную ЗП-шную систему апгрейдов, смену ХУД-визуала оружия? По логике можно в конфиге апгрейда дописать строку "hud = "новый_блок_худа_из_конфига_пушки"", но естественно оно не работает. Либо в скрипте inventory_upgrades.script создать новую функцию, подменяющую модели на новые при апгрейде, но вид этой функции пока не могу даже представить себе. Либо такое вообще никак не реализовать? Вопрос 3: как сделать возможность действия на обьекте (например как в ЗП заложить взрывчатку на дверь или осмотреть вертолёт), с выдачей инфопоршня после действия. Где-то давно встречал урок на эту тему, но сейчас найти так и не смог. Также интересно узнать, как проиграть партикл (взрыва например) по определённым координатам, с вызовом через скрипт. ASUS z87-k, I5-4670 @3.40GHz, MSI GTX 1050ti, 16gb ОЗУ, SSD 100gb, 2xHDD 500gb, Windows 10 Pro. Аномали на ультрах летает. Вместе с компом по комнате. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты