После того как разработчики поделились с сообществом открытой версией NLC7 каждый может изменить, дополнить, переделать модификацию на свое усмотрение.
В этой теме можно поделиться результатом вашей работы. Необходимо понимать, что это официальный форум самого сложного и атмосферного мода на платформе
Тень Чернобыля и поэтому перед тем как поделиться своим творчеством подумайте, что оно меняет в мире NLC. Надо понимать, что дополнения которые напрочь убивают
атмосферу мода на этом ресурсе размещаться не будут.
Пост с вашими изменениями может быть удален модератором без разъяснения, а лучшие и стабильные работы попадут со временем в шапку.
Тема создается не для общения, а для публикации своих наработок. Обсудить работы, попросить о помощи вы можете в теме Разговоры о правках в NLC
- название
- автор
- установка (версия)
- описание изменений (подробно)
- ссылка (дата обновления )
Подойдет также для сборок Микелика, Дениса, Котов.
Ссылка: https://disk.yandex..../SFC-QEq2tlojdQ
Состав:
1. Оригинальная (незатемненная) текстура пистолета Форт-17.
2. Ретекстур пистолета Беретта-92. "Ободранный" вид.
3. Ретекстур пистолет-пулемета Бизон-2. "Вороненный" вид.
4. Ретекстур АК Стрелка (старая версия этого оружия до билда 3.8).
5. Ретекстур прицела 1П78 "Каштан". Естественный вид.
6. Оригинальная (неужатая) текстура подствольного гранатомета к G36.
Все ретекстуры, кроме АК Стрелка, за моим авторством.
Часть текстур используется в build 3.8 по умолчанию.
Расширение и обновление анимаций используемых игровыми моделями NPC. Стрельба, смерть, передвижение, приседание, различные позы, позы скуки (зевание, чесание), использование еды, медикаментов и так далее.
Подходит для любой сборки NLC.
Известна проблема со звуком шагов в некоторых костюмах, а так же баг с тенью ГГ по ночам, если она включена в настройках.
Автор: KoT
Автор: KoT
1) Текстурные паки 4 видов с геометрией АА2. Текстуры объектов, растительности и т.д.
2) Погода и звуки.
3) Эмбиент (музыка). На каждой локации свои трэки.
4) Ругань на розжиг (3 фразы).
5) Фонарик (текстура и свет).
6) Яркие индикаторы худа (не как у den1s)
7) Загрузочные экраны от den1s.
По поводу совместимости: подходит для всех последних сборок на сегодняшний день и возможно для будущих, не подходит только на старые движки (от Альпета). Все файлы открытые и могут ставиться как на открытые, так и на закрытые сборки. Тестировать нечего. Всё уже давно проверено и работает. Желательно перед каждым заходом в игру пользоваться батником. Сборка дополнений скорее всего финальная. Если что-то и будет меняться, то только по этой ссылке в кач-ве перезалива всего архива.
https://drive.google...5TnQgyDl7g/view
Автор: Dance_of_Shadow
Пак масок для экзоскелета и военных костюмов для тех кого бесят оригинальные маски экзы или "Берилла"
Распаковать в корневую директорию игры с заменой файлов.
Скачать1
Скачать2
Автор: Rinos
Тут спрашивали, можно ли убрать увод камеры при хите. Можно, но не нужно, так, как эта анимация имитирует сильный хит по ГГ. А, вот, уменьшить увод камеры и длительность эффекта, это стоит сделать. "Ванильная" анимация слишком долгая и камера смещается существенно, при этом, по ГГ продолжает наноситься урон, а он ничего не может сделать, это нужно исправить.
Cсылка на пост
*********************************************************************************************************
Автор: bastor
Апгрейд экзоскелета у Долговязого в Баре, вместо намазки на Болотах. Эфект такой же, как от намазки, цена вопроса арт первого уровня.
Автор Zagolski. Переделал в лайт версию просто. Дополнил. Теперь можно апгрейдить не дожидаясь когда закончится предыдущий.
Приходит сообщение когда готова.
Для сборки 3.7.5
Скачать
Автор: igor.doc
Удары по морде и взрывающиеся трупы: файл amk_offline_alife.script ищем вызовы функций set_be_enemy_f - это удар по морде, set_body_trap - взрывающийся труп и комментим их. Подойдёт для всех сборок.
if rel and rel~=game_object.enemy then
--set_be_enemy_f(iter, enemy_level_hit)
end
if anypick then
--set_body_trap(victim.id, id)
end
Автор: Sn1ck
Как известно, после сдачи ПДА Крысюка Борову, Крысюк появляется в Баре. При разговоре с ним, он рассказывает про Рашпиля, мол, тот ищет тёртого сталкера для кое-какой работёнки. Только вот, если поговорив с Крысюком, ГГ отправляется на встречу с Рашпилем, происходит абсолютно не логичный гопстоп, а затем, как ни в чём не бывало, ещё более не логичное предложение поработать. Это — главное. Второй момент заключается в том, что все, кто играют на послезнании (а таких явно подавляющее большинство) в курсе того, что делать для минимизации ущерба от ограбления. Поэтому, пусть уж будет возможность избежать его игровыми методами. А для "первопроходцев" NLC так и так ничего не поменяется.
* добавлена возможность избежать ограбления при первой встрече с Рашпилем, но только при условии диалога с Крысюком перед встречей
* частично переделаны/добавлены диалоги, чтобы обыграть новую ситуацию; диалоги приведены к единой и непротиворечивой истории, а то намешано было всякого
* добавлена возможность выбрать в награду за ружжо схрон с гранатами, о котором изначально и говорит Рашпиль
Новые диалоги открываются только, если выбрать вариант без гопстопа. Впрочем, можно по-прежнему дать себя ограбить, но тогда всё будет идти по старой схеме.
Скачать, разархивировать в корневую папку с игрой (например, D:\Games\NLC), согласиться на замену файлов.
Скачать
Может что-то из этого уже не актуально. Если инструкция не работает, то надо обратится за помощью в эту тему ,а не разводить беседы в этой.
На будущее: прежде чем задавать вопрос "где поправить", потрудитесь сначала сами поискать. Просто включите голову.
Даю алгоритм поиска вопрошающим на тему "где найти"...
1. Ясно как 2х2, что это переключение происходит не само по себе, а где-то в скриптах прописано.
2. Значит ищем слово torch по всем скриптам. Фонарик по-английски будет torch. Скрипты написаны по-английски. (для поиска подойдёт TotalComander, например, он хорошо ищет по всем файлам в указанном месте совпадения на слова.)
3. Находим все скрипты, содержащее слово torch
4. Если голова ещё работает, то понимаем, что фишка эта Сяка, значит обращаем внимание в первую очередь на скрипты sak***
5. Примерно прикидываем по названиям (Сяк тоже не от балды названия скриптов писал)
6. Понимаем, что это основной игровой скрипт sak.script
7. В нём уже ищем соответствие и обращаем внимание на названия функций. Они тоже не с потолка взяты. Выходим на
Код
function torch_brock(switcher,sw)
Что по-русски значит "поломка фонарика" и в аргументах стоит "переключение".
8. Логически понимаем, что копать надо где-то тут.
Далее изучаем скрипт и прикидываем, как происходит поломка. Меняем то, что надо нам.
----------
Самое интересное, что когда я правил для себя отключение фонарика, я сам этого не знал. Но сделал именно так и очень быстро нашёл то, что меня интересовало, никого не спрашивая при этом.
И я убрал ненужное мне на тот момент переключение фонаря.
Код
function torch_brock(switcher,sw)
В ней
Код
if lua_random()<0.35 and not sw then
Это и есть вероятность переключения.
Я поставил у себя
Код
if lua_random()<0.0005 and not sw then
Чтобы это if никогда не было вообще.
Но можно поиграться вероятностью
И я так и делаю всегда - простой обыкновенный поиск по ключевым словам и логика. Я вовсе не знаток скриптов или lua.
mikelik
clear=35,
pasmurno=45,
rain=15,
groza=5
},
pasmurno={
clear=30,
rain=30,
groza=10,
pasmurno=30
},
rain={
clear=10,
groza=20,
pasmurno=60,
rain=10
},
groza={
clear=5,
rain=65,
pasmurno=20,
groza=10
clear=85,
pasmurno=5,
rain=5,
groza=5
},
pasmurno={
clear=85,
pasmurno=5,
rain=5,
groza=5
},
rain={
clear=85,
pasmurno=5,
rain=5,
groza=5
},
groza={
clear=85,
pasmurno=5,
rain=5,
groza=5
}
Mikelik
mikelik
Там же будет и воровство, и разряд аккумулятора во сне. Надо смотреть по названиям. Можно все такие строки закомментировать, чтобы особо не думать. Но за воровство конечно отвечает sak.sleep_robbing
mikelik
И судя по нему, надо менять в конфиге параметр mr_time (чтобы уж в скрипт не лезть).
mikelik
В папке gamedata\scripts находим файл bind_greedy.script
В нём ищем строку
Код
self.parametrs["activity"] = true
, и меняем true на false.
Эффект тот же, срабатывает только анимация аномалии, без хита по ГГ.
igor.doc
В самом начале файла можно обнулить параметры
Код
[bobbing_effector]
run_amplitude = 0.0075
walk_amplitude = 0.005
limp_amplitude = 0.011
shahvkit
Без эффектов (блики в глазах у ГГ и т.п.)
Код
...
function Run_Blowout_pp()
local bl_sl,bl_on=sleep_manager.sleep_blowout, (amk_vars.blow_on or true)
if bl_sl~=false and bl_on~=false then
db.blowout_active=true
amk_vars.blowout = 1
if bt<1 then
-- level.add_pp_effector("monolith_off.ppe", 2003, false) -- ставим -- или стираем строку
-- level.add_cam_effector("camera_effects\\shell_shock.anm", 2004, false,"") -- ставим -- или стираем строку
...
Промежуток между выбросами
Код
...
function start_blow_timer()
if lua_random()>0.15 then
amk_vars.blow_on = true
else
amk_vars.blow_on = false
end
local shift = 1440 -- +- пол дня, можно поставить 0 (фиксированный)
local t_time =(lua_random()*shift)-(shift/2)+2160 -- например поставить 10800 , будет > 5 дней
...
Без землетрясения
Код
elseif phase==1 then
local snd_obj = xr_sound.get_safe_sound_object([[ambient\earthquake]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
-- level.add_cam_effector("camera_effects\\earthquake.anm", 2002, true,"") -- ставим -- или стираем строку
snd_obj = xr_sound.get_safe_sound_object([[anomaly\blowout]])
V.E.Q.O.
Чтоб быстро не разряжалась
Код
function empted_akkum(flag)
if db.actor:item_in_slot(11) then
local obj_id=db.actor:item_in_slot(11):id()
local obj=sim:object(obj_id)
if obj then
nv_on=params.get_nv_on_off(torch_id) or 0
local razrad=(af_kolvo+nv_on)*0.000005*loka_on -- добавляем нолики
local pk = get_netpk(obj,1)
local data = pk:get()
local cond=data.condition+0.0000004 -- добавляем нолики
if cond>=1 then cond=0.9999 end
if cond > 0.06 then
if flag then arts_operate=true return end
V.E.Q.O.
local rel_enemy,rel_friend
local look_radius=0 -- "Лёгкий" шмон того, что под ногами включая арты на поверхности
local search_intensivity=30
local max_rounds = 10
local health_wound = 0.1
local health_wound_set = 0.02
local base_fp = 1400
local dist_coeff = 8
local sell_limit = 15000
local rate_kill_base = 50
local rate_art_found = 15
local to_actor = 100
local look_radius_box = 0 -- Полный игнор ящиков
local look_radius_ruksak = 0 -- Полный игнор рюкзаков
local look_radius_hide1 = 10
local look_radius_hide2 = 20
local body_blow_id = nil
НПС не будут бежать к убиенному за 100 метров для шмона и грабить нычки (ящики, рюкзаки и т.п.)
V.E.Q.O.
Открываем: ...gamedata\scripts\ui_cheat_inv_buttons.script
Находим строку:
Код
schedule.add("show_full_rucksack", "inv_buttons_use.open_inventory(4)", 4000)
стираем нолики:
Код
schedule.add("show_full_rucksack", "inv_buttons_use.open_inventory(4)", 4)
(Для адекватной озвучки идём в: ...gamedata\sounds\rykzack\, копируем куда-нибудь файл drop_rykzak_1.ogg, переименовываем его на rykzack_open_long.ogg и заменяем им оригинал в той же папке
V.E.Q.O.
rat_weak = 300, rat_normal = 300, rat_strong = 300,
tushkano_weak = 250, tushkano_normal = 250, tushkano_strong = 250,
flesh_weak = 150, flesh_normal = 150, flesh_strong = 50,
boar_weak = 150, boar_normal = 50, boar_strong = 50,
dog_weak = 150, dog_normal = 100, dog_strong = 15,
pseudodog_weak = 150, pseudodog_normal = 50, pseudodog_strong = 10,
psy_dog_weak = 10, psy_dog_normal = 10, psy_dog_strong = 10,
zombie_weak = 250, zombie_normal = 50, zombie_strong = 50,
snork_weak = 40, snork_normal = 40, snork_strong = 20,
poltergeist_weak = 10,m_poltergeist_normal_tele = 20,m_poltergeist_normal_flame = 20,m_poltergeist_dark_flame = 10,
pseudo_gigant_weak = 43,pseudo_gigant_normal = 43,pseudo_gigant_strong = 43,
controller_weak = 16,controller_normal = 16,controller_strong = 16,
burer_weak = 50,burer_normal = 10,burer_strong = 10,
bloodsucker_weak = 50, bloodsucker_normal = 10, bloodsucker_strong = 10
Ещё инфа по изменению частоты респавна от камрада sadmann (спасибо ему):
B. Как увеличить время между респавном НПС?
O. В папке \gamedata\scripts\ в файле se_repawn.scripts находим строку:
Код
idle_time:setHMSms( 0, 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)
исправляем на:
Код
idle_time:setHMSms( math.random(Первое число, Второе число), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)
где первое и второе числа задают диапазон случайной переменной в часах отвечающей за респаун.
Увеличить-уменьшить время респавна животных и мутантов.
В папке \gamedata\scripts\ в файле se_respawn.script:
-- Обновление респавнера. В зависимости от настроек обновляется либо только в офлайне, либо и там и там.
function se_respawn:execute()
Код
if fast_respawn then idle_time:setHMSms( math.random( 10, 12 ), 0, 0, 0 )
-- частый респаун
Код
else idle_time:setHMSms( math.random( 20, 24 ), 0, 0, 0 )
-- стандартный респаун
Значения ( 10, 12 ) и ( 20, 24 ) - это часы. Но срабатывает изменение ПОСЛЕ того, как отработало прошлое значение. То есть, если изменили настройки, и кого-то убили - появится этот кто-то через 10 часов от его первого появления (то есть, если начали игру с настройками частыми, и играли всего 9 часов - то вот почти сразу же, как убили), а только потом уже заработает так, как поставлено.
Одной правкой времени, не изменить частоту респавна. Независимо от времени идёт экстренный подспавн и чем больше убиваем, тем чаще идёт спавн. Так что, помимо увеличения времени в часах, нужно найти и закомментировать значком -- эти строки в se_respawn.script:
Код
-- экстренный спаун минимального количества объектов
if #self.spawned_obj < self.min_count then
-- while #self.spawned_obj < self.min_count do
-- --sak.dbglog("RESPAWN: [%s] very small object", tostring(self:name()))
-- if self:create(100) == false then
-- return
-- end
-- end
return
end
V.E.Q.O.
Код
это обращение к функции содержащей такую строку ("start_antichit_time",25).
На этом примере, можно и другим НПС отключить томительное время ожидания. Арни в dialogs_bar.xml, Кулинар в dialogs_amk.xml, кучка шулеров в sak_dialogs_bar_yan.xml. В самом dialogs_trаding.xml есть другие персонажи, где можно поиграться с таймерами. Ну и строки диалога заодно закомментировать, с ответами "подойди через XX...минут мне надо... зубы почистить".
igor.doc
Код
this.repair_config
Тут тебе и ценовые коэффициенты и время восстановления в минутах по каждому из ремонтников.
CiBrAiKeR
Ничего сложного нету, нужно только откорректировать эти строки в actor.ltx:
Код
ph_box0_center = 0.0, 0.915, 0.0
ph_box0_size = 0.35, 0.915, 0.35
ph_box1_center = 0.0, 0.55, 0.0 (дефолт 0.76)
ph_box1_size = 0.35, 0.55, 0.35 (дефолт 0.76)
ph_box2_center = 0.0, 0.40, 0.0 (дефолт 0.60)
ph_box2_size = 0.35, 0.40, 0.35 (дефолт 0.60)
Знающий
Сталкер Добрый.
Для сборки от SOB.
Нам нужен файл gamedata\config\misc\vergas_items.ltx (открывать лучше специализированными текстовыми редакторами Notepad, PSPad и т.д., т.к. Блокнот, говорят, видит не все символы)
1. Вместимость
Находим секцию разгрузки - [razgruzka].
За вместимость отвечает параметр -
Код
max_capacity
.
max_capacity = 10|30|2|1|1|4|6|2|2|2|1|2|1
Всего указано 13 цифр. Ниже порядковые номера цифр и за что они отвечают:
№1 - пистолетные/автоматные/снайперские патроны левая часть, №2 - пистолетные/автоматные/снайперские патроны правая часть, №3 - аптечки, №5 - научная аптечка, №6 - бинты, №7 - дробь правая часть, №8 - гранаты, №10 - дробь левая часть, №12 - антирады.
Например, чтобы увеличить в левой части разгрузки пистолетные/автоматные/снайперские патроны с 10 на 30, нам нужно изменить первую цифру 10 на 30.
P.S. Cекция подсумка - [podsumok]
*Shadow*
Код
function set_torch_param(id,r,g,b,sw)
lightman.set_lamp_rgb(id,r,g,
if not sw then return end
local range = 18*r*sw - увеличиваем значение дальность local spot = 1.4/(sw) - меняем значение радиус lightman.set_light_range(id, range) lightman.set_spot_angle(id, spot); end
Проверено на сборке от mikelik.
Root170670
Код
function cant_trade(obj,sect,id,flag)
if flag==1 or flag==2 then
params.cant_trade_add(id)
else
if strpos(sect,"wpn_",1,true) or strpos(sect,"_outfit",1,true) then
local cond=obj:condition()
if (cond<0.65 and trade_flag==false) then -- поставить нули
params.cant_trade_add(id)
else
params.can_trade_add(id)
end
Root170670
Шапка редактируется и дополняется. Это не финальный вариант. Обновление ссылок и описаний для шапки присылайте мне в личку.