-
Публикаций
623 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Весь контент BarmaGlot
-
xuyc Конфигурация системы не тянет, походу.
-
Кстати, да, ещё один вполне рабочий "костыль". Единственно, проблема, что таких мест, где сторонние скрипты могут наносит хиты, в общем случае будет несколько (в предельном случае – много), и их все надо будет костылить по отдельности, так как централизованная обработка движкового коллбэка on_before_actor_hit() отсутствует. В той же Аномалии достаточно было бы в такой коллбэк единожды вставить обработчик. Emmis Я не понял, а в чём костыльность-то? По этой схеме CoP стандартно обрабатывает некоторые аспекты поведения ГГ и/или окружающей среды. Изменить урон от воздействий полностью вписывается в эту парадигму.
-
Emmis В оригинале CoP можно работать только с property radiation у актёрского GameObject. Например: db.actor.radiation = 0.5 Актёр станет подвергаться линейному воздействию радиации и ощутимо терять здоровье, если нет защиты. Чтобы вылечить, достаточно задать 0 (уберёт радиационный хит, как и всю накопленную радиацию, но не восстановит здоровье; последнее можно регулировать при помощи db.actor.health). Доступные свойства: property bleeding property health property morale property power property psy_health property radiation Остаётся в bind_stalker.script в actor_binder:update() прикошачить функцию регуляции этих параметров. P.S. В Аномали-движке, в отличие от его материнского CoP, есть пара-тройка десятков функций и свойств по работе с иммунитетами и здоровьем актёра. update: я расписал про радиацию, не заметив что речь шла о психике, но суть та же, только свойство будет psy_health
-
Один сталкер рассказывает другому: – Еду я на своём "Запоре" со свалки на армейские склады — всё нормально, со складов двигаю на агропром — тоже всё нормально, но когда с агропрома возвращаюсь на склады, то возникают обстоятельства непреодолимой силы. ☹️ – А ты на выхлоп глушак ставил? – участливо спрашивает его товарищ. 😱 – Ставил, как не ставить! 😐 – А бампер битый красил там, нет? 😮 – И бамп красил, и битмап. Как же не красить? Все красили, и я красил. Попиксельно. 🙄 – Ну, тогда не знаю... А хотя, может ты счётчик не скручивал? 🤔 – Так скручивал. В цикле for id=1,65534... Погоди, а причём тут счётчик? 🥵 – А вот это, батенька, зависит от контекста! 🧐
-
АлеБард У вас либо пример отформатирован сайтои неверно, либо тьма тьмущая синтаксмических ошибок в строке db.actor:set_actor_position(vector():set(x -259.87408447266,y 19.950771331787,z 261.50744628906),level_vertex_id 1592445,game_vertex_id 0) а именно зачем-то указаны имена параметров x,y,z, level_vertex_id, game_vertex_id. Такая команда однозначно должна вылетать с логом.
-
Какова формула расчёта физических (мировых) координат оружия, конкретно – strapped – на основе параметров из ini (strap_position, strap_orientation) и известных координат bone из strap_bone0? (До кучи, зачем нужен strap_bone1?) Полагаю, что в формуле не должно учитываться strap_orientation, и должны быть пара-тройка cos и sin преобразований, чтобы учесть текущие координаты и направление strap_bone0. Но не уверен. В движке разобраться не получилось из-за использования им не имеющих аналога в Lua матричных функций.
-
Андрей Ветров Поставь(те) HD texture pack – и будет не позорно. Создатели, говорят, нерусские, так что им нашивка "Долга" наизнанку простительна. Хотя, может они так обозначили уровень грамотности среднего сталкерского контингента.
-
leviathan Особо ничего не даёт, кроме моральных терзаний и мыслей "как бы чего не вышло, ведь или Сидор или Дегтярёв мне сделают бо-бо, противные!"
-
ScarletFox Вопрос не понятен: по кому "прут", по кому "не прут". Распишите подробнее ситуацию. А вообще проблематично неписям двигаться в "свободном полёте" и при этом точно позиционироваться свои координаты. Они могут перемещаться по нодам сетки, это существенная дискретность. Так-то, в теории, можно им задать скриптовые алгоритмы обхода (и это нагрузит скриптовую обработку). Про движок не скажу, как он это делает и делает ли вообще.
-
Tenates ZaKoN232 Через скрипт(ы) вещи типа спавна барахла делаются на порядок проще, чем мурыжить SDK и allspawn. Разумеется, это имхо. Так как я как раз по части SDK и олспавна полный ноль 🤣 Есть много способов заспавнить барахло скриптом, они все легко гуглятся. Начните гугление с alife():create()
-
ZaKoN232 С xr_logic может быть уже множество причин, и не понятно без стека вызовов, куда копать. Попробуйте отлогировать чем-либо непосредственно перед 1270 строкой (погуглите-поищите как именно можно обустроить логирование). Возможно, поможет вызов callstack() (функция из _g.script) А так да, в переменной obj не содержится собственно game_object, или даже может содержаться, но движком соответствующий ему объект уже утилизован. Например, это может быть фантом псевдо-собаки: Lua видит его game_object, в то время как он по-факту уже исчез. Впрочем, такого рода вылеты как правило не имеют лога вовсе, так себе пример 🤔
-
ZaKoN232 Редко, но метко базовые инициализации переменных в пространстве имён Lua могут глючить. Здесь Lua ещё не успела завести в пространстве db подпространство (поле таблицы) .actor, где и предполагалось хранить заспавленный game_object актёра. Полагаю, что во всех подобных случаях безопасно заменить обращение к конструкции db.actor:id() непосредственно на "вшитый" айди актёра, а именно строку-константу AC_ID (более толерантно к ошибкам будущих модов), или того проще на число 0 (собственно, айди актёра).
-
another Раньше в шапке был рецепт, потом почему-то убрали. сцылко
-
Серебряная Если музыку – то необязательно всё делать по стандарту СДК со всеми комментариями. Достаточно просто OGG, ну пошаманить, чтоб проигрывалось. Насчёт речи неписей не так уверен. Крим Создать и вызвать фунцию, где по вкусу можно напихать проигрывание партиклов и/или, например, вызывая explode() метод у заспавленных взывабельных gameobjects.
-
Я примерно следующую мысль хотел донести: есть методики работы с безлоговыми вылетами. В основном, два принципа: расставить как можно больше дебаг-принтов в ожидаемых, да вообще – любых точках, где рядом, перед или как-то около можно ожидать вылетов. (Или не ожидать от слова "совсем, типа: "да ну нафиг, да тут всё ровно, это какая-то дичь!"). И второй метод, равный в своей продуктивности, но не всем доступный: если есть C++ исходники, то ловить баг через них под Visual Studio "на живую". И вот, бабах! Вы упомянули файлы дампов памяти. Которые, если вы знаете какие-то секреты, с большой буквы Секреты, реально могут СИЛЬНО облегчить жизнь при ловле багов. А то некоторые вылеты, – по вышеприведённым методикам, – могут ловиться днями, и даже неделями (ну, почти, для красного словца). Так что, вопрос использования файлов дампов для дебага – он реально актуальный. Сори за сумбур, пешу пат пивасом.
-
bond251 Так скачайте и установите DirectX, гугл-яндекс в помощь, там по первым же ссылкам.
-
Ответ содержится в вопросе. Решение: а) отключать моды. б) спрашивать в той теме, откуда взята "сборка" P.S. В логе нестандартная секция углюкнувшего непися. Рискну предположить, что с какой-то вероятностью такую могли применять аддоны типа HD-models или Dux-innumerable, то есть те, кто привносят новые сущности.