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

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


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

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

В gamedata\scripts\ui\ui_main_menu.script

Скрытый текст
function main_menu:OnKeyboard(dik, keyboard_action)  --virtual function
	CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
--	local bind = dik_to_bind(dik)
	if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
		if dik == DIK_keys.DIK_ESCAPE then
			if game_is_running() then
				ui_mm_opt_add.check_options()
				console:execute("main_menu off")
				archievements.mm_opt()
			end

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

--===переспавн НПС вызов===--
   elseif dik == DIK_keys.DIK_Z then --тут задаем свою кнопку, если Z не подходит
      pomoshnik.perespawn()          --тут название скрипта и функции через точку(можно задать свои)
--=========================--

Далее создаем скрипт: gamedata\scripts\pomoshnik.script

Скрытый текст
--===Переспавн квестовых НПС===--
function perespawn()
 local obj
        for i=1,65534 do
          obj = alife():object(i)
            if obj and obj:name() == "esc_novice_attacker1" then
              alife():release(obj)
         break
            end
        end
     alife():create(2965)
 end
--=============================--

Где изменяемые данные будут в этих строках:

 if obj and obj:name() == "esc_novice_attacker1" then
и
alife():create(2965)

Это данные Петрухи для последнего патча(15.03.2023).

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

Для этого нам понадобятся распакованные: all.spawn ОП-2.2, 11 файлов characters_ (идут подряд по алфавиту с characters_aem.xml по characters_volazar.xml) из папки gamedata\config\gameplay\ и Total Commander. Все это можно взять тут, и имя НПС. Можно пробовать сканировать всю папку config, но нужные"характеры" больше нигде кроме этих 11 файлов пока не попадались. Находим к примеру Толика:

character-id.png

Тут нам нужен его "specific_character id" - он уникальный для каждого квестовика:

            <!-- esc_tutorial_wounded (Толик) -->    
    <specific_character id="esc_tutorial_wounded" team_default = "1">

Теперь по найденному "specific_character id": esc_tutorial_wounded сканируем all.spawn и вот он, наш Толик:

spawn-id.png

Обратите внимание, что найденный character_profile = esc_tutorial_wounded, не всегда, но в случае с Толиком, отличается от имени для спавна, при этом он всегда будет находиться в одной цифровой секции(как правило чуть ниже по коду) с нужными для спавна name & spawn_id, для Толика это:

; cse_abstract properties
section_name = stalker_antisniper
name = esc_vagon_wounded --вот
position = -89.838249206543, -4.78003883361816, -70.7686004638672
direction = -0.0609129928052425, 0.00472446996718645, 0.0369399525225163
version = 118
script_version = 7
spawn_id = 2952 --и вот

; cse_alife_trader_abstract properties
money = 5000
character_profile = esc_tutorial_wounded

Их и подставляем в наш скрипт. При этом не важно, жив, мертв, сгинул или потерялся НПС - жмем кнопку в меню и НПС переспавнится на своем начальном месте появления в игре.

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

Архара №1 patch 15.03.2023(это видимо "первый" Архара на Агропроме, Якута смотрим в конце списка):

if obj and obj:name() == "yakut_agro" then 

 alife():create(4262)

 

Архара №2 patch 15.03.2023(это Архара на Затоне):

if obj and obj:name() == "arhara_zaton" then 

 alife():create(24565)

 

Боров patch 15.03.2023:

if obj and obj:name() == "val_lager_bandits_borov" then 

 alife():create(5207)

 

Кузнецов patch 15.03.2023:

if obj and obj:name() == "esc_bridge_soldier5" then 

 alife():create(3005)

 

Петруха patch 15.03.2023:

if obj and obj:name() == "esc_novice_attacker1" then 

 alife():create(2965)

 

Псих patch 15.03.2023:

if obj and obj:name() == "mil_stalker0012" then 

 alife():create(7098)

 

Сепатор patch 15.03.2023:

if obj and obj:name() == "esc_hunter_zaschita_2" then 

 alife():create(3678)

 

Толик patch 15.03.2023:

if obj and obj:name() == "esc_vagon_wounded" then 

 alife():create(2952)

 

Шерстюк patch 15.03.2023:

if obj and obj:name() == "sak_military_stalker" then 

 alife():create(4651)

 

Якут patch 15.03.2023:

if obj and obj:name() == "yakut_agro2" then 

 alife():create(7017)

 

Лохматый patch 15.03.2023:

if obj and obj:name() == "val_prisoner_captive" then 

alife():create(5262)

 

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

Найди покой в своей душе, всё остальное само найдёт тебя.

Ребята подскажите, как оставить одного монолитовца на ЧАЭС2, по освобождению Снегиря?

@Сергей195416 gamedata\scripts\fly_island.script

В самом низу будет. Только загружай с перемещения на крышу ЧАЭС 2 до того как Калинин скинет смс. Иначе так и будет куча монолитовцев

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

-- спавн снайперов и Снегиря на ЧАЭС2
function create_snegir_2chaes()
local snipers = {
    {position={x=409.23071289063,y=36.875762939453,z=86.418243408203},gv=2600,lv=139080,look=1}

 

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

"Безвыходных ситуаций не бывает в принципе" - сказал Дима Шухов перед тем, как его замуровали лучшие друзья в стене недалеко от четвертого реактора ЧАЭС

Здравствуйте! Подскажите, пожалуйста, как увеличить время в квесте Борова "Практическая стрельба"?

Одинокий Волк

@evgecha.yakt 

В файле config/scripts\val\val_borov_bottle2.ltx

находим

start_value = 65000 и меняем значение на большее.

  • Спасибо 1
  • Нравится 1
  • Полезно 1
15 минут назад, evgecha.yakt сказал:

Подскажите, пожалуйста, в квесте Арни на расстрел двухсот коробок красных, как можно увеличить немного время?

gamedata\config\scripts\bar\arny_box_timer.ltx

Скрытый текст
[logic]
active = sr_idle
 
[sr_idle]
on_actor_inside = sr_timer
 
[sr_timer]
type = dec
start_value = 360000 ;;;тут увеличивай
argb = 255,255,255,255
on_value = 0 | nil %=arny_box.arny_box_check%
on_info = {+arny_box_fail} nil
on_info2 = {+arny_box_have} nil
string = st_time_kvest_proval

 

Изменено пользователем tihik
  • Спасибо 1

Найди покой в своей душе, всё остальное само найдёт тебя.

10 часов назад, BillGoldberg сказал:

Где взять правку Стены не простреливаются

Решение от прострела препятствий, через конфиги, в ammo.ltx - там же пару постов далее почитай и если действительно надо, осваивай SDK.

 

10 часов назад, BillGoldberg сказал:

Выход за территорию

Установи правку "Невидимость, неуязвимость + прыгун" из базы правок или выдери оттуда только прыгуна:

Скрытый текст
		[DIK_keys.DIK_F4]={
			func=function(key,action)
				if not game_is_running() then
					return
				end
				if is_dev_mode() then
					if shift_state then
						utils.set_coords_visible(not utils.get_coords_visible())
					else
						if not cheat_wnd then
							cheat_wnd = positioninformer.pi()
						end
						cheat_wnd:showposinfo()
						level.start_stop_menu(level.main_input_receiver(), true)
						level.start_stop_menu(cheat_wnd, true)
					end
				end
			end
		}, 
--==<"Прыгун">==--
		[DIK_keys.DIK_F1]={
			func=function()
				db.actor:set_actor_position(device().cam_pos:add(device().cam_dir:mul(35.0)))
			end
		},
		[DIK_keys.DIK_F2]={
			func=function()
				db.actor:set_actor_position(device().cam_pos:add(device().cam_dir:mul(5.0)))
			end
		},
--===<end>===--
		[DIK_keys.DIK_LALT]={
			func=function()
				alt_state=true
			end			
		},

 

 

3 часа назад, BillGoldberg сказал:

Но убивает возле стройки где наймиты сидели к вертолету иду и там скрипт срабатывает

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

 

10 часов назад, BillGoldberg сказал:

Бег по воде?

 

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

SoC. Отключение замедления передвижения в воде

Внимание! Для работы необходим полный пакет X-Ray SDK 0.4, и в частности Shader Editor.
Чтобы отключить замедление передвижения ГГ в воде, необходимо изменить материал воды в файле gamemtl.xr, который находится в папке gamedata, ресурсов игры.
1) Поместите ваш файл gamemtl.xr, в папку X-Ray SDK 0.4\level_editor\gamedata
2) Запустите Shader Editor, и перейдите во вкладку Materials.
3) Перейдите в папку materials, и выберите water.
4) Во вкладке редактора Item Properties, найдите строку Flotation (1-full passable), и присвойте ей значение, равное 1.0
5) Во вкладке редактора Tools, выберите File -> Save
6) Переместите готовый файл gamemtl.xr, из X-Ray SDK 0.4\level_editor\gamedata, в папку S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata
Готово!

п.с. Если "не алё" - не люби людям мозги, а просто бери готовый файл из сборок где это уже реализованно. К примеру из того же "Злобного читера".

 

Изменено пользователем tihik

Найди покой в своей душе, всё остальное само найдёт тебя.

12.01.2024 в 17:16, Arkmore сказал:

Помню, для 2.1 была правка на убирание невидимых стен на всех локациях. Есть ли такая для версии 2.2? (Поиском вроде не нашлось.)

12.01.2024 в 19:01, iMac сказал:

Так возьми от 2.1 она полностью подходит к 2.2, только скрипты "снайпера" не убирает.

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

Считаю это плохим советом, т.к. маловероятно, что "материалы" в 2.2 по сравнению с 2.1 не правили. Кто-то видимо скопипастил с 2.1 не вдаваясь в детали, запустилось - значит подходит. Возможно скакать через заборы и получится, но не факт что в дальнейшем не вылезут проблемы. Рекомендуемая рабочая правка для выхода за пределы локации и возможности попасть в закрытые помещения: "Прыгун". Может быть не так играбельно - через стены то получается проходим а не перепрыгиваем, но функционал правки выше, при меньшем вмешательстве в архивы игры. Торрент ОП-2.1 вроде бы живой, скачаю, проверю материалы на соответствие.

Как ни странно, оригинальные gamemtl.xr идентичны, потому и правка от 2.1 действительно подойдет. Но "Прыгун" все равно практичней.

Изменено пользователем tihik
  • Спасибо 1
  • Согласен 3
  • Полезно 1
  • Жуть! 1

Найди покой в своей душе, всё остальное само найдёт тебя.

Всем привет.

Подскажите в каком файле находятся обмены Сахарова . Хочу подправить ему обмен , а то за 10 Душ дает всего 4 пачки патронов .

Привет всем. Не знаю конкретно, в какую тему об этом писать, если вдруг что, перенесите.

Кто-нибудь знает, как удалось разработчикам ОП-2.2 победить коллизию с кустами и стенками, когда даже при малейшем касании наносится неадекватный урон по ГГ? Поиск по форумам не дал какого-то результата. В голове отложилось, что кто-то настройки материалов упоминал.

Всем здравствуйте, возникла проблема с ПЗУ, не видит акумы и арты в инвентаре, Пзу заспавнил через спавнер и показометр,разряженные акумы есть арты тоже, а ПЗУ их не видит, стоит последний патч от 15.03,может кто подскажет как исправить ситуацию, помогите пожалуйста 

@Андрей Буланов, с очень большой вероятностью в том и проблема, что "заспавнил через спавнер и показометр". Получение ПЗУ завязано на квест, в квесте поршень итд, что и не дает ПЗУ работать раньше положенного времени. Проще заряжать у Петренко или поставить правку на уменьшение разрядки аккумуляторов и очень редко заряжать у Петренко, чем ломать сюжетное ограничение.

  • Нравится 1
  • Согласен 2

Найди покой в своей душе, всё остальное само найдёт тебя.

1 час назад, Андрей Буланов сказал:

Пзу заспавнил через спавнер и показометр

А просто Аккумулятор заспавнить видимо ума не хватило да?!

 

Нашёл Баг, не знаю с чем связан.  У Василия на Болотах после какого то квеста (возможно на Арты Рубиновые) при нажатии что то про зарядку аккумуляторов получаю заряженный.

Т.е . жмём про зарядку и получаем сразу же уже заряженный акум, и так до бесконечности... Был разряжен на половину Жёлтый, но Вася мне отдаёт новые Красные.

Привет всем, патч(обновление) для дополнения «Тайник за Достижение на Локации с ГГ»

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

Исправляет вылет по  «Лётчику» и по мелочи... У меня такой проблемы не было и я даже не знал, что она существует так как немного другая сборка. А многие знали и молчали. Большая просьба если есть проблемы пишем не стесняемся.

image.jpg image.jpg image.jpg image.jpg image.jpg

 

  • Нравится 3

Может, кто подсказать как отключить крики и вопли меченого при ранении в MOD PACK LSC от SLAVNa?

Изменено пользователем Карбофос

Наёмник. Прекрати преследование, иначе погибнешь. (Стрелок)

@Карбофос тут:gamedata\config\creatures\actor.ltx в самом низу все это удали

[actor_hit_snds]
burn            =actor\pain1,actor\pain2,actor\pain3;  ,actor\hurt4
shock            =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4
strike            =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4
wound            =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4
radiation        =monsters\biting\def_0; actor\hurt1,actor\hurt2,actor\hurt3,actor\hurt4
telepatic        =actor\pain1,actor\pain2,actor\pain3;  ,actor\hurt4
fire_wound        =actor\bullet_hit_1,actor\bullet_hit_2,actor\bullet_hit_3,actor\bullet_hit_4
; actor\pain_1,actor\pain_3,actor\pain_4,actor\pain_5,actor\pain_6,actor\pain_7,actor\pain_8
chemical_burn    =actor\pain1,actor\pain2,actor\pain3;  ,actor\hurt4
explosion        =affects\tinnitus3a
wound_2        =actor\hurt1,actor\hurt2,actor\hurt3,actor\hurt4
physic_strike    =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4

  • Спасибо 1
  • Нравится 1
  • Полезно 1

"Безвыходных ситуаций не бывает в принципе" - сказал Дима Шухов перед тем, как его замуровали лучшие друзья в стене недалеко от четвертого реактора ЧАЭС

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

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

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

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

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

Войти

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

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

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