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

UriZzz

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

    3 438
  • Регистрация

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

  • Дней в топе

    2
  • AMKoin

    20,314 [Подарить AMKoin]

UriZzz последний раз побеждал 20 Февраля 2023

UriZzz - автор самых популярных публикаций!

Баланс оценок

1 004

1 подписчик

О UriZzz

  • День рождения 17.12.1982

Звание

  • Звание
    Иди и смотри...

Информация

  • Реальное имя
    Юрий
  • Город
    Ростов на Дону
  • Интересы
    Сталкерство и тяжёлый метал.

Недавние посетители профиля

14 577 просмотров профиля

Закладки

  1. Скриптование
    Скриптование
    9 часов назад, Kirgudu сказал:

    Выше, кстати, есть опечатка: должно быть "se_stor.get(key, default)"

    Да, виноват-с... :blush: вы правы.

    9 часов назад, Kirgudu сказал:

    проще, чем выискивать по всем скриптам

    Так я же и не выискивал. Вообще понятия не имею, где у меня se_stor дергается. Не помню)

    Просто сам se_stor заменил на такой.

    -----------------------------------------------------------------------------------------------------------
    -- Заглушка для подключения всех скриптов, использующих se_stor Артоса, к SCRIPT_VARS_STORAGE движка OGSR
    -----------------------------------------------------------------------------------------------------------
    
    function get(var_name, default)
    	local s = get_stored_vars()
    	if s[var_name] ~= nil then return s[var_name] end
    	return default
    end
    function set(var_name, value, f_check)
    	local s = get_stored_vars()
    	s[var_name] = value
    end
    --~

    Для движка OGSR, se_stor выглядит вот так :) Это на всякий случай, если кто-то будет заморачиваться зачем-то установкой модуля se_stor на моды на этом движке.

    Глобальные GetVar, SetVar, etc... на основе этих двух функций тоже дописать можно, при желании.


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

    @Stalkersof Бро, не советую пользоваться пстором, у движка есть некое хранилище где можешь что то сохранять.

    Модуль

     

    local xvars = get_stored_vars()
    
    --------------| Публичный интерфейс модуля |-----------------------------------
    
    function unpack_value(value)
        if type(value) == "userdata" then
            value = value(true)
        end
        return value
    end
    
    function value_exist(name)
        return xvars[name] ~= nil
    end
    
    function set_value(name, value)
        xvars[name] = value
    end
    
    function get_value(name, default_value)
        local value = xvars[name]
        if value == nil then
            ASSERT(default_value ~= nil, "get_value: neither value '%s' is exist, nor default value is provided", name)
            set_value(name, default_value)
            return default_value
        end
        return unpack_value(value)
    end
    
    -- в случае, если не существует, просто вернуть nil
    function get_value_safe(name)
        return unpack_value(xvars[name])
    end
    
    function remove_value(name)
        xvars[name] = nil
    end
    
    function set_or_remove_value(name, value)
        if value then
            set_value(name, value)
        else
            remove_value(name)
        end
    end
    
    function get_all_vars()
        return xvars()
    end

     


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

    @UriZzz, предлагаю борьбу с невнимательностью и fps продолжить дальше и поднять не невиданный доселе уровень, увеличив твою опытность ещё больше. ;)

    Смотри.

    Функция у тебя с говорящим названием, sleep(obj), предназначена теоретически только для обработки нажатия на спальный мешок. Не знаю, откуда и как она вызывается, но если проверка на то, что ты используешь именно спальник, до вызова функции есть, тогда условие if obj:section() == "sleep_bag" then является лишним.

    Но скорее всего такую проверку ты до функции не делаешь, а просто всегда дёргаешь её в коллбэке на дроп (ТЧ) или использование предмета (ЧН, ЗП). Примем это допущение, и тогда возникает другой момент.

    Что будет, если вокруг тебя на расстоянии 40 метров нет ни одного врага? А если ты съел колбасу? Правильно, проверка на врага сработает, а поскольку рядом никого нет, пройдёт по полному циклу, по всем 65 с лишним тысячам потенциальных объектов. И в результате ты, может, и избавился от тормозов при выдаче сообщения, зато приобрёл их при любом использовании любого предмета (если только ты не ставишь целью кушать, применять антирад, использовать бинты и аптечки и т. д. также только в спокойном месте).

    Выходом является перемещение поиска врагов после условия if obj:section() == "sleep_bag" then, так чтобы цикл запускался только если ты используешь нужный предмет.

    И последнее, чисто перфекционистское замечание. Если всё, что делает функция, это проверяет, можешь ли ты использовать спальник, и показывает нужный диалог или выдаёт сообщение, тогда нет нужды заморачиваться с лишними брейками и переменными. Можно выдать сообщение и сразу выйти из функции (return сработает как и break, прервёт выполнение цикла, но вдобавок ещё и обеспечит выход), а меню будет показано за пределами цикла, если всё хорошо, и прерывания не случилось.

    Самое время проиллюстрировать вышесказанное.

    Скрытый текст
    
    function sleep(obj)
      -- мы ещё и условие проверки перевернём: если сработал не спальник, сразу выйдем из функции - дальнейшая портянка нас не интересует
      if obj:section() ~= "sleep_bag" then return end -- не спальник --> выход
      -- ogse.spawn_item_in_inv("sleep_bag") -- по-хорошему, спавнить новый предмет лучше сразу, чем разбивать на 2 части, при выдаче сообщения и, видимо, где-то в недрах класса спальника
      for k=0,65534 do
        local m_obj = level.object_by_id(k)
        -- здесь проверку на m_obj прикрутим спереди к остальным; все критерии срабатывают последовательно, так что ошибки не будет
        -- это позволит нам не множить "if" и не увеличивать кол-во уровней вложенности условий
        if m_obj and ((IsStalker(m_obj) and ogse.get_npc_relation(m_obj,db.actor)=="enemy") or IsMonster(m_obj))
        and m_obj:position():distance_to(db.actor:position()) < 40 and m_obj:see(db.actor) then
          ogse.send_tip("Не получится заснуть пока вокруг шляются всякие", "Меченый", 0, 10, "mecheny")
          ogse.spawn_item_in_inv("sleep_bag") -- если не заспавнили выше
          return --> и сразу выход из цикла и функции
        end
      end
      -- если всё хорошо и цикл врагов не выявил, ничто больше не мешает показать меню спальника
      local hud = sleep_ui(get_hud()) -- указываем на class "sleep_ui" (CUIScriptWnd)
      level.start_stop_menu(hud, true) -- открываем меню
    end

    Результат: избавились от лишних времязатратных действий, укоротили (если стереть мои комментарии) код вдвое, а также малость улучшили читабельность.

     

    P.S. При желании ты с Lua разберёшься, я уверен. С СДК разобрался, значит и со скриптами сможешь. :) Надо лишь пройти чуть дальше, чем "работает - и ладно".

     

     

    @Марка демченков, попробуй это:

    exit()

     


  4. Текстура Арена
    [SoC] Ковыряемся в файлах

    @UriZzz sign_info_01r.dds


  5. Проблема последнего дня месяца
    Скриптование

    Вампир35

    1. Никак не получить, т.к. АМК-таймеры не имеют соответствующего интерфейса по доступу к ним. Ну а кто патался написать ... вероятно понимал, что проще и лучше написать свои таймеры заново, чем вставлять костыли "одряхлевшему" коду.

    2. А не слышал о проблеме 2000-го года? Того же порядка, т.е. в принятом формате параметра не хватает разрядности и в какой-то момент наступает "переполнение"/сброс.

    В АМК-тайрах используется 32-х битный таймер game.time() и кол-во разрядов хватает на ... немного меньше месяца игрового времени. Далее наступает обнуление бахового времени и все "новые" таймеры будут заведомо с меньшим временем, чем те, которые были до "часа Х".

    Лечить таймеры в общем-то бессмысленно, т.к. эта ошибка присуща не только им а имеется во многих кодах игры и следует глобально поменять использование game.time() на 64-х битный вариант game.CTime()


  6. Методы управления погодой OGSR
    [SoC] Ковыряемся в файлах
    2 hours ago, UriZzz said:

    что это за метод level.set_weather_next? В чём его смысл? Чем он разнится с level.set_weather?

    Попробую вспомнить. На всякий случай начнем с начала, как собственно погода выбирается. Допустим у нас имеется погода с названием "clear". Она состоим из нескольких секций с описанием погоды. Каждая секция описывает погоду в указанное время. Время - это имя секции. В движке имеется указание на секцию для текущего времени и следующую за ней. Назовем их C0 и C1. В процессе нахождения на локации движок плавно меняет погоду от C0 к C1. Когда наступает, время соответствующее погоде C1, текущаяя погода полностью соответствует той, что описана в секции C1 и движок делает C0 = C1 и C1 = следующаяя секция погоды, которая следует за C1 и так далее, до самого конце секции, а потом переходит к началу секции и так по кругу бесконечно. Так вот, set_weather( "clear", true ) устанавливает C0 и C1 из погоды "clear" в соответствии с текущим временем. set_weather( "clear" ) просто устанавливает из какой погоды будут браться следующие C1 и не меняет текущую погоду. Т.е. если мы сделаем set_weather( "cloudy" ), то у нас будет плавное изменение погоды "clear" от С0 к C1, и при наступлении времени, соответствующего C1, погода C1 перейдет в C0, а следующий C1 уже будет выбираться не из погоды "clear", а из погоды "cloudy". Но с динамической погодой возможна ситуация, когда у нас в 12:00 погода "clear", а в 13:00 погода "cloudy". Т.е. нам нужно, вот в этот данный момент, что бы C0 было из "clear", а C1 - из "cloudy". Именно это и делает set_weather_next( "cloudy" ), устанавливает C1 из указанной погоды, т.е. из "cloudy" и ничего более. Т.е. для нашего случая нам нужна цепочка из

    -- установить C0 и С1 из погоды "clear"
    level.set_weather( "clear", true )
    -- т.к. начиная с C1 у нас должна действовать погода "cloudy", установим C1 из неё
    level.set_weather_next( "cloudy" )
    -- и далее, после C1 тоже должна действовать погода "cloudy"
    level.set_weather( "cloudy" )

     


  7. фикс карты Ростока от @naxac
    [SoC] Ковыряемся в файлах

    @Sikorskyi , 

     

    map_bar.dds

    map_rostok.dds

    В game_maps_single.ltx:

    [L05_bar]
    texture = map\map_bar
    bound_rect = -512.000, -512.030, 512.000, 512.001
    global_rect = 258.0,1414.0,556.0,1712
    weathers = bar
    ;music_tracks = l05_bar_musics
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    [L06_rostok]
    texture = map\map_rostok
    bound_rect = -512.000, -512.030, 512.000, 512.001
    global_rect = 258.0,1414.0,556.0,1712
    weathers = rostok
    music_tracks = l06_rostok_musics

    И l06_rostok переименован из "Дикой Территории" в "Завод Росток".

    Вот и весь фикс.


  8. мертвая зона
    Текстурная модификация "МЕРТВАЯ ЗОНА"

    .


  9. модули Артоса
    Сборочный цех

    Навеяно помощью @Romz по прикручиванию se_stor к ЗП, результатом чего стал его объединённый комплект скриптов. Он всем хорош, однако, во-первых, предназначен только для ЗП, а во-вторых, предлагает подключение, например, m_timers даже в том случае, если таймеры не нужны, а нужно только универсальное хранилище.

     

    Здесь я хочу выложить немного другой комплект модулей @Artos'a, содержащий не все модули сразу, а каждый модуль по отдельности. При этом:

    • реализована полная совместимость модулей между собой (можно интегрировать их в мод в любых необходимых сочетаниях);
    • подключение и работа всех модулей протестированы во всех частях игры;
    • для модуля универсального хранилища (se_stor) добавлено 3 разных примера подключения - для ТЧ, ЧН и ЗП соответственно. Примеры эти 100% рабочие, не требуют никакой доработки напильником. Достаточно в нужных местах добавить/закомментировать указанные куски кода.
    • модуль se_stor доработан так, что теперь он позволяет не только сохранять в чанках те внешние модули, у которых есть публичные методы save/load, но и указывать кастомные названия соответствующих методов. Таким образом, теперь можно больше данных, сохраняемых в оригинале в нет-пакете главного героя, перенести в универсальное хранилище. В добавленных примерах подключения это отражено.

    Состав:

    lua_helper - различные часто употребляемые и/или полезные функции которые могут использоваться модмейкерами.

    m_netpk - интерфейс чтения/записи net-пакетов.

    m_timers - менеджер универсальных таймеров.

    se_stor - универсальное хранилище данных произвольного размера.

     

     

    Комплект мультиплатформенных модулей для S.T.A.L.K.E.R. SoC/CS/CoP

    Автор: @Artos (+ по рекурсии те авторы, работы которых Artos использовал, см. readme к соотв. модулям)

    Доработка модулей и синхронизация их между собой: @Kirgudu

    Исправление найденных в некоторых модулях ошибок: @Charsi, @Kirgudu, @naxac, @dsh, ...

     

    Состав:

    lua_helper - различные часто употребляемые и/или полезные функции которые могут использоваться модмейкерами.

    m_netpk - интерфейс чтения/записи net-пакетов.

    m_timers - менеджер универсальных таймеров.

    se_stor - универсальное хранилище данных произвольного размера.

     

    Добавляемые в оригинальные файлы игры фрагменты кода, а также наименования некоторых внутренних функций модулей, используемых в других местах, приведены к единому стандарту.

    Таким образом, подключать модули можно по отдельности или в любых сочетаниях, необходимых в конкретном случае, без опасений насчёт совместимости.

     

    Подключение всех модулей и их работа проверены мной во всех частях игры.

    В общий сборник включён использовавшийся для этого дополнительный скрипт (test_modules.script).

    Для разового тестирования можно добавить его вызов, например, на кнопку меню или при первом апдейте актора.

     

    Пример (первый апдейт актора, проверка подключения всех четырёх модулей), bind_stalker.script:

    function actor_binder:update(delta)
      --/ ... все строки функции
    
      if not test_modules_executed and test_modules and type(test_modules.execute) == 'function' and device().precache_frame < 2 then
        test_modules.execute("lua_helper", "m_netpk", "se_stor", "m_timers")
        test_modules_executed = true
      end
    end

    Результат в логе, если все модули подключены правильно: 

    test_modules::>[lua_helper]_success!
    test_modules::>[lua_extension]_success!
    test_modules::>[m_netpk]_success!
    test_modules::>[se_stor]_success!
    test_modules::>[m_timers]_success!

     

     

    lua_helperhttps://yadi.sk/d/1_J1HVZsu7Jgy, обновлено 08.02.2025

    m_netpkhttps://yadi.sk/d/GtYsSbjnxqdtp, обновлено 08.02.2025

    se_storhttps://yadi.sk/d/a38PlQdju7Jhr, обновлено 10.08.2016

    m_timershttps://yadi.sk/d/FWJkTnAMu7Jhg, обновлено 08.02.2025

    Общий комплект + скрипт для тестированияhttps://yadi.sk/d/p69RQkBMu7JgR, обновлено 08.02.2025


  10. Правка последнего дня месяца
    [SoC] Ковыряемся в файлах

    Берем, и ВЕЗДЕ меняем. Либо на game.CTime(), либо сохранения делаем как-то типа вот так:

     

        local n = 0    -- корректировка и сохранение времени
        for k, v in pairs( tm_sec ) do n = n + 1 end
        pk:w_u32( n )
        for k, v in pairs( tm_sec ) do pk:w_stringZ( k ); pk:w_float( v - game_time_sec ) end
        n = 0
        for k, v in pairs( tm_ms ) do n = n + 1 end
        pk:w_u32( n )
        for k, v in pairs( tm_ms ) do pk:w_stringZ( k ); pk:w_float( v - game_time_ms ) end

    преимущества последнего варианта - меньший объем сэйва, быстрее все вычисления, недостаток - кто-то из принципа может проторчать на одной локации не сохраняясь до 35 мая. ;)
     


  11. СДК от яра
    [SoC] Вопросы по SDK

    X-Ray SDK от Yara. Это собранный из исходников SDK 0.4, в котором имеются десятки исправлений и улучшений. Прочитав чейндж-лист вывод один: :good2: Инфа взята тут (оригинальный пост)

    Скрытый текст

     

    *********************************************************************

    Для всех редакторов включена поддержка LARGEADDRESSAWARE
    \editors\name_editor\name_editor.bpr, ... LFLAGS ... -GF:LARGEADDRESSAWARE

     

    • Исправлены диалоговые окна в редакторах под win7 / win10
    • Поправлен экспорт DM (AE)
    • При экспорте дописывать в лог имя модели / анимации (AE)
    • Отключение оптимизации скелетных мешей (AE)
    • Теперь при изменении параметров костей обновляются только свойства, список не обновляется, дабы не сворачивались кости ниже выделенной (AE)
    • Загрузка / сохранение списка костей в bone parts (AE)
    • Поддержка drag'n'drop в АЕ
    • Флаг force 16bit motion (editor preferences > tools > motion export)
    • Не переименовать звуки в ~name.ogg при синхронизации
    • fixed image editor
    • Писать имя surface в лог, если назначены несовместимые шейдеры
    • Сохранять build_details.dds как DXT3
    • Увеличение максимального размера build_details.dds до 4096x4096
    • Увеличение максимального размера level_lods.dds до 4096x4096
    • Исправлена ошибка, если выбрать <none> при выборе группы
    • THM для групп теперь сохраняются в папку groups, а не в objects
    • Замена простого сообщения в лог на окошко с ошибкой, при попытке добавить неправильный детальный объект
    • Возможность регулировать дисперсию солнца в настройках сцены, чтобы заработали мягкие тени
    • Сверх качество хемисферы в настройках сцены (hemisphere quality: 4)
    • Правка ошибки при нажатии на пустоту в режиме Attach Object
    • Защита от пустых параметров $spawn, они иногда могут привести к ошибкам
    • Показывать имя файла объекта в сообщении, если тот не найден
    • Число одновременно добавляемых объектов (до 1024, в списках, где надо ставить галки) для детальных объектов в object list - 100
    • Снятние ограничени на количество валлмарков
    • Текстовый редактор для снап-листа
    • Не очищать snap list при выполнении Clear AI Map
    • Отдельная кнопка для экспорта level.snd_env
    • Форму со списком детальных объектов теперь можно растягивать в ширину, также можно регулировать ширину левой и правой её части.
    • Высота элементов из списка регулируется колёсиком мышки.
    • Сообщение вместо окна с ошибкой, при отсутствующем ANM в поле Motion (zones, heli)
    • Окно с ошибкой при неверной спаун-секции
    • LE при построении уровня (Compile->Build) не удаляет маленькие полигоны
    • Отключение оптимизации объектов при загрузке
    • Теперь масштаб объекта учитывается при проверке invalid faces
    • Увеличена точность позиционирования объектов до 4 знаков после запятой. (AE, LE)
    • Правка генератора разбиваемых стёкол
    • Автофокусировка на некоторые окошки со списками
    • Раскрывать весь свиток (список костей и т.п.) по клику с зажатой клавишей ctrl
    • Правка ошибки в случае установки в ноль количества запоминаемых последних файлов (recent count)
    • В режиме вращение объектов добавлено фиксированное вращение (90 градусов) с зажатым ctrl
    • Сохранение вращения при перемещении объекта с привязкой Normal Aligment (from cop src)
    • Убраны сообщения, типа Please notify AlexMX...
    • Увеличен лимит по скорости (до 1000) в редакторах
    • Увеличен лимит pixel per meter (до 100) в настройках сцены
    • Не выводить окошко с подтверждением после создания sky small
    • Cохранять параметр Depth Tolerance (box pick in LE settings)
    • Флажок вкл / выкл для отрисовки нод при генерации ИИ-сетки (при выкл, процесс идёт быстрей) (у себя ускорения не заметил)
    • Продолжать проигрывать анимацию частиц после изменения параметров, если была нажата кнопка Play (PE)
    • Более позиция выделения в Object List не сбрасывается (LE)
    • Разблокирована опция hemisphere control (по-умолчанию всегда hemi) (для ценителей статики)

    *********************************************************************

    Добавлены ключи для запуска редакторов:

    -no_warn_fv
    (отключает сообщения в логе: CSceneObject: 'file_name' different file version!)

    -no_warn_ft
    (отключает сообщения в логе: Can't find texture 'texture_name')

     

     

    Скрытый текст

     

    Установить оригинальный сдк 0.4 -> из архива скопировать папку bins и батники для запуска, в папку сдк (\level_editor)

    Скачать: https://yadi.sk/d/YdtenRY9ghNnaw

     

     

    Приправляется все это х64 компиляторами от @hi_flyer. Скажу сразу: присущи ли им баги как у компиляторов @KD87 я не в курсе, но вроде как тут все работает нормально, без засветов лмапов и прочих страданий. (линк на ориг)

    Цитата

    Собрал свой вариант х64 (ТЧ) компиляторов xrLC и xrDO.
    xrDO использует до 8 потоков, xrLC до 11 потоков на стадии просчета лайтмапов, на процессорах с количеством потоков < 11 может работать медленнее.
    Также в наличии для xrLC новые ключи на отключение просчета лайтмапа террейна, источников света hemi и sun

    Ссылка: https://yadi.sk/d/ZeqjyINRDndl_w


    И немного дополненный вариант компиляторов от @macron, чутка прибрано + инструкция. (линк на ориг)

     

    Цитата

    Небольшое обновление х64 (ТЧ) компиляторов:
    -добавлена инструкция.
    -xrLC: исправлен двойной вывод ошибок о ненайденных файлах в лог. Ошибки выделяются пустыми строчками.

    Ссылка: https://yadi.sk/d/MR5apdQmq3dLpw

     

    Обновленный XrAI — сообщением выше.


  12. Сборка от Adm-RAL для FM
    S.T.A.L.K.E.R. F.M.

    Тут что-то совершенно случайно собралось... :) За день. :)

    Если честно, то я до сих пор не понимаю - с какого вообще я зацепился за...? Может когда услышал, что есть мод где ГГ зовут Леченный!? По началу даже хотел нахамил автору за такое, но уже поздно... теперь... :biggrin:

     

     

    Начну, пожалуй...  biggrin.png

     

     

    Скрытый текст

     

    1. Скачиваем и ставим:

     

    S.T.A.L.K.E.R. SHOC 1.0006 2020 Adm-RAL Edition

     

    - это Сталкер Тени Чернобыля 1.0006 с пропатченным движком от Macron. При этом, в папке bin есть архивы с оригинальными файлами движка. Очень удобно на мой взгляд. Думаю, любой разберётся как этим пользоваться.

    - все файлы чистого ТЧ 1.0006 перепакованы в 3 игровых архива.

    - игровой архив gamedata.db6_10006_Weather_Patch_Adm-RAL содержим мою правку смоллов скайкубов, чтобы от кривых теней ПЫС глаза не вытекали. Можете его спокойно грохнуть, если хотите.

    - в игре оставлены родные шейдеры 1.0006. Хотя, по началу я собирался сразу включить самые продвинутые шейдеры чистого ТЧ, но потом передумал и оставил их для самостоятельного подключения игроками по желанию.

    - в игре предустановлен ReShade 2.0 с идеальными на мой взгляд настройками.

    - в главной папке с игрой есть папка tools.

      - в этой папке есть несколько инструментов для игры, в том числе шейдеры Е3 для самостоятельной установки в папку gamedata. Однако, я забыл добавить к этим шейдерам нужные текстуры, вот они. Их нужно положить в папку gamedata, чтобы при установке шейдеров Е3 не было вылетов. При установке мода S.T.A.L.K.E.R. The Fundamental Mode - S.G.C. Edition этих манипуляций не потребуется!

      - в папке tools есть также: ReShade, конвертер Бардака для распаковки/запаковки игровых архивов, патчер Макрона для 1.0006, патчер движка для увеличения использования оперативки (пользоваться им не нужно, всё уже сделано).

    - в эту игру можно играть без всяких модов, как и ставить сверху всякие моды для ТЧ 1.0006. Однако, в некоторых случаях всё-же могут потребоваться минимальные знания игры для установки.

     

    Установка: 

    - скачать все архивы (ОБЯЗАТЕЛЬНО ПО ОДНОМУ) в одну папку.

    - запустить exe файл и указать путь для установки игры, включая само желаемое имя папки игры, типа - C:\GAMES\S.T.A.L.K.E.R. FM

    запустить распаковку.

    - запускать игру ТОЛЬКО файлом ! START GAME.bat из корневой папки игры.

     

     

     

    2. Скачиваем и ставим:

     

    S.T.A.L.K.E.R. The Fundamental Mode - S.G.C. Edition

    S.T.A.L.K.E.R. The Fundamental Mode - S.G.C. Edition - Patch 

    (на будущее для патчей)

    СКРИНЫ ОСЕННЕГО СЕЗОНА

     

    ВИДОСИКИ:

    https://youtu.be/-eSK36Kz-44

    https://youtu.be/CNaYeGHRds4

    https://youtu.be/Eennz6Nir_E

    https://youtu.be/1gp4eaBcweA

    Порезал сосуна на шашлык, почти...  smile.png

    https://youtu.be/gbSnhlR_tK8

     

     

    - это ПОЛНЫЙ комплект мода, включает в себя вообще ВСЁ! И содержит в себе:

      - gamedata.dbx_SGC_150_Levels_CrommCruac - геометрия локаций от CrommCruac (Autumn Aurora, AtmosFear, Absolute Nature). В архиве ТОЛЬКО геометрия локаций!

      - gamedata.dbx_SGC_225_Shaders_E3 - полный комплект самых продвинутых шейдеров для чистого ТЧ. Конфигурационный файл шейдеров найдёте в папке gamedata. Возле конфигурационного файла найдёте два архива - с выкл. лучами и с вкл. лучами. Изначально лучи выключены, т.к. это редкостная дрянь, которая губит насмерть весь графоуни, но можете поприкалываться и поиграть с лучами... smile.png

      - gamedata.dbx_SGC_300_textures_01gamedata.dbx_SGC_300_textures_02 - сборка простых текстур, которые я накидываю на всё. smile.png

      - gamedata.dbx_SGC_325_textures_tricky - сборка хитрых эксклюзивных моих текстур, которые отменяют некоторые графические проблемы Сталкера или просто обязательно должны быть исполнены в определённом виде, качестве и формате.

      - gamedata.dbx_SGC_450_Summer - летний сезон в зоне. Будет работать только если отменить осенний сезон, переместив куда-нибудь игровой архив описанный ниже.

      - gamedata.dbx_SGC_475_Autumn - осенний сезон. Предустановлен в моде. Если убрать этот игровой архив из папки с игрой, то включится летний сезон!

      - gamedata.dbx_SGC_900_Torch - это самый важный игровой архив! Он содержит в себе тусклый ФОНАРИК для ГГ!!!  biggrin.png

      - gamedata.dbz_Buusty_Addon - мод The Fundamental Mode + оружейный аддон от Buusty.

      - gamedata.dbz_Buusty_Weather - билдовская погода от Buusty.

      - gamedata.dbz_Buusty_Weather_Patch_Adm-RAL - мой фикс билдовской погоды от Buusty. Исправлены смоллы, чтобы были более мягкие тени.

      - gamedata.dbz_Update_FM - апдейт для The Fundamental Mode и его адаптации от Buusty.

      - gamedata.dbz_zPatch_Adm-RAL - мой патч для ГГ. Исправлены высоты камеры во всех трёх положениях ГГ. Также заменяет текстуру рук ГГ из мода АА2 с правильными проф. бампами (и вообще, закинул комплект одних перчаток для почти всех типов рук ТЧ). И, до кучи, я заменил (или переделал) все прицельные сетки для мода. В соответствии с моим виденьем, так-сказать... smile.png

      - пора кончать! Т.е. заканчивать... smile.png

     

    Установка:

    - скачать все архивы (ОБЯЗАТЕЛЬНО ПО ОДНОМУ) в одну папку.

    - запустить exe файл и указать путь для установки мода, т.е. главную папку игры, типа - C:\GAMES\S.T.A.L.K.E.R. FM

    запустить распаковку.

    - запускать игру ТОЛЬКО файлом ! START GAME.bat из корневой папки игры.

     

    Игра может работать ТОЛЬКО на ПОЛНОЙ ДИНАМИКЕ!!! Даже не пытайтесь играть в это на статике!

     

    Удачной игры!

    Если-чё вопросы... Задавайте.

     

     

    P.S.

    Ну, терь можно и погамать малёху... Попробую пройти. А потом опять в яму!


  13. Ссылка на Дискорд ПП
    Prosectors Project
    32 минуты назад, NOapostoL сказал:

    Ссылка, кстати, была опубликована тут же

    Продублирую ее- https://discord.gg/YrW38Tc


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