Перейти к контенту
Форумная Барабашка

ОП 2.2: Правки и модификации

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

Добавил нормальную инерцию для ВССМ, теперь нет ощущения что держим пулемёт в руках. Подходит на любой патч.

Скачать - Яндекс.Диск

Ганпак для НС 2016 (v2) с последним патчем и правки для dsh mod - здесь (кликабельно)

Вес 500 кг (ссылка) Мой канал на Ютубе - https://www.youtube.com/c/EscapismTM

Все фиксы и дополнения будут выкладываться в народном творчестве и описании стримов.

Ссылка на комментарий

Эффекты от контролёра

Информация от @Dmitrij-BF 

Кого напрягает эффект ауры контролёра в виде шатания камеры, нужно зайти в файле postprocess.ltx (в распакованной версии лежит в папке config/misc)
Найти строчку: [effector_controller_aura2] и удалить стоящий рядом текст :effector_alcohol
Кому лень искать и менять, готовая правка тута   https://disk.yandex.ru/d/pwid0eutGYHOpA 

 

Информация от @BillGoldberg 

gamedata\config\creatures\m_controller.ltx

PsyAura_Radius                = 0
PsyAura_Damage                = 0

И ни какого эффекта

Изменено пользователем shahvkit
Ссылка на комментарий
10.07.2022 в 17:27, RedRevolution1917 сказал:

Задача не просто заменить уже существующие композиции, а добавить в игру новые флешки сверх тех 16, что уже есть и прописать их в торговлю разным НПС.

 

@RedRevolution1917

1. Добавить новую флешку, по аналогии с уже имеющимися в конфиге.

gamedata\config\misc\ogg_player.ltx

X - нужное нам число:

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

; Х - номер флешки.
[ogg_flash_X]:II_ANTIR
visual          = dynamics\devices\flash_01.ogf ;-- моделька флешки
description      = 
inv_name           = ogg_flash_inv_1 ;-- название в нвентаре
inv_weight       = 0.02 ;-- вес в инвентаре
inv_grid_width        = 1 ;-- размер иконок
inv_grid_height        = 1 ;-- размер иконок
inv_grid_x            = 40 ;-- положение на полотне иконок
inv_grid_y            = 40 ;-- положение на полотне иконок
cost    = 2500    ; стоимость флешки
item_use_only                = true
script_description     = descriptors.usb_flash ;-- обработчик предметов

 

Как это работает:
gamedata\scripts\descriptors.script

Скрытый текст
function usb_flash(obj,input_section)
    local section = obj and obj:section() or input_section
--* номер флешки. X.
    local flash_index=section:match("ogg_flash_(%d+)")
    if not flash_index then
        abort("! ERROR Invalid conversion on getting flash_index from "..section)
    end
    local txt=translate(config:r_string(section, "inv_name"))
    for track_index=1,12 do
--* Наименование флешки и трека. flash_X_track_Y.  Х -номер флешки, Y - номер трека [1..12] 
            local track_name="flash_"..flash_index.."_track_"..track_index
            txt=txt.."\\n%c[255,1,255,255]"
            ..translate("track_name_desc")
            .." "
            ..string.format("%02d", track_index)
            .." "
            ..":%c[255,1,255,1] "..translate(track_name)
        end
    return txt
end

X - номер  флешки из gamedata\config\misc\ogg_player.ltx

Y - номер трека для этой флешки (значения: от 1 до 12)

Название звуковых файлов:

player_ogg.script

Скрытый текст
function play_track(track_index)
    if track_index then
        player_data.track=track_index
    end
    if player_data.track ==-1 or player_data.flash == -1 then
        s_play([[ogg_player\flash_nil\sound_1]])
        return
    end
--* путь и наименование звукового файла
    local track_path=[[ogg_player\flash_]]..player_data.flash..[[\sound_]]..player_data.track
    s_play(track_path)
end

 

2. Добавленные треки (звуковые файлы) должны находится в соответствующей папке (по аналогии с существующими) и иметь нужные комментарии. Что это такое - можно посмотреть здесь. Инструментарий - например, здесь. Просто открыть уже существующие треки и добавить по аналогии в свои звуковые файлы нужные значения.

 

3. Прописать флешку нужному торговцу. 

gamedata\config\trade\имя_торговца.ltx

ogg_flash_X - наименование нашей флешки из п.1 

 

p.s.: NB! Из разряда ОБС (не проверялось). Но попробовать не долго, в любом случае. По вопросам лучше в ПМ (быстрее будет :biggrin:).

 

 

Изменено пользователем Купер
  • Спасибо 1
  • Нравится 2
  • Согласен 1
  • Полезно 1
Ссылка на комментарий

@Tokkra gamedata\config\creatures\m_controller.ltx(текстовый документ\блокнот или notepad+)

 

; Большая биомасса
[biomassa_big]:biomassa
visual    = monsters\kontroler\biomassa_big
PsyAura_Radius    = 0
 

[quest_biomassa]:biomassa
custom_data = scripts\monsters\quest_biomassa.ltx
PsyAura_Radius     = 0
PsyAura_Damage    = 0

Ссылка на комментарий

Шейдеры из сборки правок от prophet + SSAO (взятое из адаптации swtc 2.0 к оп 2.2 от @voltmod)

Оптимально по балансу графики и производительности. Не гарантирую что выдрал и вставил совсем правильно, но играю без вылетов и всё работает как надо. Скачать с Гугл Диск

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

1. У кого-нибудь есть xrRender_R2.dll с большим радиусом травы? Я так понимаю его надо разобрать, изменить одну переменную и собрать заново? Неужели никто ещё не сделал? "Движок на пределе" звучит странно, учитывая что старый ОП тянул такую правку.

2. Кто-нибудь пробовал включить SSR для воды? Решейд не вариант, хотя может кто-то заставил его обрабатывать только воду, а не все поверхности?

Поделитесь правками если есть у кого.

 

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

Ставим бесчисленную нечисть на место. Ваншот с ножей и перчаток на 1000 метров. 

Убойные ножи и перчатки 1000 метров

Ставим gamedata/config/weapons

Изменено пользователем LaPRoN0213
путь для файла
Ссылка на комментарий
Скрытый текст

Заходим в scripts/callbacks/callback_hit.scrypt


local ammo_sections={
    ["ammo_12x76_zhekan"]={
        func=function(object,who, wpn, ammo, bone_index, bone_name, amount, hit_type)
            if not who or who:id()~=db.actor:id() then
                return false
            end
            if not has_info("den_test_start") or has_info("den_test_done") then
                return false
            end
            local struck_npc = get_value("zhekan_hit", -1)
            local dist = object:position():distance_to(db.actor:position())
            if not object:alive() and dist >= 50 and (struck_npc==-1 or struck_npc~=object:id()) then
                if isStalker(object) then
                    local value = get_value("zhekan_deadshot", 0)+1
                    set_value("zhekan_hit", object:id())
                    set_value("zhekan_deadshot", value)
                    local text_sms = string.extformat(translate("sms_zhekan_deadshot"), value, 50, dist)
                    sms(text_sms, 1, "dan", 4000)
                elseif isMonster(object) then
                    local value = get_value("mob_zhekan_deadshot", 0)+1
                    set_value("zhekan_hit", object:id())
                    set_value("mob_zhekan_deadshot", value)
                    local text_sms = string.extformat(translate("sms_mob_zhekan_deadshot"), value, 50, dist)
                    sms(text_sms, 1, "dan", 4000)
                end
            end
            return true
        end
    },
    ["ammo_12x76_dart"]={
        func=function(object,who, wpn, ammo, bone_index, bone_name, amount, hit_type)
            if not who or who:id()~=db.actor:id() then
                return false
            end
            if not has_info("den_test_start") or has_info("den_test_done") then
                return false
            end
            local struck_npc = get_value("dart_hit", -1)
            local dist = object:position():distance_to(db.actor:position())
            if not object:alive() and dist >= 75 and (struck_npc==-1 or struck_npc~=object:id()) then
                if isStalker(object) then
                    local value = get_value("dart_deadshot", 0)+1
                    set_value("dart_hit", object:id())
                    set_value("dart_deadshot", value)
                    local text_sms = string.extformat(translate("sms_dart_deadshot"), value, 50, dist)
                    sms(text_sms, 1, "dan", 4000)
                elseif isMonster(object) then
                    local value = get_value("mob_dart_deadshot", 0)+1
                    set_value("dart_hit", object:id())
                    set_value("mob_dart_deadshot", value)
                    local text_sms = string.extformat(translate("sms_mob_dart_deadshot"), value, 50, dist)
                    sms(text_sms, 1, "dan", 4000)
                end
            end
            return true
        end
    },
    ["ammo_410_dart"]={
        func=function(object,who, wpn, ammo, bone_index, bone_name, amount, hit_type)
            if not who or who:id()~=db.actor:id() then
                return false
            end
            if not has_info("den_test_start") or has_info("den_test_done") then
                return false
            end
            local struck_npc = get_value("410_hit", -1)
            local dist = object:position():distance_to(db.actor:position())
            if not object:alive() and (struck_npc==-1 or struck_npc~=object:id()) then
                if isStalker(object) and dist >= 75 then
                    local value = get_value("410_deadshot", 0)+1
                    set_value("410_hit", object:id())
                    set_value("410_deadshot", value)
                    local text_sms = string.extformat(translate("sms_410_deadshot"), value, 50, dist)
                    sms(text_sms, 1, "dan", 4000)
                elseif isMonster(object) and dist >= 50 then
                    local value = get_value("mob_410_deadshot", 0)+1
                    set_value("410_hit", object:id())
                    set_value("mob_410_deadshot", value)
                    local text_sms = string.extformat(translate("sms_mob_410_deadshot"), value, 50, dist)
                    sms(text_sms, 1, "dan", 4000)

Меняем выделенные красным цветом параметры на "1"


 

Ссылка на комментарий

Всем привет! Подскажите пожалуйста, в каком файле поправить можно рандомный спавн монстров и бандитов в БАРе?

Добавлено tihik,

gamedata\spawn\all.spawn

Generaator.gif

Intel Core i5-7300HQ 2500MHz \ RAM 8GB \ NVIDIA GeForce GTX1050 \ Windows 10(Home)x64 \ (SSD 120 GB)

Ссылка на комментарий

Присоединиться к обсуждению

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

Гость
К сожалению, ваш пост содержит слова, запрещенные в нашем сообществе. Пожалуйста, измените ваш текст так, чтобы в нем не оставалось слов, указанных ниже. Помните, что публикация вами даже видоизмененного запрещенного слова может нарушать законодательство РФ и Правила форума.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

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

  • Куратор(ы) темы:

AMK-Team.ru

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