Перейти к контенту

Kirgudu

Жители
  • Число публикаций

    1 494
  • Регистрация

  • Последнее посещение

  • Дней в топе

    16
  • AMKoin

    9,295 [Подарить AMKoin]

Весь контент пользователя Kirgudu

  1. Kirgudu

    Инструмент

    Новая сборка Инструмента для ТЧ/OGSR и ЧН от 2024-03-23 Основное изменение: в OGSR (как до этого в ТЧ и ЧН) реализован моментальный запуск функций Инструмента при нажатии горячих клавиш без необходимости выхода в главное меню. Спасибо @Charsi, который заинтересовался вопросом и доработал свой кейлоггер так, чтобы он не зависел на все сто от вырезанной мультиплеерной консольной команды. Кроме того, во всех версиях Инструмента проведён ряд менее значимых оптимизаций и исправлений. Ссылки на скачивание те же, инструкция по установке обновлена в шапке и в архивах.
  2. Kirgudu

    Инструмент

    Новая версия Инструмента для Теней Чернобыля от 2024-03-17 Теперь с поддержкой OGSR x64 Архив обновлён, ссылка в шапке прежняя. Основные изменения: - Инструмент адаптирован для использования как в оригинальных Тенях Чернобыля, так и с движком OGSR x64. Комплект один и тот же, необходимые переключения возможностей делаются автоматически. - Для OGSR-подобных движков ТЧ с поддержкой IO возвращён механизм чтения xml и других распакованных файлов оригинальной игры. - Для OGSR-подобных движков ТЧ с вырезанным мультиплеером способ запуска функций Инструмента посредством кейлоггера (прямо из игры) заменён на запуск по тем же горячим клавишам из главного меню. Подробности в шапке ("порядок установки" и "использование в игре") и в readme внутри архива.
  3. Kirgudu

    Инструмент

    Не исключено. Пару любопытных вещей я подметил, хотя, конечно, есть и то, что невозможно реализовать без движковых правок.
  4. Kirgudu

    Инструмент

    Можно попробовать. Есть у меня пунктик: работаю только со скриптами оригинальной игры насколько они это позволяют, в движок, хотя и могу, не лезу, ибо не интересно. Но тут речь идёт только об использовании возможностей при их наличии, и вроде как ничто не мешает задействовать вилки вида if io then ... else ... end для универсальности. Подумаю. Заодно можно теперь сделать и то, о чём писал выше @Купер. Есть подозрение, что после сворачивания перестаёт правильно фильтровать консольные команды кейлоггер @Charsi, задействованный в моде для обеспечения работы горячих клавиш. В результате не переключается показ инфы на худе и, главное, не вызывается весь диалог Инструмента, однако сама клавиатура при этом работает. Не сказать, что это критичный баг, но он всё равно стоит у меня в очереди на исправление.
  5. Kirgudu

    Инструмент

    Представляю Инструмент для STALKER Тени Чернобыля Ссылка на архив: https://disk.yandex.ru/d/7M7GKDv9r8dotw Описание в шапке темы обновлено и теперь включает в себя информацию по обеим версиям Инструмента. По сравнению с версией для Чистого Неба отсутствует раздел Фракции (по понятным причинам - нет войны группировок), а в разделе Объекты убрано создание отрядов. Также некоторому упрощению подверглись разделы Инфо и Переход, в частности из-за невозможности использования в ТЧ пространства имён IO и, соответственно, чтения и записи в файл. Полную информацию см. в readme внутри архива и в шапке темы. Известный баг: Инструмент для ТЧ почти всегда перестаёт правильно работать (реагировать на клавиши), если свернуть игру на рабочий стол. В ряде случаев бага можно избежать, если предварительно открыть главное меню, однако это не всегда помогает. Если из игры никуда не переключаться вплоть до выхода, Инструмент работает стабильно. Причину возникновения ошибки я пока не нашёл, а в версии для ЧН ошибка не повторяется. Приятного использования. Администрацию прошу убрать приставку [ЧН] из ссылки на Инструмент в шапке форума.
  6. Kirgudu

    Инструмент

    Действительно, не сообразил. Тогда прошу перенести туда. Шапку, теги и проч. поправлю в конце недели, вместе с выкладкой архива для ТЧ.
  7. Kirgudu

    Инструмент

    Рад сообщить, что у меня почти готова первая версия Инструмента для Теней Чернобыля. Пока в усечённом виде: на данный момент перенесены, адаптированы и более-менее проверены 3 раздела из тех, что есть в Инструменте для ЧН. Тем не менее, я уже готов результатом поделиться. Однако прежде чем публиковать Инструмент для ТЧ, хотелось бы определиться с тем, где именно это стоит сделать. Вести одну тему на все версии мне будет, конечно, гораздо удобней, чем отдельные. Но тогда ей не место в Мастерской ЧН, надо будет переместить в какой-то более универсальный раздел форума. Могу, конечно, и 2 разных темы (а в перспективе 3) поддерживать, хоть это и будет посложнее. Товарищи администраторы-модераторы, что скажете?
  8. Kirgudu

    Инструмент

    Новая версия Инструмента от 2024-03-01 Архив обновлён, ссылка в шапке прежняя. Это техническая сборка, исправляющая ошибки и кое-что оптимизирующая. Настоятельно рекомендуется к установке взамен любой сборки, взятой после 2024-02-20 и до 2024-02-28 включительно. Главное (но не единственное) изменение в следующем: К сожалению, пришлось отказаться от этого улучшения, поскольку оно приводило к непредвиденно плохим эффектам, а именно либо к сворачиванию окна игры при загрузке и последующему безлоговому вылету, либо к вылету из-за невозможности прочесть отдельные конфиги игры. Соответственно, возвращена необходимость редактировать файл fsgame.ltx для полноценной работы Инструмента. Подробности в шапке (порядок установки) и в readme внутри архива.
  9. Kirgudu

    Скриптование

    function gaus_laz_v_gaus() if xr_conditions.actor_in_zone(actor, npc, {"gaus_laz_v_gaus_sr"}) then db.actor:give_info_portion("af_run_tutor") local timer = time_global() + 2000 -- установка маркера времени на 2 секунды вперёд level.add_call( function() return timer < time_global() end, -- проверка, что текущее время стало больше, чем установленный маркер function() teleport_actor(nil, nil, {"gaus_prolez_v_gaus_way","gaus_prolez_v_gaus_look"}) end -- действие, как только проверка вернула true ) end end
  10. Kirgudu

    Инструмент

    Новая версия Инструмента от 2024-02-28 Переработал создание отрядов в модуле Инструмента "Объекты". Теперь для спавна отряда можно выбрать любой смарт из известных игре, в том числе на другой локации. Ранее безальтернативно использовался смарт, ближайший к указанным координатам. Архив обновлён, ссылка в шапке прежняя. На этом мои задумки иссякли, реализовал всё, что хотел и что было осуществимо без правки движка. Если будут баги - исправлю. Приятного использования. P.S. В ближайшие месяц-два сосредоточусь, насколько будет возможность, на мультиплатформенности Инструмента.
  11. @Купер, есть штатный модуль обработки кат-сцен sr_cutscene.script, можно отредактировать в нём под свои нужды класс action_cutscene. Например, прямо туда добавить поиск нужного статика на худе, или сделать на апдейте вызов кастомного события через xr_s, а там, где статик, собственно, добавляется, подписаться на это событие - и так далее. Но вообще это зависит от целей и сложности задачи, может пары строчек с флагом на месте вполне достаточно в конкретном случае.
  12. Kirgudu

    Скриптование

    Живой пример использования в ЗП (оригинал) можно увидеть здесь: xr_effects.jup_b202_inventory_box_relocate(actor, npc)
  13. Kirgudu

    Скриптование

    @Pavel_2000 зависит от версии игры. В ЧН и ЗП есть вполне себе работающий итератор iterate_inventory_box, аналогичный по действию итератору iterate_inventory, но предназначенный, как можно догадаться, как раз для ящиков. В ТЧ - см. совет выше по перебору серверных объектов.
  14. Kirgudu

    Инструмент

    Новая версия Инструмента от 2024-02-25 Архив обновлён, ссылка в шапке для скачивания прежняя. Поскольку изменениям подверглось достаточно много файлов, а также из-за добавления в комплект ряда конфигурационных файлов оригинальной игры, рекомендуется пройти несложный процесс установки Инструмента заново, следуя каждому из пунктов. Инструкция в шапке обновлена, кроме того, она приложена внутри архива. Приятного использования!
  15. Kirgudu

    Инструмент

    Обновлён модуль "Инвентарь". Добавлена "читерская" возможность зафиксировать состояние любого предмета при установке нужного значения, поставив флажок в поле Фиксировать. Выбранное значение будет заморожено и не изменится в процессе игры вплоть до ближайшей загрузки или до момента, когда флажок Фиксировать будет снят и снова нажата кнопка Установить, либо когда предмет станет недоступен онлайн в результате продажи, перемещения за пределы Alife-радиуса или полного удаления. Фиксировать состояние можно какого угодно количества предметов одновременно. Архив в шапке перезалит, ссылка та же. Изменённые файлы (если Инструмент уже установлен, можно обновить у себя только их): scripts\tool_inventory.script, configs\ui\tool\inventory.xml, configs\ui\tool\inventory_16.xml, configs\text\rus\st_tool.xml
  16. Kirgudu

    Инструмент

    То, что на скриншоте, связано скорее всего с тем, что не произошло отключение кнопки раздела, для чистой игры не предназначенного. Исправлю. Что же касается вывода информации об объекте по направлению взгляда, я думал об этом ещё лет 5 назад или больше, но не смог найти 100% работающий способ без использования движковых модификаций. К сожалению, и в приведённых примерах ничего нового, используются добавленные в движке или расширении методы. Update: Ошибка наслоения кнопки отключённого раздела исправлена, архив перезалит. Ссылка та же. По существу изменены файлы tool.script и tool.ltx - можно подменить только их.
  17. Kirgudu

    Ищу файлы / моды / аддоны

    @Купер Скажем так: я изучал все авторские изменения, несколько раз собирал в 2016-2018 годах, но из-за собственных предпочтений ни разу не использовал. Тем не менее, не думаю, что тебе стоит сильно опасаться. Всё-таки Charsi больше исправлял имеющиеся ошибки и дополнял оригинальный функционал, но не переделывал его. Всё довольно точечно. Из больших замен вспомню разве что LuaJIT. В общем не виду причин не попробовать, если есть желание. Сколько мы с ним работали вместе над модом, Charsi всегда сначала сам тестировал свои правки, и только затем выкладывал их для использования. Исправлять за ним ошибки в скриптах пришлось считаные разы, точно не больше, чем ему за мной.
  18. Kirgudu

    Инструмент

    Было бы, конечно, здорово получить обратную связь от тех, кто уже скачал Инструмент и опробовал его в игре. Буду благодарен не только сообщениям о багах (надеюсь, таковых будет минимум), но и предложениям по дальнейшему улучшению, внедрению новых фич. В любом случае бросать Инструмент в обозримом будущем я пока не собираюсь. Есть пара новых идей, озвучивать которые пока рановато, поскольку их реализация вполне может натолкнуться на то, что я не смогу это сделать. Кроме того, не исключено, что рано или поздно появятся версии, адаптированные для ТЧ и ЗП, или же общий универсальный вариант на три игры сразу. Посмотрим. Всё будет зависеть от качества и востребованности того, что уже сейчас сделано для ЧН.
  19. ИНСТРУМЕНТ Авторы: @Kirgudu, @monk Краткое описание: реинкарнация Повелителя зоны Платформа: S.T.A.L.K.E.R. Тени Чернобыля (1.0006) / OGSR x64 Ссылка: https://disk.yandex.ru/d/7M7GKDv9r8dotw Дата сборки: 2024-03-23 Платформа: S.T.A.L.K.E.R. Чистое небо (1.5.10) Ссылка: https://disk.yandex.ru/d/PFQhMa5XbkAh7Q Дата сборки: 2024-03-23
  20. Kirgudu

    Скриптование

    @Pavel_2000 в том же скрипте, посредством которого ты отправляешь сообщение, есть функция получения идентификатора наименования предмета через его секцию: get_inv_name(section). Пример: local obj = db.actor:object("af_medusa") if obj and not db.actor:has_info("medusa") then db.actor:give_info_portion("medusa") local news_text = game.translate_string("st_find_af")..": "..game.translate_string(news_manager.get_inv_name(obj:section())) db.actor:give_game_news(game.translate_string("st_tip"), news_text, "ui_inGame2_D_gonets_pravosudiya", 0, 3000, 0) end
  21. Ну тогда далеко ходить не надо, есть и обратный пример: cм. функцию death_manager.keep_item, вызываемую из iterate_inventory, и в ней alife():release(). Я подумал, есть запреты, связанные с высвобождением ресурсов на уровне движка, но пока это не подтверждается. Потом при случае пороюсь в плюсах.
  22. Соавтор актуального кода далеко не весь код писал сам, часто за неимением времени просто вставлял найденную главным автором мода функцию как есть. Так что не определю. Да и вылет лично у меня не повторяется - только что успешно облучил для проверки все три типа еды в инвентаре без каких бы то ни было изменений кода, вылета не было. @WinCap чем обусловлена рекомендация? Я, конечно, и сам могу поискать в движке, но трудно и долго, а ответ, возможно, уже есть готовый.
  23. @!Stars! Я таких не знаю. Специалистов по ЧН мало, регулярно заходящих на форум ещё меньше, а тех, кто захочет или сможет поделиться знаниями, раз, два и обчёлся. От меня ответа ждать не стоит, всегда интересовался больше технической стороной дела - читай, скриптами - в конфиги же предпочитаю не лезть, хоть и могу. Но если вдруг у меня возникло бы такое желание, то пошёл изучать то, что сделано до меня, в том числе и в оригинале. Поверь, инфы там вполне достаточно. https://stalkerin.gameru.net/wiki/ - здесь ещё можно поискать, хотя почти уверен, что по ЧН мало что найдётся.
  24. @!Stars! не могу сказать точно. С Faction Commander никогда не то что не работал, но и не использовал в игре, не хотелось и вряд ли захочется. Проблему такую в ОГСМ, честно говоря, не особо помню, хотя в последней версии (1.8 CE) лично исправлял много ошибок симуляции. Разве что вспоминается, что для монстров, в отличие от полноценных группировок, получение и возврат секции спавна был необязателен - и то, что я сейчас вижу (но не могу с ходу объяснить), это вроде бы подтверждает... Если всё так, достаточно в скрипте sim_faction.script в местах, предшествующих указанному вылету (там их несколько похожих), добавить проверку на то, что расчёт делается не для монстров. См. строку 299 этого скрипта из мода ОГСМ и похожие выше, при сравнении со скриптом из оригинала (if not self.player_name == "monster" and ...). Но я не поручусь, что данное изменение - единственное требующееся, слишком давно вносил эти правки. Надо пробовать.
  25. @Balavnik именно в тот лог и выводит. А вообще, было предложено 4 варианта (3 без модифицированных движков), но вопрос почему-то возник только по одному из них. Остальные, видимо, не пробовал? В конце концов, если приспичило использовать именно printf, но штатный вариант по каким-то причинам не срабатывает, можно сделать переопределение самым топорным и древним вариантом, на который уже указывал @Zander_driver. local console printf = function(fmt,...) if not console then console = get_console() end console:execute("load ~:"..string.format(fmt,...)) end И добавить это в самый конец _g.script.

AMK-Team.ru

×
×
  • Создать...