naxac 2 265 Опубликовано 21 Февраля 2021 Поделиться Опубликовано 21 Февраля 2021 11 часов назад, Cheeshiree сказал(а): какую именно анимацию он использует Анимация для ремарка указывается тут: anim = bb_les_lesnik_suicide Если нет такой анимации, то и работать ничего не будет. Цитата Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Cheeshiree 0 Опубликовано 21 Февраля 2021 Поделиться Опубликовано 21 Февраля 2021 @naxac Да, спасибо. Я уже разобрался и уже все сделал. Правда у НПС почему то появляется дробовик, хотя в снаряжении только пистолет Цитата Ссылка на комментарий
Jek@n 1 297 Опубликовано 23 Февраля 2021 Поделиться Опубликовано 23 Февраля 2021 (изменено) Заспавнил лагерь НПС-нейтралов(не смарт), у каждого отдельная логика. Подхожу и стреляю в воздух - половина неписей агрится. Как это отключить? Примечание: у каждого из них есть секция [hit], где проверяется on_info = {=hit_by_actor}, однако даже от стрельбы в воздух это условие соблюдается(?) Изменено 23 Февраля 2021 пользователем Jek@n Цитата Ссылка на комментарий
WizziGun 372 Опубликовано 23 Февраля 2021 Поделиться Опубликовано 23 Февраля 2021 2 часа назад, Jek@n сказал(а): не смарт не смарт? Правильно понимаю? Они у тебя заспавнены по отдельности через all.spawn и не привязаны к какому либо скваду и смарту? Цитата ☭- Пролетарии всех стран, соединяйтесь! Ссылка на комментарий
Jek@n 1 297 Опубликовано 23 Февраля 2021 Поделиться Опубликовано 23 Февраля 2021 Да. Цитата Ссылка на комментарий
WizziGun 372 Опубликовано 24 Февраля 2021 Поделиться Опубликовано 24 Февраля 2021 (изменено) @Jek@n делай лучше по нормальному как у GSC. Оно так работать будет лучше, да и настройка более "гибкой" менее :дубовой: будет. Изменено 24 Февраля 2021 пользователем WizziGun 1 Цитата ☭- Пролетарии всех стран, соединяйтесь! Ссылка на комментарий
Jek@n 1 297 Опубликовано 27 Февраля 2021 Поделиться Опубликовано 27 Февраля 2021 (изменено) Просто хотелось бы узнать, где в скриптах находится тот самый триггер, который отвечает за агрессию именно по звуку. В ЗП есть коллбек на звуки у НПС, а у самих звуков - соответствующие огг-комменты, задающие их тип(стрельба, природа, прочее). Однако подобная реакция наблюдается далеко не у каждого персонажа. Экспериментально определил, что НПС расценивают такие звуки как хит(триггер в секции [hit] срабатывает), но опять же, не все: к примеру, свободовцы обижаются, а долговцы почему-то нет. Дело в том, что у меня радиус алайфа неограничен и подобные "звуковые обиды" могут вылезать боком, ломая сюжет: где-то в кого-то стрельнул, а на другом конце карты дружественный перс обиделся беспричинно. Изменено 27 Февраля 2021 пользователем Jek@n Цитата Ссылка на комментарий
Zander_driver 9 440 Опубликовано 27 Февраля 2021 Поделиться Опубликовано 27 Февраля 2021 @Jek@n в xr_motivator.script function motivator_binder:hit_callback(obj, amount, local_direction, who, bone_index) --В самом начале хит-колбека, добавь такую проверку: if (amount < 0.0001) then return end Просто некоторые звуки (те же выстрелы), могут вызывать самопроизвольное срабатывание хит-колбека, с нулевым уроном. Это известный баг X-Ray, случается и на ТЧ и на ЗП, насколько я понимаю. Проверка позволяет такие хиты отсеять, и скрипты не будут обрабатывать их как хиты. 1 3 Цитата Мод, где не бывает одинаковых путей - Судьба Зоны. На базе модифицированного движка OGSR Engine. В пределах 2022 года я завершаю все разработки на базе движка X-Ray. Гайды по сделанному будут написаны, наработки по СЗ на базе X-Ray будут либо опубликованы, либо переданы тем людям кто этого заслуживает. Дальнейшая разработка и реализация моих идей будет происходить на движке Unreal Engine. И где-то в пределах 2022 года, об этом совершенно точно, будут новости. Ссылка на комментарий
ARTLantist 12 Опубликовано 3 Марта 2021 Поделиться Опубликовано 3 Марта 2021 (изменено) Я отключил объединение всех одинаковых предметов в инвентаре. Как можно реализовать соединение одинаковых предметов (и не только) при переносе одного на другой? Например, у меня не стакаются патроны, из-за того, что я всё это отключил, у меня в инвентаре после обыска двух трупов появляются две пачки по 2 и 5 дроби соответственно. Я хочу их объединить в одну на 7 патронов - нажимаю на пачку на 2 патрона, перетягиваю её на пачку на 5 патронов (как оружие в слот, или прицел на оружие) и они объединяются (это нужно в идеале). Также я хочу сделать для некоторых предметов, например, у меня таблетки на несколько использований, и когда у меня в инвентаре имеется две пачки таблеток, одна на 1 использование, другая на 3 (максимум - 5), я могу перенести одну на другую и появится одна пачка таблеток на 4 использования. Как реализовать данную вещь? Изменено 3 Марта 2021 пользователем ARTLantist Цитата Ссылка на комментарий
Zander_driver 9 440 Опубликовано 3 Марта 2021 Поделиться Опубликовано 3 Марта 2021 @ARTLantist Замысловатую вещь ты затеял) Это надо каждой иконке, помнить сколько предметов под ней объединено, и помнить ну например, ID предметов, которые под нее записаны. Надо написать под это дело некую запоминающую структуру, т.к. изначально такой нет в движке. Иконки ничего не помнят, и при каждом открытии инвентаря, формируются заново. Т.е. тебе мало будет сделать объединение двух итемов по перетаскиванию - надо будет, где-нибудь это запоминать, чтобы не приходилось при следующем открывании инвентаря, перетаскивать опять. Мороки много, а выхлоп сомнительный, на мой взгляд. У себя я сделал проще - объединение итемов под одной иконкой, до некоторого их количества. А размер стека указывается в конфиге итема. Выглядит примерно так: /*** UICellItems.h ***/ u8 max_stack; virtual void SetMaxStack(u8 x) { max_stack = x; }; virtual u8 GetMaxStack() const { return max_stack; } virtual u8 GetStack() const { return 1 + m_childs.size(); } /*** UICellItems.cpp ***/ bool CUICellItem::EqualTo(CUICellItem* itm) { if ((itm->GetStack() + GetStack()) > GetMaxStack()) return false; return (m_grid_size.x==itm->GetGridSize().x) && (m_grid_size.y==itm->GetGridSize().y); } Цитата Мод, где не бывает одинаковых путей - Судьба Зоны. На базе модифицированного движка OGSR Engine. В пределах 2022 года я завершаю все разработки на базе движка X-Ray. Гайды по сделанному будут написаны, наработки по СЗ на базе X-Ray будут либо опубликованы, либо переданы тем людям кто этого заслуживает. Дальнейшая разработка и реализация моих идей будет происходить на движке Unreal Engine. И где-то в пределах 2022 года, об этом совершенно точно, будут новости. Ссылка на комментарий
ARTLantist 12 Опубликовано 3 Марта 2021 Поделиться Опубликовано 3 Марта 2021 (изменено) 5 минут назад, Zander_driver сказал(а): У себя я сделал проще - объединение итемов под одной иконкой, до некоторого их количества. А размер стека указывается в конфиге итема. Выглядит примерно так: /*** UICellItems.h ***/ u8 max_stack; virtual void SetMaxStack(u8 x) { max_stack = x; }; virtual u8 GetMaxStack() const { return max_stack; } virtual u8 GetStack() const { return 1 + m_childs.size(); } /*** UICellItems.cpp ***/ bool CUICellItem::EqualTo(CUICellItem* itm) { if ((itm->GetStack() + GetStack()) > GetMaxStack()) return false; return (m_grid_size.x==itm->GetGridSize().x) && (m_grid_size.y==itm->GetGridSize().y); } /*** UICellItems.h ***/ u8 max_stack; virtual void SetMaxStack(u8 x) { max_stack = x; }; virtual u8 GetMaxStack() const { return max_stack; } virtual u8 GetStack() const { return 1 + m_childs.size(); } /*** UICellItems.cpp ***/ bool CUICellItem::EqualTo(CUICellItem* itm) { if ((itm->GetStack() + GetStack()) > GetMaxStack()) return false; return (m_grid_size.x==itm->GetGridSize().x) && (m_grid_size.y==itm->GetGridSize().y); } я так понимаю ты u8 max_stack устанавливаешь ссылкой на конфиг, где указано максимальное количество вещей в стаке, да? Изменено 3 Марта 2021 пользователем ARTLantist Цитата Ссылка на комментарий
Zander_driver 9 440 Опубликовано 3 Марта 2021 Поделиться Опубликовано 3 Марта 2021 Ну да) При инициализации иконки, она читает этот параметр из секции конфига того предмета, на который создается. Цитата Мод, где не бывает одинаковых путей - Судьба Зоны. На базе модифицированного движка OGSR Engine. В пределах 2022 года я завершаю все разработки на базе движка X-Ray. Гайды по сделанному будут написаны, наработки по СЗ на базе X-Ray будут либо опубликованы, либо переданы тем людям кто этого заслуживает. Дальнейшая разработка и реализация моих идей будет происходить на движке Unreal Engine. И где-то в пределах 2022 года, об этом совершенно точно, будут новости. Ссылка на комментарий
ARTLantist 12 Опубликовано 6 Марта 2021 Поделиться Опубликовано 6 Марта 2021 (изменено) как можно убрать постоянное обновление ассортимента товаров у торговцев после перезагрузки игры и сделать обновление его, к примеру, один раз в 2 дня? Изменено 6 Марта 2021 пользователем ARTLantist Цитата Ссылка на комментарий
WinCap 236 Опубликовано 7 Марта 2021 Поделиться Опубликовано 7 Марта 2021 (изменено) @ARTLantist, нужно переписать функцию "trade_manager.update(npc)". Изменено 7 Марта 2021 пользователем WinCap Цитата S.T.A.L.K.E.R. Objects S.T.A.L.K.E.R. Tools Ссылка на комментарий
Jekyll 83 Опубликовано 17 Марта 2021 Поделиться Опубликовано 17 Марта 2021 Здравствуйте! Заспавнил труп сталкера таким способом: alife():create("new_stalker",[координаты]):on_death(). Как теперь его отследить? И как получить его ID? Проверки по имени или секции не срабатывают. Цитата New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор Русификатор для игры Vendetta: Curse of Raven's Cry Ссылка на комментарий
Norman Eisenherz 79 Опубликовано 18 Марта 2021 Поделиться Опубликовано 18 Марта 2021 @Jekyll Вот это не сгодится? local spawn = alife():create(…) level.client_spawn_manager():add(spawn.id, -1, fx) function fx(id, obj) … end 1 1 1 Цитата Мини-моды: ТЧ ЧН ЗП Ссылка на комментарий
AndreySol 214 Опубликовано 18 Марта 2021 Поделиться Опубликовано 18 Марта 2021 17.03.2021 в 13:36, Jekyll сказал(а): И как получить его ID? local s_obj = alife():create("new_stalker".....) if s_obj then s_obj.id 1 2 Цитата Ссылка на комментарий
ARTLantist 12 Опубликовано 30 Марта 2021 Поделиться Опубликовано 30 Марта 2021 Какую аналогию заполнения инвентаря дефолтных нпс можно придумать на замену прописыванию их в файлах character_drugs.xml, character_food.xml, character_item.xml, которые потом инклудятся в character_desc_general для этих нпс? Фигня в том, что там есть какой-то предел количества предметов, выйдя за который, игра уходит в вечную загрузку (ну лично у меня). Самый лучший вариант через скрипты, я думаю... Но как в таком случае отловить момент спавна нпс, чтобы заполнить его инвентарь? Цитата Ссылка на комментарий
Zander_driver 9 440 Опубликовано 30 Марта 2021 Поделиться Опубликовано 30 Марта 2021 @ARTLantist У серверных объектов НПС, есть свой биндер, расположен в файле se_stalker.script И там среди прочего, есть такой метод function se_stalker:on_spawn() Который как раз и вызывается после появления в игре, нового серверного объекта нпс. 1 1 Цитата Мод, где не бывает одинаковых путей - Судьба Зоны. На базе модифицированного движка OGSR Engine. В пределах 2022 года я завершаю все разработки на базе движка X-Ray. Гайды по сделанному будут написаны, наработки по СЗ на базе X-Ray будут либо опубликованы, либо переданы тем людям кто этого заслуживает. Дальнейшая разработка и реализация моих идей будет происходить на движке Unreal Engine. И где-то в пределах 2022 года, об этом совершенно точно, будут новости. Ссылка на комментарий
ARTLantist 12 Опубликовано 31 Марта 2021 Поделиться Опубликовано 31 Марта 2021 Заметил у себя один баг, не знаю, на каком этапе он появился, поэтому вынужден обратиться к знатокам. Вот в чём он проявляется: после смерти нпс идёт какая-то задержка, которая не даёт его обыскать. Надпись как бы есть, но жать F можно сколько угодно - пока не пройдет где-то 3-4 секунды - окно обыска трупа не откроется. С чем это может быть связано? Цитата Ссылка на комментарий
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.