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

Ваши правки для Сталкер ЗП


Halford

Рекомендуемые сообщения

Сделали интересные правки, будь то: конфиги, скрипты, шейдеры, текстуры, модели, движок и прочие ресурсы ?


Поделитесь своими работами в этой теме!

Также, если вы наткнулись на чью то интересную правку - не проходите мимо этой темы. 
Поделитесь с остальными своей находкой!

Тема только для публикации готовых правок.
По вопросам работы с правками, обращаться в соответствующие темы в разделе: http://www.amk-team.ru/forum/forum/45-shkola-moddinga/

Просьба ко всем:
Пройдитесь сначала и до конца темы, посмотрите, может какие-то из утраченных в сети правок, имеются у вас.
Опубликуйте их пожалуйста в теме!


От @Halford:

 

Поправлен вылет с Гонтой на непропатченой версии игры.

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

 

Автор: HeliX666

Список изменений:
Небольшое приложение, которое вклинивается в адресное пространство процесса и меняет эти функции на мои и возвращает в качестве доступной памяти 4 ГБ.
 

После покупки игры был немного шокирован качеством картинки и в надежде найти нормальное логическое объяснение зашел на форум.

HeliX666 писал(а):

К сожалению ничего кроме глупых отговорок здесь я ничего не увидел. Выход который предлагают вызывает улыбку, т.к. в XP режим адресации который включается через /3GB работает(как и PAE существовавший до SP1) ужасно(особенно с играми).

Как-то под ним пробовал запускать GTA4 - это были сплошные фризы. Сегодня не повезло поиграть в FarCry2 с включенной расширенной адресацией, итог вылет на десктоп без каких либо ошибок через 5 минут игры
Что говорить о других играх, если сам СТАЛКЕР не хочет нормально работать в этом режиме. Да, четкие текстуры появились, но сама игра начала вести себя странно. Если стать напротив станции Янов со стороны путей(около столба) и смотреть в район двери, начинается слайд шоу. Причем слышно по звуку кулера на видео, что она в этот момент практически не активна. Т.е. понижается мощность, снижается температура, кулер затихает. Но только стоит посмотреть в другую сторону, видео начинает активно работать
Почему она снижает мощность и работает в экономном режиме именно в этой точке, честно говоря не понятно. Все настройки убирал на минимум, оставляя только простое динамическое освещение. Результат такой же.
Возникло предположение, что виновен расширенной адресации ( /3GB), отключаю и все становится нормально, кроме текстур.

С мазьней на экране тоже мерится не хотелось, поэтому решил сделать маленький хак. Основные функции по которым можно легко определить доступное адресное пространство GetSystemInfo и GlobalMemoryStatusEx. Посмотрев импорт xrEngine.exe понял, что именно так они и определяют - включать текстуры или нет.

В общем написал небольшое приложение, которое вклинивается в адресное пространство процесса и меняет эти функции на мои и возвращает в качестве доступной памяти 4 ГБ. Стоит отметить, что кол-во свободной памяти я не трогал(т.е. возвращает реальный размер), поэтому думаю проблем с реальным выделением памяти быть не должно(хотя с уверенностью этого сказать не могу, т.к. движка я не видел, но думаю как все нормальные люди они проверяют свободную память, а не всю доступную ... хотя ).

У же целый час играю на XPx32 SP3, без извращений с boot.ini, нормальными текстурами и без слайд шоу.


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

Установка:
Просто скопировать файлы из папки LoaderFiles в папку с игрой (не в Bin, а в основную папку) и запустить StalkerLoader.exe.
Для знающих людей в папке Source исходники, мне скрывать нечего.

  • Нравится 1
  • Полезно 3
Скрытый текст
Скрытый текст

Вентилятор https://postimg.cc/CdqLYVqR
Весы https://postimg.cc/dZYMwpbC
Крыса-генератор https://postimg.cc/4mwCR8BK
Приёмник https://postimg.cc/Ny9ZTQYT
Счётчик https://postimg.cc/v1JktCHK
Тиски https://postimg.cc/R6w8sGWZ

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

Я текстуры "собирал" из реальных фотографий. Заниматься моддингом не хочу более и чтобы работы не удалять - делюсь с Вами.

 

 

  • Нравится 1

"Не можешь починить - сломай! Или убиваем багнутый dx11 aka R4" - ЯД
Либа "универсальная": переименовываем в R3 и у нас не будет R3 и R4 в игре. Переименовываем в R2 и у нас в игре останется только "Статика" (правда при входе в игре будет ругаться, что не найдена точка входа в процедуру). Если переименовать в R1 то игра, скорее всего, не запустится).

14.04.2010 в 20:24, Drunken Master сказал:

Можно обновить ссылки ?

Изменено пользователем W.A.S.P.
оверквотинг

DDR

Товарищ куратор, прощу в моём сообщении сделать пометку о том, что скрипт работает, но, по-моему, наводит бардак в нетпакетах из за чего портятся сохранения. Сейчас у меня нет времени, чтобы окунуться в это... Увлекательное путешествие, так скажем. Но рано или поздно я за него сяду. 
Пока что сделайте какую-нибудь пометку, что качать на свой страх и риск, а то люди уже на электронную почту жалобы присылают :)

  • Согласен 1

Работы на Artstation - https://www.artstation.com/artist/stalker_lom

Небольшая текстурная наработка, которая мне уже вряд ли пригодится. Это ui_actor_newsmanager_icons.dds из оригинального ЗП, дополненный >90% иконками из ТЧ, но в обрамлении ЗП, т.е. каждая иконка подогнана под единый стиль. Есть несколько своих иконок, мне их лень было вырезать оттуда, стилистику они вроде не нарушают. Обновленного xml, к сожалению, нет.

 

Для игроков не представляет никакой ценности, только для работяг-модмейкеров. Надеюсь, кому-то я облегчу работу :)

 

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

Удалено. Фотохостинг заменил фото на политические.

 

Скачать - Нажми на меня

  • Полезно 3
Скрытый текст

Увеличенный шрифт для 4к разрешения

Ссылка на архив
 

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

881EC59D529FC6BF51EAE71630C6B3849FBC665C


AA4347BE9BB6217A4A27EF0FF47E32A6D3A111E2

Должно быть совместимо с большинством модов. Если мод имеет свои шрифты, то удаляем папку textures, оставив только config

Изменено пользователем cyberian
  • Нравится 1
  • Полезно 1

Небольшое дополнение  Хардкор мод, для Сталкер ЗП 1.6.02

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

-Изменена модель повреждений на гораздо более жесткую и реалистичную (смерть от одной-двух пуль в область ЖВО, при условии пробития брони).
-В разы снижено количество патронов в тайниках и стартовом наборе главного героя, в разы увеличены цены торговцев на боеприпасы.
-Дальность симуляции жизни увеличена со 150 до 200м, дистанция игнора врагов-людей НПСами увеличена с 80м. до дальности симуляции жизни,
скорректировано зрение НПС  (теперь, игрока могут обстрелять практически с любой дистанции, а не только с расстояния менее 80м).
-Снижены регенерирующие свойства аптечек и скорость восстановления здоровья, аптечкам добавлены побочные действия (эффект опьянения).
-Скорректированы противопулевые свойства костюмов и шлемов (в отношении главного героя и НПС) и бронепробиваемость боеприпасов
(лучшие шлемы могут защитить от 1-2х не бронебойных автоматных пуль).
-Добавлена тряска рук/раскачивание прицела (напрямую зависит от используемого оружия и физической активности главного героя).
-Слегка скорректированы характеристики всего оружия/снаряжения в сторону реализма и уникальности.
-Гранатам добавлено осколочное действие, приведено к реализму.
-Переработан эффект критического ранения НПС (падения на землю "маслину поймал, чОрт побери!"): 
1) максимизирован шанс возникновения критического ранения, 2) критически раненый НПС, в течении 1-3х минут, может либо умереть от кровотечения
либо отлечиться, встать и продолжить бой (приблизительно с равными шансами).
-Заменены/переработаны ( на более громкие и смачные) звуки: выстрелов, свиста пуль, попаданий и рикошетов.
-Переработана скорость износа оружия и брони, увеличен шанс осечек при износе.
-Торговцы покупают артефакты за 2/3 от оригинальной цены.
-Скорректированы характеристики монстров под изменённый баланс, усилены и уразноображены боевых характеристики монстров в зависимости от их вида подвида.
Всем монстрам увеличена дальность зрения.
-Переработаны модификации оружия техниками: 1) апгрейды на снижение веса оружия дают штраф к отдаче 2)апгрейды на снижение отдачи дают меньший эффект
3) мелкие балансные изменения.
-Поправлена работа уборщика трупов (в оригинальной игре трупы сталкеров исчезали на глазах, а трупы монстров не исчезали вообще -
накапливались, засоряя Зону и вызывая фризы).
-Все бандиты теперь становятся врагами, если убить нескольких из них. 
-Поправлены сбитые прицелы оружия (+ открытый прицел для пулемёта).

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

 

  • Спасибо 1

ЛетАло ЗП.

Использование.
В игре выйти в меню и жмакнуть клавишу
 F - demo_record
 F4 - телепорт-летАло

способ 1. Ввести координаты - "переместиться".

способ 2. "обзор локации" - прилетел на точку - esc - "переместиться").

 

ss-nasar-04-26-23-11-05-51-zaton.jpg

 

Тут: https://disk.yandex.ru/d/CgczP-6X_8nsNg

 

Зы. Файл game_tutorials.xml - отключение интро-роликов

Изменено пользователем nasar75
  • Полезно 2

AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64  правки Золотой Шар

Короче, не знаю в какую тему запостить, чтобы новую не создавать.

 

Переделал апскейл текстуры неба из ЗП ЕЕ для оригинального ЗП.

Загрузка с ССД на несколько секунд всего дольше, а небо смотрится на порядок приятней. Ловите, кому надо:

 Гуглдиск - https://drive.google.com/file/d/1tM27KtNzRSbXXrBQezLvLfEREofldqrA/view?usp=sharing

Яндекс  - https://disk.yandex.com/d/iO8PqECUr_BUWA

  • Спасибо 1
  • Нравится 1

Говорим с любым NPC, убираем метки отрядов на карте. Возможно будут подводные камни при traveller-телепортации, но я пока не тестил, лень. Сами разберёте. Код этот тестил конечно, лол.
 

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

Убираем метки. Спс DeepSeek.
Файл sim_squad_scripted.script

function sim_squad_scripted:refresh()
    --
Убрать метку лидера отряда
    self:hide()
    
    --if(self:commander_id()==nil) then
        --self:hide()
        --return
    --end
    --self:show()
end


В sim_squad_scripted:hide закомментировать

    -- Убрать метку лидера отряда
    --if self.show_disabled then
        --self:hide()
        --return
    --end

    --
Убрать метку лидера отряда
    --if self.current_spot_id ~= self:commander_id() then
        --self:hide()
        --self.current_spot_id = self:commander_id()
        --self:show()
        --return
    --end


С меткой всё, теперь у лидера будет точка.

Теперь в xr_meet.script

Ищем по is_squad_commander

Пример:

def.use = "{=is_wounded} false, {!is_squad_commander} false, {=actor_enemy} false,

Стираем {!is_squad_commander} false,
Остаётся "{=is_wounded} false, {=actor_enemy} false,

И так далее, стираете там где вам нужно все преконды is_squad_commander.

В gulag_general.script тоже самое, ищем по is_squad_commander, стираем.

Чтобы NPC адекватно реагировали на диалог и не сбегали, идём в xr_patrol.script

После функции PatrolManager:update

Ставим новую:

-- Кто-то в отряде говорит с игроком
function PatrolManager:is_anyone_in_meet()
    for id, data in pairs(self.npc_list) do
        local npc = data.soldier
        if npc and npc:alive() then
            local in_meet = xr_meet.is_meet(npc)
            local is_talking = npc:is_talking()
            if in_meet or is_talking then
                return true
            end
        end
    end
    return false
end


В функции action_commander:execute сразу под строкой (можно и не под строкой, а под названием сразу) action_base.execute(self)

Добавляем: 

    if patrols[self.st.patrol_key]:is_anyone_in_meet() then
        state_mgr.set_state(self.object, "guard")
        return
    end    


В функции action_patrol:execute

Сразу под строкой action_base.execute (self)

Добавляем: 

    if patrols[self.st.patrol_key]:is_anyone_in_meet() then
        state_mgr.set_state(self.object, "guard")
        return
    end


Идём в xr_reach_task.script

Всё тоже самое, после PatrolManager:update добавляем:

function PatrolManager:is_anyone_in_meet()
    for id, data in pairs(self.npc_list) do
        local npc = level.object_by_id(data.soldier)
        if npc and npc:alive() then
            local in_meet = xr_meet.is_meet(npc)
            local is_talking = npc:is_talking()
            if in_meet or is_talking then
                return true
            end
        end
    end
    return false
end


Сразу под function action_reach_task_location:commander_execute()

Добавляем:

    if patrols[self.target_id.."_to_"..self.squad_id]:is_anyone_in_meet() then
        self.object:set_movement_type(move.stand)
        return
    end


Сразу под:

function action_reach_task_location:soldier_execute()

Добавляем:

    if patrols[self.target_id.."_to_"..self.squad_id]:is_anyone_in_meet() then
        self.object:set_movement_type(move.stand)
        return
    end

 

 

 

Нормальный уборщик трупов (никаких отдельных клинеров), навайбкожено Gemini. Проверялось на IX-Ray, теоретически пойдёт под любой сталкер ЗП (дефолтные параметры, значения, вызовы использовались). Почему теоретически? Дефолтный движок может быть более восприимчив к некоторым ошибкам, если они есть. Судя по тестам проблем никаких нет, проверялось всё, вылетов не было за несколько прохождений.
 

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

Метод on_item_take
Пишем в нём 

    -- Убираем выброшенный предмет из менеджера если снова подобрали
    release_body_manager.get_release_body_manager():remove_from_table(obj_id)

Метод on_item_drop

    -- Передаем выброшенный предмет в менеджер очистки
    release_body_manager.get_release_body_manager():add_player_drop(obj)

Метод update

    release_body_manager.get_release_body_manager():update()


Что может и что делает? Удаляет спустя время трупы NPC и NPC-мутантов, оружие NPC-людей (кроме уникального story_id, нетипичное name), предметы выброшенные актором (кроме уникальных со story_id), уникальные трупы со story_id.
 

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

- IDLE_AFTER_DEATH: По дефолту действует таймер в 300000 (5 минут реала?)
- MAX_CAPACITY: Лимит объектов 20+1 (можно уменьшить, удаляет всё что свыше этого числа)
- MIN_DIST_TO_RELEASE_SQR: Минимальная дистанция до удаления 2500 (в квадратах, по итогу 50 игровых метров), сначала удаляет самое дальнее от актора.
- UNLOCK_DIST_SQR: Минимальная дистанция, на которую надо подойти чтобы занести npc со story_id в таблицу на удаление 9 (в квадрате, по итогу 3 метра)
- WEAPON_SCAN_INTERVAL можно не трогать. Как часто сканирует локацию на предмет бесхозного оружия, поскольку вызов мы прописали в update таймер нужен, чтобы сильно не грузить игру. Присутствует проверка по имени, так что он не удалит пушки, лежащие на уровне.


Таймер обнуляется после сейвлоада, чтобы не было такого "я сохранился возле горы лута пушек и трупов, а после перезагрузки ничего нет".
Принудительная форсированная очистка предмета если актор не находится на уровне, на котором находится предмет (он должен быть именно на другом уровне, так что во время перезагрузки того же уровня ничего не удаляет, всё ок).

ВСЕ те же правила что выше действуют и на оружие, и на предметы актора.
Что такое вообще эти 3 метра для уникальных трупов NPC со story_id? Ну короче лежит у вас например труп Тремора или Глухаря и он никогда не удалится. Игрок приблизился к нему на расстояние в 3 метра, теперь для него начинают действовать те же правила что и на любой труп (без story_id) и он удалится спустя время и расстояние.
Трупы с уникальными предметами из keep_items по прежнему лежат вечно, пока не вынем предмет.
Что такое предметы актора? Всё что он выкинул из инвентаря через коллбэк on_item_drop заносится в таблицу на удаление под общие правила. Если предмет подобран снова через on_item_take, он соответственно удаляется (чтобы не было такого, что я выложил батон колбасы, подобрал, а он просто исчез из инвентаря).

https://disk.yandex.ru/d/VdfSNyJvFviROg

Не забудьте прописать у себя трупам story_id. В дефолтном ЗП это например мёртвые военные у вертолёта Скат в железном лесу и военный Шлячин, подорвавшийся на минном поле (может ещё есть, не помню), иначе они удалятся раньше, чем вы до них дойдёте по сюжету (роли они в принципе не играют, но всё же).

Изменено пользователем Last_Dawn
  • Полезно 1

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...