Это популярное сообщение. BFG 7 581 Опубликовано 19 Мая 2016 Это популярное сообщение. Поделиться Опубликовано 19 Мая 2016 (изменено) Модифицируем NLC 7 Правила темы: -- Разрешено выкладывать свои правки и модификации для мода NLC7. И желательно, чтоб это была не 1 исправленная строчка вероятности выпадения собачьего хвоста. -- Флуд и оффтоп запрещён. -- "А вот дайте мне срочно и прям щас !!! " - запрещено. Посты, в которых есть вопросы из "шпаргалки АМК" будут удалены. ВНИМАНИЕ !!! В данной теме задаём вопросы только по каким то конкретным нюансам мода. Вопросы по общему моддингу игры, также как и вопросы из шпаргалки АМК будут удаляться без предупреждения. Все вопросы по отдельным сборникам правок задавайте авторам этих сборников в личных сообщениях. Тема по правкам на официальном сайте мода - http://nlc-zone.ru/forum/topic/161-razgovory-o-pravkah-v-nlc/ Изменено 1 Октября 2016 пользователем shahvkit Добавление 7 13 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
Это популярное сообщение. V.E.Q.O. 159 Опубликовано 6 Декабря 2016 Это популярное сообщение. Поделиться Опубликовано 6 Декабря 2016 (изменено) Правим в ...\gamedata\scripts\amk_mod.script: Про "Выброс"... ... 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,"") -- ставим -- или стираем строку ... elseif phase==1 thenlocal 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]]) Там же "спецэффекты" зевоты: ...sak.sleep_robbing()elseif tmp>12 then --244zevota()--level.add_pp_effector("black.ppe", 105, false) -- ставим -- или стираем строкуif zevota_flag ~= 3 thenzevota_flag=3-- level.add_pp_effector("yantar_underground_psi.ppe", 999, true) -- ставим -- или стираем строку-- level.set_pp_effector_factor(999, 7.5) -- ставим -- или стираем строкуendelseif tmp>9 then --190if zevota_flag ~=2 thenzevota()-- level.add_pp_effector("black.ppe", 105, false) -- ставим -- или стираем строкуzevota_flag=2-- level.add_pp_effector("yantar_underground_psi.ppe", 999, true) -- ставим -- или стираем строку-- level.set_pp_effector_factor(999, 5.0) -- ставим -- или стираем строкуendelseif tmp>185 thenif zevota_flag ~= 1 thenzevota()zevota_flag=1-- level.remove_pp_effector(999) -- ставим -- или стираем строку (можно оставить, но зачем?)endelseif tmp<=180 thenif zevota_flag ~= 0 thenzevota_flag=0-- level.remove_pp_effector(999) -- ставим -- или стираем строку (можно оставить, но зачем?)end... Аккумуляторная батарея... Правим ...\gamedata\scripts\sak.script: function empted_akkum(flag)if db.actor:item_in_slot(11) thenlocal obj_id=db.actor:item_in_slot(11):id()local obj=sim:object(obj_id)if obj thennv_on=params.get_nv_on_off(torch_id) or 0local 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 endif cond > 0.06 thenif flag then arts_operate=true return end Монстры без эффектов и 0 радиации от кабанов - ссыль P.S. Сборка от mikelik ... 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 дней ... Изменено 6 Декабря 2016 пользователем V.E.Q.O. 4 6 1 1 Ссылка на комментарий
Это популярное сообщение. V.E.Q.O. 159 Опубликовано 7 Декабря 2016 Это популярное сообщение. Поделиться Опубликовано 7 Декабря 2016 (изменено) Шмон и воровство... Правим в ...\gamedata\scripts\amk_offline_alife.script local rel_enemy,rel_friendlocal look_radius=0 -- "Лёгкий" шмон того, что под ногами включая арты на поверхностиlocal search_intensivity=30local max_rounds = 10local health_wound = 0.1local health_wound_set = 0.02local base_fp = 1400local dist_coeff = 8local sell_limit = 15000local rate_kill_base = 50local rate_art_found = 15local to_actor = 100local look_radius_box = 0 -- Полный игнор ящиковlocal look_radius_ruksak = 0 -- Полный игнор рюкзаковlocal look_radius_hide1 = 10local look_radius_hide2 = 20local body_blow_id = nil НПС не будут бежать к убиенному за 100 метров для шмона и грабить нычки (ящики, рюкзаки и т.п.) P.S. Сборка от mikelik Изменено 7 Декабря 2016 пользователем V.E.Q.O. 8 7 1 5 Ссылка на комментарий
Это популярное сообщение. V.E.Q.O. 159 Опубликовано 15 Декабря 2016 Это популярное сообщение. Поделиться Опубликовано 15 Декабря 2016 (изменено) Кто-то просил уменьшить время открытия рюкзака... Открываем: ...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 и заменяем им оригинал в той же папке). P.S. Сборка от mikelik Изменено 15 Декабря 2016 пользователем V.E.Q.O. 5 8 1 4 Ссылка на комментарий
Это популярное сообщение. V.E.Q.O. 159 Опубликовано 16 Декабря 2016 Это популярное сообщение. Поделиться Опубликовано 16 Декабря 2016 (изменено) Уменьшение живности: Открываем: ...\gamedata\scripts\se_respawn.script и правим под себя начиная с 27-й строки. [spoiler=мой пример]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 Строка 43 должна отвечать за частоту респавна: local idle_spawn_preset = {seldom = 60*60*240,medium = 60*60*72,often = 60*60*24,once = -100000через сколько времени точно будет респавн не знаю, т.к. мало по времени играю. Изменено 16 Декабря 2016 пользователем shahvkit 4 3 1 2 Ссылка на комментарий
Это популярное сообщение. *Shadow* 742 Опубликовано 17 Декабря 2016 Это популярное сообщение. Поделиться Опубликовано 17 Декабря 2016 (изменено) Разгрузка. Вместимость и время открытия "По 1-2 патрона в разгрузке я б Сидору морду лица бил." Сталкер Добрый. Для сборки от 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. 2. Время открытия В секции [razgruzka] ищем параметр: info_delay - 6 Уменьшаем стоящую там цифру, либо вообще ставим 0. P.S. Cекция подсумка - [podsumok] Комментарий от Andre_013 info_delay = 6, это не время открытия, а время вывода информации на экран о разгрузке, оружии и патронах по горячей клавише. При значении 0, инфа будет только промелькивать на долю секунды. Изменено 18 Марта 2017 пользователем shahvkit 5 11 1 2 ТЧ: 1) Тайные Тропы 2; 2) Народная солянка 2016 OGSR Engine. ЗП: 1) Dead Air Revolution; 2) Misery. Ссылка на комментарий
V.E.Q.O. 159 Опубликовано 17 Декабря 2016 Поделиться Опубликовано 17 Декабря 2016 Ещё инфа по изменению частоты респавна от камрада 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-- endreturnend P.S. В сообщении выше: Уменьшение живности актуально изменить "поголовье" мутантов, но как оказалось эти переменные local idle_spawn_preset = { seldom = 60*60*240,medium = 60*60*72,often = 60*60*24,once = -100000 на время респавна не влияют. 2 1 1 2 Ссылка на комментарий
Это популярное сообщение. ViNT 132 Опубликовано 18 Декабря 2016 Это популярное сообщение. Поделиться Опубликовано 18 Декабря 2016 (изменено) Если вдруг кому будет надо что-то отыскать. Адаптация поисковый аддон для NLC7 - https://yadi.sk/d/W1IfTgZM33vmq8 Адаптировал из поискового аддона для ТТ2. Кто изначально автор всего этого дела - без понятия. Но по необходимости без проблем вставлю копирайт. Что делает: Во время игры выходим в меню, жмем кнопку "Поиск предмета", вводим id предмета (а его само собой еще надо найти в файлах игры), жмем Enter, получаем зеленую точку на карте, где лежит искомый предмет. Зачем: Лично я банально хотел проверить сколько тех самых кружек Вергаса заспавнилось именно в моё прохождение. Оказалось только "Грааль". Потом подумал - мало ли что кому надо будет найти. Опасности и осторожности: Не знаю lua и понятия не имею как работает лаунчер от Alpet-а, но при запуске именно пункта меню на поиск слышен писк, а значит моду что-то не нравится. Не знаю насколько это критично и что и где отслеживается, но я ищу предметы следующим образом: Сохранились (где и как - ваше дело), вывели метку на предмет, нашли предмет/запомнили место, вышли из игры, зашли снова, загрузили сейв и пошли по проторенной тропинке. Аддон проверялся на второй сборке от SOB на ШФ-мониторе. На других сборках тестируйте/адаптируйте сами. P.S. Маленький момент, играю я с интерфейсом вот отсюда, а потому, если вдруг у вас полезут не те цвета, значит я не тот .xml файл схватил. В крайнем случае, сравнить по содержимому тем же Total Commander и подставить что надо в ваш файл - не сложно. По ссылкам, их работоспособности - в личку. Изменено 18 Декабря 2016 пользователем ViNT 2 1 1 3 Ссылка на комментарий
igor.doc 116 Опубликовано 28 Декабря 2016 Поделиться Опубликовано 28 Декабря 2016 Может кому понадобится. Как изменить время варки модификатов? Вторая сборка СОБа, balance_light. Ищем gamedata\config\misc\artefacts_cooking.ltx.Время варки смотрим: time_light=...правим тут.Для измения времени на balance_default смотрим: time=...правим тут.На релизе смотрим файл amk_mod.script: function check_af_transform(af,anom_id,anom_sect)...pos ,0,4,0,...дни,часы,минуты - меняем на своё усмотрение. 3 3 2 Ссылка на комментарий
igor.doc 116 Опубликовано 6 Января 2017 Поделиться Опубликовано 6 Января 2017 (изменено) По поводу постоянного ожидания покупки или обмена: Чтобы не трогать функции (где они там ещё вызываются), комментируем precondition в диалогах. В правках к Релизу от Mikelik, есть отмена ожидания обмена артефактов у Менялы:<!--<precondition>sak_dialog.is_ready_time_to_game</precondition>--> это обращение к функции содержащей такую строку ("start_antichit_time",25). На этом примере, можно и другим НПС отключить томительное время ожидания. Арни в dialogs_bar.xml, Кулинар в dialogs_amk.xml, кучка шулеров в sak_dialogs_bar_yan.xml. В самом dialogs_trаding.xml есть другие персонажи, где можно поиграться с таймерами. Ну и строки диалога заодно закомментировать, с ответами "подойди через XX...минут мне надо... зубы почистить". Изменено 7 Января 2017 пользователем shahvkit 1 2 Ссылка на комментарий
Это популярное сообщение. CiBrAiKeR 4 Опубликовано 9 Января 2017 Это популярное сообщение. Поделиться Опубликовано 9 Января 2017 (изменено) Уменьшение времени ремонта оружия/брони у Вергаса gamedata\scripts\sak\ находишь файл sak_repair_dialog.script и смотришь структуру this.repair_config Тут тебе и ценовые коэффициенты и время восстановления в минутах по каждому из ремонтников. Изменено 12 Января 2017 пользователем shahvkit 1 4 2 Ссылка на комментарий
almaZZZZof 63 Опубликовано 15 Января 2017 Поделиться Опубликовано 15 Января 2017 (изменено) Для любителей "Гроз" в NLC."Гроза ОЦ-14-4А-03" от товарища vetik для оригинала NLC7. Без прицела! Добавляется в игру при помощи консольной команды flush !misc.spawn_into wpn_groza_sn 0 https://yadi.sk/d/M6vlzPDk39EGJa Теперь новая Гроза ОЦ-14-4А-03 в вариантах обмена у Бармена вместо старой Грозы-ОЦ-14. https://yadi.sk/d/vBraepIK39HGXt Изменено 26 Января 2017 пользователем shahvkit 1 1 Ссылка на комментарий
Это популярное сообщение. Знающий 10 Опубликовано 24 Января 2017 Это популярное сообщение. Поделиться Опубликовано 24 Января 2017 (изменено) Увеличение роста Меченого с его вздорными 168см и коррекция расположения камеры стоя и сидя. Сяк ещё при NLC6 отвечал, что если увеличить camera_height_factor с дефолтных ТЧ'шных 86 до абсолютно правильных 92, то положение камеры станет выше не только при положении стоя, но и в двух положениях сидя, где при дефолтном значении camera_height_factor всё было в норме, что даст чит не высовывая модель головы атаковать противника. Верно, но ведь можно откорректировать отдельно и расположение камеры сидя, сделать её на одном уровне с фактическим положением глаз и головы модели Меченого, реализма и комфорта ради. В итоге расположение камеры во всех позах будет правильным.Ничего сложного нету, нужно только откорректировать эти строки в actor.ltx:ph_box0_center = 0.0, 0.915, 0.0ph_box0_size = 0.35, 0.915, 0.35ph_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)Скриншот от первого лица в подтверждение правильности угла взгляда. Почти прямой взгляд, чуть наклонен вниз, судя по углу стены.Не беда, погрешность в соответствии модели с уровнем камеры будет пару игровых сантиметров.Просто додумался вычислить по углу стены, когда уже обрабатывал скриншот. Изменено 25 Января 2017 пользователем HellRatz 2 3 4 Лучше жалеть о сделанном, чем о не сделанном. (с)Также знаком под никнеймом Рус. Ссылка на комментарий
almaZZZZof 63 Опубликовано 26 Января 2017 Поделиться Опубликовано 26 Января 2017 (изменено) Оружейный пак из сборки от SOB (с последними обновлениями) для оригинала NLC7. "Версия 2" с некоторыми корректировками и исправлениями возможных багов. Тестировал на закрытой версии игры от 17.12.2015, но думаю должно пойти и на версии "оригинал+финал от микелика". Обрез БМ-16. (новый визуал)БМ-16 фулл. (новый визуал)ТОЗ-34. (новый визуал)Бенелли (новый визуал)Спас-Модернизированный (визуал заменён на Спас Охотничий)SR25 (визуал заменён на М110, уменьшена раскачка)РПК-74 (новый визуал, добавлен в тайники)Мини-Драгунов (новый визуал)Вал-Снайперский (визуал заменён на модель с коллиматором (вал-штурмовой))Сайга (новый визуал)Сайга "Крота" (у Пахома)Сайга с коллиматором (у Сахарова)Вепрь (вместо уникальной Сайги м1_snp, добавлен в тайники)АКМ-Спецназ (новый визуал, добавлен в тайники)"Гроза ОЦ-14-4А-03" от vetik (добавлена в тайники. Отдельно версия с обменом у Бармена вместо старой Грозы ОЦ-14) Скрин: В архив так же добавлен открытый движок для закрытой версии. Иконки и описание оружия старые. Некоторое описание отсутствует. https://yadi.sk/d/ZPVlW_H439VMCY https://yadi.sk/d/ZtJ9sbOc39cMpM Исправлено некорректное отображение в руках НПС(но не у всех) и на земле. https://yadi.sk/d/OKbAsUwC3AU4vF Исправлен баг с оригинальным тайником Арни https://yadi.sk/d/S94jeE6i3B7Uh8 По мере выхода новых обновлений и выявления багов файлы будут обновляться (возможно ). Решил добавить, т.к. ссылка ТЯХУ-75 почему-то умерла. Появляется в продаже у Сахарова. Цена эквивалентна артефакту третьего уровня. https://yadi.sk/d/izRs5VHY3CJvX2 Разбил всё оружие (по возможности, конечно) по отдельности. Возможно кому-то так будет удобнее. https://yadi.sk/d/kQdxC76y3E6JEM Мелкие правки для оригинала от 17.12.2015 Некорректно отображался прицел https://yadi.sk/d/ciK_ZoTM3AjFvu Поменял раздражающий ядовито-кислотный цвет на более спокойные тона https://yadi.sk/d/JmwhIMXo39drxd "Колючка", "Кристальная колючка" и "Капля" теперь с подсветкой, как и остальные артефакты. https://yadi.sk/d/DpShOrTp3ByUhk Решил заменить ПНВ на комбинезонах Страж Свободы, Ветер Свободы, КСу-1 и Экзоскелете, что бы сделать ПНВ на этих костюмах хоть как-то востребованными. До https://1.downloader.disk.yandex.ru/preview/baa62c08a275e7174f04e979a5954f7691cf54bf6bf6ecc009704dee929eff1e/inf/YPt-MVNFOught9c8y1vUFJ-QyDoaMHWnxdUR7cB1mqdzHzUNbL74C9Wzy1lT3VVNEfc69_itOct3k43uwkgzsA%3D%3D?uid=455247081&filename=ss_alexey_02-09-17_12-06-54_%28l05_bar%29.jpg&disposition=inline&hash=&limit=0&content_type=image%2Fjpeg&tknv=v2&size=907x599 После https://1.downloader.disk.yandex.ru/preview/853fceaf72a9d858947b71f98665bb8a1f813bcdab452a7ce1652170eb0f95f1/inf/YPt-MVNFOught9c8y1vUFJuFWPSd277avYLl44ZQkEexdVEOGTVbyCe0hD6pI2OAjD-qAAbX3X-XXTyZ-38DOg%3D%3D?uid=455247081&filename=ss_alexey_02-09-17_13-32-13_%28l05_bar%29.jpg&disposition=inline&hash=&limit=0&content_type=image%2Fjpeg&tknv=v2&size=907x599 https://yadi.sk/d/laQB3pa43DeVvy Добавил противогазные маски для уникальных костюмов "Призрака", "Туриста" и "Особопрочный". https://www.youtube.com/watch?v=eS93ep7YOOw&feature=youtu.be https://yadi.sk/d/hcsO-eW-3EEgL8 Изменено 19 Февраля 2017 пользователем shahvkit 1 4 5 Ссылка на комментарий
Это популярное сообщение. stalk9r 135 Опубликовано 28 Января 2017 Это популярное сообщение. Поделиться Опубликовано 28 Января 2017 (изменено) Запуск демо-рекорд из главного меню Для сборки от @mikelik от 22.01.2017 Файл ui_main_menu.script После строки №261: self:ppe_menu_show(), вписать чтобы было так: self:ppe_menu_show() elseif dik == DIK_keys.DIK_D then -- Запуск камеры демо-рекорд if level.present() and db.actor and db.actor:alive() then console:execute("demo_record 1") end console:execute("main_menu off") end end return true end В главном меню по нажатию клавиши "D". И, кто забыл, движение вперёд-назад - ЛКМ-ПКМ, влево-вправо - стрелки, ускорение - левый CTRL замедление - левый SHIFT Изменено 21 Февраля 2017 пользователем shahvkit 3 8 1 Есть хабар - пойдёт базар Ссылка на комментарий
Это популярное сообщение. Andre_013 5 Опубликовано 12 Марта 2017 Это популярное сообщение. Поделиться Опубликовано 12 Марта 2017 (изменено) Исправляем отсутствие спавна патронов в трупе для оружия, выпавшего из рук:Файл \gamedata\scripts\death_manager.script-- return alife():create(section,npc:position(),npc:level_vertex_id(),npc:game_vertex_id(),npc:id())alife():create(section,npc:position(),npc:level_vertex_id(),npc:game_vertex_id(),npc:id())Для обеих сборок. Маленькая ошибка в \gamedata\scripts\sak_trade_generic.scriptif actor_rank~=nil thenif actor_rank <= 300 then rang=a-- elseif actor_rank > 300 and actor_rank >= 600 then rang=belseif actor_rank > 300 and actor_rank <= 600 then rang=belseif actor_rank > 600 and actor_rank <= 900 then rang=celseif actor_rank > 900 then rang=dendendДля обеих сборок. Изменено 15 Марта 2017 пользователем shahvkit 3 2 4 Ссылка на комментарий
Alex75Rus 112 Опубликовано 20 Марта 2017 Поделиться Опубликовано 20 Марта 2017 (изменено) Можно добавить себе в статистику убийство собачек и тушканчиков. В файл \scripts\xr_statistic.script после local killCountProps = {добавитьtushkano_normal = 0.1,dog_weak = 0.1, dog_normal = 0.1, dog_strong = 0.1,Сборка от mikelik 7.51 Изменено 22 Марта 2017 пользователем shahvkit 1 Core i5 11600K\Asrock Z590 Pro4\16gb(3600Mhz)\Gigabite RX480(4Gb)\M.2 SSD Samsung 980Pro Ссылка на комментарий
Это популярное сообщение. Root170670 30 Опубликовано 22 Марта 2017 Это популярное сообщение. Поделиться Опубликовано 22 Марта 2017 (изменено) В файле: params.script находим текстfunction set_torch_param(id,r,g,b,sw)lightman.set_lamp_rgb(id,r,g, if not sw then return endlocal range = 18*r*sw - увеличиваем значение дальностьlocal spot = 1.4/(sw) - меняем значение радиусlightman.set_light_range(id, range)lightman.set_spot_angle(id, spot);endПроверено на сборке от mikelik. В файле sak.script: находим текст 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 Проверено на сборке от mikelik. Вечные фонарик, артефакты, батарея подсказка от "mikelik" 16 пост. В начале игры фонарик один раз зарядить и всё.-----------------------------------------------------------------в файле sak.script:function empted_akkum(flag)if db.actor:item_in_slot(11) thenlocal obj_id=db.actor:item_in_slot(11):id()local obj=sim:object(obj_id)if obj thennv_on=params.get_nv_on_off(torch_id) or 0local antitushif sak_inventory.sash["af_full_antitush"] thenantitush=20elseantitush=0endlocal razrad=(af_kolvo+nv_on+antitush)*0.005*loka_on <-------------------- изменить на нулиlocal pk = get_netpk(obj,1)local data = pk:get()local cond=data.condition+0.0004 <-------------------- изменить на нулиif cond>=1 then cond=0.9999 endif cond > 0.06 thenif flag then arts_operate=true return endlocal new_cond=cond-razradparams.obj_condition(obj_id, new_cond)data.condition = new_condpk:set(data)arts_operate=trueelseif arts_operate==true thensend_tip("Аккумулятная батарея разряжена.","Аккумулятор",2,10,"pribor","pda_news", "red")lightman.toggle_NVD(torch_id)arts_operate=falserazgruzka.open_inv_raz_pod=false---------------------------------------------в файле sak.script:function torch_brock(switcher,sw)if torch_id and (params.get_torch_on_off(torch_id)==1 or switcher) thenif lua_random()<0.15 and not sw thenlocal r_t=(r_old*(lua_random(3,10))/10)params.set_torch_param(torch_id,r_t,r_t,r_t,mode_switch)local time_flash=lua_random(1,3)timers.start_timer("t_torch_flash",time_flash,"sak.torch_brock()")returnendr_old=r_old+(mode_switch-1)*0.1local r_new,g_new=r_old,(r_old-0.07) <-------------------- изменить на нулиif r_new>0.11 and not sw thenr_new = r_new-(0.007*(mode_switch*2)) <-------------------- изменить на нули (0.0*(mode_switch*2))g_new = g_new-(0.007*(mode_switch*2)) <-------------------- изменить на нули (0.0*(mode_switch*2))endПроверено на сборке от mikelik Для быстрого использования в файле: vergas_medical_elastic.script - подсказка от "mikelik" 16 пост function init_treatment()help_id = -1snd_eat_med()wprintf("[~T]. #DBG: init_treatment called with object~C0A %s~C07 ", obj_name)local heal_coef = 7 / (3 + level.get_game_difficulty()) -- коэффициент лечения от сложности игрыheal_time = vergas_lib.set_pr_from_config(obj_name,"mr_time")delta_health = vergas_lib.set_pr_from_config(obj_name,"mr_eat_health") / heal_time / 60.0 <----------- Ставим 1.0delta_power = vergas_lib.set_pr_from_config(obj_name,"mr_eat_power") / heal_time / 20.0 <----------- Ставим 1.0delta_radiation = vergas_lib.set_pr_from_config(obj_name,"mr_eat_radiation") / heal_time / 60.0 <----------- Ставим 1.0post_eff = vergas_lib.set_pr_from_config(obj_name,"post_eff")--wprintf("[~T]. #DBG: init_treatment heal_coef = %.3f, heal_time = %d, delta_health = %.5f ", heal_coef, heal_time, delta_health)heal_time = heal_time * 60.0 ------------------------------------- Ставим 1.0delta_health = delta_health * heal_coefdelta_power = delta_power * heal_coefdelta_radiation = delta_radiation * heal_coefheal_start = game.get_game_time()heal_last = game.get_game_time()msg_last = 0--if obj_name~="bandage" thenif heal_time > 0 thenlevel.add_pp_effector(vis_post_eff[post_eff], 1021, true)end--endin_progress = trueif obj_name == "mixture" thenparams.psy_health_v_add(20)endmedical_procedures()endfunction medical_procedures()local portion = 0if not in_progress or type(heal_last) ~= "userdata" or type(heal_start) ~= "userdata" thenwprintf("~C0C #WARN:~C07 in_progress = %s, heal_start = %s, heal_last = %s - no actions ", DumpVar(in_progress), DumpVar(heal_start), DumpVar(heal_last))returnendschedule.add("med_procedur", "vergas_medical_elastic.medical_procedures()", 200)local time_cur = game.get_game_time()local d_sec = time_cur:diffSec(heal_last)local d_heal = time_cur:diffSec(heal_start)if d_sec < 10 then <------------------------------------- Ставим 1-- wprintf("~C09 d_sec =~C0D %.2f ~C07", d_sec)returnendheal_last = time_cur----------------------------------Полностью нули не ставить.Проверено на сборке от mikelik. в файле sak.script:if arts_operate and not level.main_input_receiver() thenlocal section=obj:section_name()local pk = get_netpk(obj,1)local data = pk:get()local cond=data.condition+0.0004 <-------------------- изменить на нулиif cond>=1 then cond=0.9999 endlocal cond1=math.floor(cond*100)if cond>0.25 thenlocal new_cond=(cond-0.002) <-------------------- изменить на нулиif strpos(section,"_buliz",1,true) thennew_cond=cond-0.0025 <-------------------- изменить на нулиelseif strpos(section,"dummy_",1,true) thennew_cond=cond-0.01 <-------------------- изменить на нулиelseif strpos(section,"af_full_antitush",1,true) thennew_cond=cond-0.1 <-------------------- изменить на нулиelseif strpos(section,"_1",1,true) thennew_cond=cond-0.005 <-------------------- изменить на нулиelseif strpos(section,"_2",1,true) thennew_cond=cond-0.0025 <-------------------- изменить на нулиelseif strpos(section,"_3",1,true) thennew_cond=cond-0.001 <-------------------- изменить на нулиelseif strpos(section,"_4",1,true) thennew_cond=cond-0.00075 <-------------------- изменить на нулиendparams.obj_condition(obj_id, new_cond)data.condition = new_condpk:set(data)elselocal new_artif strpos(section,"_dyn",-6,true) thennew_art=string.sub(section,1,-7).."_dyn6d"elseif strpos(section,"dummy_",1,true) thennew_art=section.."_fake"elseif strpos(section,"af_full_antitush",1,true) thennew_art=section.."_fake"elseif strpos(section,"_1",-2,true) thennew_art=string.gsub(section, "_1", "_5")elseif strpos(section,"_2",-2,true) thennew_art=string.gsub(section, "_2", "_6")elseif strpos(section,"_3",-2,true) thennew_art=string.gsub(section, "_3", "_7")elseif strpos(section,"_4",-2,true) thennew_art=string.gsub(section, "_4", "_8")endcoord_params.set_obj_section(obj_id, new_art)consumable_artefacts=nilendrazgruzka.open_inv_raz_pod=falseendelseconsumable_artefacts=nilendendendelsearts_operate=falseendif flag then return endif level.name()=="aver" then return endlocal npc=db.actorlocal act_pos=npc:position()if not amk_anoms.check_coordinates(act_pos) then return endif sak_inventory.rucksack["af_dummy_black_tip"] thenlocal obj_id=sak_inventory.rucksack["af_dummy_black_tip"][1]local obj=sim:object(obj_id)if obj thenlocal pk = get_netpk(obj,1)local data = pk:get()local cond=data.condition+0.0004 <-------------------- изменить на нулиif cond>=1 then cond=0.9999 endif cond>0.25 thenlocal new_cond=cond-0.0025 <-------------------- изменить на нулиparams.obj_condition(obj_id, new_cond)data.condition = new_condpk:set(data)elsemisc.release_obj(obj_id, 'sak.script:1346')db.actor:disable_info_portion("info_black_tip")nlc_vars.black_off = 0.8endendendendfunction new_art_cond(obj_id,cnd,sect)local objg=client_obj(obj_id)local cond = cnd or 0.25if objg then objg:set_condition(cond) endarc_arts.register_artefact(sect.."_99",-1)endfunction sleep_razrjad_akkum(hour)sleep_razrjad_torch(hour)if arts_operate thenlocal obj_id=db.actor:item_in_slot(11):id()local obj=sim:object(obj_id)local tm_sl=hour*10if obj thenlocal razrad=(af_kolvo)*0.005*loka_on*tm_sl <-------------------- изменить на нулиlocal pk = get_netpk(obj,1)local data = pk:get()local cond=data.condition+0.0004 <-------------------- изменить на нулиif cond>=1 then cond=0.9999 endif cond > 0.06 thenif flag then arts_operate=true return endlocal new_cond=cond-razradparams.obj_condition(obj_id, new_cond)data.condition = new_condpk:set(data)arts_operate=trueelseif torch_id and arts_operate==true thenlightman.toggle_NVD(torch_id)arts_operate=falserazgruzka.open_inv_raz_pod=falseendendendfor i,k in pairs(sak_inventory.sash) dolocal ini=system_ini()if ini:section_exist(i) thenlocal class=ini:r_clsid(i, "class")if class==CLID_ART thenlocal kolvo=table.getn(k)if (string.find(i,"dummy_",1,true) or string.find(i,"_1",1,true) or string.find(i,"_2",1,true) or string.find(i,"_3",1,true) or string.find(i,"_4",1,true) or strpos(i,"_dyn",-6,true)) and (not strpos(i,"_dyn6d",1,true) and not strpos(i,"_fake",1,true) and not strpos(i,"_capsule",1,true)) thenfor s=1,kolvo dotable.insert(consumable_artefacts, k)endendendendendlocal af_del_kolvo=table.getn(consumable_artefacts)if af_del_kolvo>=1 thenfor i,k in pairs(consumable_artefacts) doobj_id=consumable_artefactsobj=sim:object(obj_id)if obj thenlocal section=obj:section_name()local pk = get_netpk(obj,1)local data = pk:get()local cond=data.condition+0.0004 <-------------------- изменить на нулиif cond>=1 then cond=0.9999 endlocal cond1=math.floor(cond*100)if cond>0.25 thenlocal new_cond=(cond-0.002*tm_sl) <-------------------- изменить на нулиif strpos(section,"_buliz",1,true) thennew_cond=cond-0.0005*tm_sl <-------------------- изменить на нулиelseif strpos(section,"dummy_",1,true) thennew_cond=cond-0.01*tm_sl <-------------------- изменить на нулиelseif strpos(section,"af_full_antitush",1,true) thennew_cond=cond-0.1*tm_sl <-------------------- изменить на нулиelseif strpos(section,"_1",1,true) thennew_cond=cond-0.005*tm_sl <-------------------- изменить на нулиelseif strpos(section,"_2",1,true) thennew_cond=cond-0.0025*tm_sl <-------------------- изменить на нулиelseif strpos(section,"_3",1,true) thennew_cond=cond-0.001*tm_sl <-------------------- изменить на нулиelseif strpos(section,"_4",1,true) thennew_cond=cond-0.0005*tm_sl <-------------------- изменить на нулиend Ремонт полностью убитого оружия и брони ---------------------------------------В файле sak.script:function repair_box_repair(obj)if obj thenlocal self=level.main_input_receiver()if self thenself:GetHolder():start_stop_menu(self,true)endlocal actor=db.actorlocal slot_1=actor:item_in_slot(1)local slot_2=actor:item_in_slot(2)local armor=actor:item_in_slot(6)local sounds=lua_random(1,3)if obj and obj:section()=="repair_item_weapon" thenif (slot_1 and slot_1:condition() >=0.8 and slot_1:condition() <0.985) or (slot_2 and slot_2:condition() >=0.8 and slot_2:condition() <0.985) then <------------ вместо "0.8" поставить "0.0"actor_hide_weapon()if (slot_1 and slot_1:condition() >=0.8 and slot_1:condition() <0.985) then <------------ вместо "0.8" поставить "0.0"rep_percent=wpn_proc[slot_1:section()] or 0.02local rep_point=slot_1:condition() + rep_percentif (rep_point>1) then rep_point=1 endslot_1:set_condition(rep_point)sound=repair_sound[1]..soundssnd_obj=xr_sound.get_safe_sound_object(sound)snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)send_tip("Оружие немного приведено в порядок",nil,12,5,"g_g","no", "green")elseif (slot_2 and slot_2:condition() >=0.8 and slot_2:condition() <0.985) then <------------ вместо "0.8" поставить "0.0"rep_percent=wpn_proc[slot_2:section()] or 0.02local rep_point=slot_2:condition() + rep_percentif (rep_point>1) then rep_point=1 endslot_2:set_condition(rep_point)sound=repair_sound[2]..soundssnd_obj=xr_sound.get_safe_sound_object(sound)snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)send_tip("Оружие немного подремонтировано",nil,12,5,"g_g","no", "green")endtimers.start_timer("time_rep",13,"sak.restore_weap()")elseif (slot_1 and slot_1:condition() <0.8) or (slot_2 and slot_2:condition() <0.8) then <------------ вместо "0.8" поставить "0.0"send_tip("Слишком сильное повреждение оружия!",nil,2,5,"g_g","no", "red")misc.spawn_into(obj:section().."_feik", actor)elsesend_tip("Оружие не нуждается в починке!",nil,2,5,"g_g","no", "blue")misc.spawn_into(obj:section().."_feik", actor)endelseif obj and obj:section()=="repair_itemoutfit" thenif armor thenif strpos(armor:section(), "bandit_veteran_",1,true) or strpos(armor:section(), "bandit_master_",1,true) thensend_tip("Для кожаного плаща не подходит!",nil,2,5,"g_g","no", "yellow")misc.spawn_into(obj:section().."_feik", actor)elserep_percent=outfit_proc[armor:section()] or 0.02if armor:condition() >=0.8 and armor:condition() <0.985 then <------------ вместо "0.8" поставить "0.0"actor_hide_weapon()vergas_masks.set_flag_minimap(false)local rep_point=armor:condition() + rep_percentif (rep_point>1) then rep_point=1 endamk_mod.repair_armor(rep_point)sound=repair_sound[3]..soundssnd_obj=xr_sound.get_safe_sound_object(sound)snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)send_tip("Броня отремонтирована.",nil,12,5,"g_g","no", "green")schedule.add("tm_rep", "sak.return_mask()", 12500)elseif armor:condition() <0.8 then <------------ вместо "0.8" поставить "0.0"send_tip("Слишком сильное повреждение брони!",nil,2,5,"g_g","no", "red")misc.spawn_into(obj:section().."_feik", actor)elsesend_tip("Броня не нуждается в починке!",nil,2,5,"g_g","no", "blue")misc.spawn_into(obj:section().."_feik", actor)------------------------------------------------------------------------------------------Если хотите чтобы ремонтировалось за один раз, а не юзать мышкой по несколько раз на одно изделие,то нужно изменить процентность ремонта в секции:local outfit_proc={ - броня, например:["novice_outfit"]=0.2, - поставить 0.9["novice_q_outfit"]=0.12, - поставить 0.9["outfit_novice_m1"]=0.2, - поставить 0.9 и т.д.--------------------------------------------------local wpn_proc = { - оружие, например:["wpn_pm"]=0.2, - поставить 0.9["wpn_q_pm"]=0.12, - поставить 0.9["wpn_pb"]=0.18, - поставить 0.9 и т.д.--------------------------------------------------Весь список выкладывать не буду правте в ручную, может у кого-то оружие, броня добавлены, изменены и т. д.Проверено на сборке от mikelik. amk_mod.script: ----------------------------------------function test_for_need_sleep_matras(oid)Спать в любое время в спальнике:if ( nlc_vars.gg_need_sleep or 0 ) > 6 then <-------- поставить "0"Чтобы второй раз сразу лечь, нужно забрать спальник в инвентарь и выложить.---------------------------------------------------------------------------------------------------------------Спать в любое время в отведённом месте:function esc_sleep_matras()if (nlc_vars.gg_need_sleep or 0 )>6 then <-------- поставить "0" Сборка от mikelik в файле bind_monster.script: if classid==CLID_BOAR thenif step==1 thenlocal npc=db.actorif npc and npc:position():distance_to(sfobj:position())<3 then <------------------------------ ставим <0local snd_rand=lua_random(1,4)sak.snd_rand_geiger(snd_rand)local h = hit()h.type = hit.radiationh.power = 0.0005+(0.0002*game_difficulty)+0.008*(sak.dog_psy)h.impulse = 0.0h.draftsman = sfobjh.direction = sfobj:direction()npc:hit(h) Изменено 23 Апреля 2017 пользователем shahvkit 2 11 1 2 Ссылка на комментарий
Это популярное сообщение. fastle 29 Опубликовано 19 Апреля 2017 Это популярное сообщение. Поделиться Опубликовано 19 Апреля 2017 (изменено) Новые атарки для NPC/мутантовАвтор: Paradox Просто закинуть файлы с заменой. На всякий случай можно сохранить файлы для бэкапа. Работает на любой сборке. Заменены практически все аватарки мутантов;Заменены практически все автарки NPC, оставил красивые NLCшные;Заменён аватар ГГ. (с билдовской внешности на внешность Меченого) Оформление в NLC сделано очень добротно, то есть в моде перерисовано практически всё, а вот 90% иконок персонажей/мутантов остались с ТЧ и выглядят не очень. Эта правка решит эту проблему. Может многие не обращают на это внимание, но играть станет немного приятнее Если найдёте косяк - пишите в личку. Скачать: https://yadi.sk/d/FcmKWjsO3HBVnk Скачать: https://yadi.sk/d/KOqphiOO3HBVuQ Тут лежат две разные папкиСкачать: https://yadi.sk/d/GwW9hw7Q3HBWTD ГГ снова голодает во сне; Поправлен вес медицины и прочего. На всякий случай можно сделать копию файлов для бэкапа. Скачать: https://yadi.sk/d/rn29xFVN3H2k2U Скриншоты: http://imgur.com/a/FMNZQСкачать: https://yadi.sk/d/l1JFp8sV3H4fkp Изменено 23 Апреля 2017 пользователем BFG 6 Ссылка на комментарий
Это популярное сообщение. Снайпер с пулеметом 15 Опубликовано 2 Мая 2017 Это популярное сообщение. Поделиться Опубликовано 2 Мая 2017 (изменено) Сохранение в любое время в любом месте на сборку от SOB. После self:AddCallback("btn_load", ui_events.BUTTON_CLICKED, self.OnButton_load_clicked, self) Пишем self:AddCallback("btn_save", ui_events.BUTTON_CLICKED, self.OnButton_savewakeup, self) И после (к примеру) этой функции function main_menu:ppe_menu_show() if self.ppe_dlg==nil then self.ppe_dlg = play_ppe.ppe() self.ppe_dlg.owner = self end self:GetHolder():start_stop_menu(self.ppe_dlg, true) self:GetHolder():start_stop_menu(self, true) self:Show(true) end Вставляем function main_menu:OnButton_savewakeup() if self.savewakeup_dlg==nil then self.savewakeup_dlg = savemgmt.on_wakeup() self.savewakeup_dlg.owner = self end self:GetHolder():start_stop_menu(self.cheat_dlg, true) self:GetHolder():start_stop_menu(self, true) self:Show(true) end В обоих файлах после <menu_main_single btn_height="30" font="graffiti22" a="255" r="15" g="10" b="10"> <btn name="btn_ret" caption="ui_mm_return_game" /> <btn name="btn_lastsave" caption="ui_mm_last_save" /> <btn name="btn_load" caption="ui_mm_load_game" /> Пишем <btn name="btn_save" caption="ui_mm_save_game" /> Кто не желает возиться - https://yadi.sk/d/lpBwL6CV3HXjxB Сон в любое время для SOB Даже если ты спал минуту назад - заснёшь снова без проблем! https://yadi.sk/d/xuiXoDF93HRYF8 Найдёте косяк - пишите, поправлю Изменено 2 Мая 2017 пользователем Снайпер с пулеметом 4 5 2 Ссылка на комментарий
fastle 29 Опубликовано 25 Июня 2017 Поделиться Опубликовано 25 Июня 2017 (изменено) Название: Новые иконки персонажей/мутантов для любой сборки NLC 7 Автор: Paradox Описание: всё-таки решил сделать нормальную правку на эти "аватарки", поменял все на более красивые и правильные. Где-то оставил старые. В версии для Микелика и старых сборок поменял координаты картинкам некоторых неписей, т.к. были не те или одинаковые. Если кому-то что-то хочется сменить - пожалуйста Все ссылки ниже. Знаю, некоторые выглядят не айс, но как есть, извините Иконки НПС, монстров и ГГ http://imgur.com/a/hC5K1 Скачать для сборок SOB, HBM, 2.5: https://yadi.sk/d/P6wwOy__3KS7DW Скачать для mikelik и прочих старых сборок: https://yadi.sk/d/QysruWXr3KS7HY Спасибо модам OGSM, Darkest Time и программе Photoshop. Нашли ошибку - пишите в личку. Может помогу Изменено 25 Июня 2017 пользователем fastle 2 2 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти