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

[SoC] Ковыряемся в файлах

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

Я при добавлении нового патрона прописывал его и в _g.script. Вообще, тупо поиском по любому патрону, где есть в скриптах/конфигах вхождение, прописывать по аналогии, и все будет норм.

Сталкер - наше всё!

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

@HellRatz, а если целиком погоду?
насоветовали что-то такое:

рестриктор примерно с такой схемой:
 

actor_in_zone = %=set_agr_u_weather%



и и функция в xr_effects что то вроде

function set_agr_u_weather() level.set_weather("indoor_agroprom", true) end

 

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

Люди подскажите пожалуйста, как сделать несколько вариаций бутскрина, т.е загрузочного экрана. Не интро локаций, а именно бутскрин. Как это было сделано в ОП-2.1. Заранее спасибо.

Добавлено  HellRatz,

Весь текст жирным шрифтом выделять не обязательно.

bar.jpg

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

@RSFSR, погоду можно задавать. Только не забудь сделать еще actor_out_zone, чтобы возвращать обычную погоду при выходе из рестриктора.

GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

JNCR — Coming Soon...

i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 11 PRO x64 / Samsung Curved 27" x2

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

@HellRatz, в итоге получается так?:

рестриктор охватывающий все подземелье с

actor_in_zone = %=set_agr_u_weather%

actor_out_zone = %=set_default_weather%

и две функции в хр_эффектс:

function set_agr_u_weather() level.set_weather("indoor_agroprom", true) end

function set_deafault_weather() level.set_weather("default", true) end

Так?

а еще у меня на разных рендерах разная погода:
 

if get_console():get_string("renderer") == "renderer_r2" then
level.set_weather(level.get_weather().."_r2",now)
else
level.set_weather(level.get_weather(),now)
end


сильно осложнит дело?

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

@RSFSR, да, проверка на нахождение в рестрикторе и вне (пару лет уже не трогал сталкера, но на память все правильно), все будет переключаться автоматически.

 

45 минут назад, RSFSR сказал:

сильно осложнит дело?

Мне кажется подобную проверку просто надо засунуть в функцию смены погоды, чтобы сначала проверялся тип рендера, а в зависимости от него уже задавалась погода р1 или р2.

GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

JNCR — Coming Soon...

i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 11 PRO x64 / Samsung Curved 27" x2

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

@RSFSR,  я бы лучше сделал в рестрикторе выдачу инфопоршня, а в менеджере погоды на апдейте - проверку этого поршня, и в зависимости от поршня/рендера и т.д., включение соответствующей погоды. Это, в том числе, нужно для того, чтобы погода не сбрасывалась обратно на дефолтную при переключении секций по времени, если актёр в это время всё ещё в рестрикторе.

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@naxac, дополню : и не забыть забрать инфопоршень, при выходе из рестриктора. 

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

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

Изменено пользователем Robbie's Mods

bar.jpg

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

@Robbie's Mods Базовая текстура – [textures\ui\ui_load.dds]. Создать там же текстовый файл [ui_load.seq], в первой строке указать частоту смены кадров, в последущих ссылки:

5

ui\ui_load_1

ui\ui_load_2

ui\ui_load_3

 

Даже при минимальном количестве модов бут-скрин большую часть времени висит на одном кадре, но стартует каждый раз со случайного кадра – может, этого будет достаточно.

  • Нравится 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий
47 минут назад, Norman Eisenherz сказал:

бут-скрин большую часть времени висит на одном кадре

Ну вообще-то есть уже полно модов с реализованной фичей "вход в игру по нажатию любой кнопки в бут-скрине". И там он ждать игрока может сколько угодно.

А когда все загрузилось, обновляется он вполне с тем FPS, которое и в игре будет.

И кроме того, число 5 тут даст частоту смены - 5 кадров в секунду. Для смены кадра реже, чем раз в секунду, требуется реализовывать чтение float числа меньше единицы из seq-файла, по умолчанию движок ТЧ такое не поддерживает. 

18 часов назад, Robbie's Mods сказал:

Как это было сделано в ОП-2.1

Почему бы там и не посмотреть?

Скорее всего, скриптовый интерфейс с выбором текстуры скриптом же.

xml:ParseFile("ui_mm_main.xml")
	local bg = xml:InitStatic("background", self)
	local bgname = string.format("ui_menu_backgraund_%i", math.random(1,8))
	bg:InitTexture(bgname)

Что-то вроде такого. Правда, это не экран загрузки, а главное меню, и не ОП, а моё. Но принцип тот же, вероятно.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
38 минут назад, Zander_driver сказал:

Ну вообще-то есть уже полно модов с реализованной фичей "вход в игру по нажатию любой кнопки в бут-скрине". И там он ждать игрока может сколько угодно.

Это когда игра уже загрузилась. А речь про скрин, который появляется при нажатии "новая игра / загрузить" и висит, пока не появится картинка соответствующая локации.

GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

JNCR — Coming Soon...

i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 11 PRO x64 / Samsung Curved 27" x2

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

@Space.Marine, если я не путаю - это емкость визуальной памяти. Может и других типов памяти тоже - не уверен.

  • Спасибо 1
Ссылка на комментарий

@Robbie's Mods

Способ 1)

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


local Crank = db.actor:character_rank()

	if Crank < 300 then
		db.actor:give_info_portion("Выдача_инфопоршня")
	elseif Crank >= 300 and Crank < 600 then
		db.actor:give_info_portion("Выдача_инфопоршня")
	elseif Crank >= 600 and Crank < 900 then
		db.actor:give_info_portion("Выдача_инфопоршня")
	elseif Crank >= 900 then
		db.actor:give_info_portion("Выдача_инфопоршня")
	end

 

 

Способ 2)

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


local Crank = ranks.get_obj_rank_name(db.actor)

	if Crank == "novice" then
		db.actor:give_info_portion("Выдача_инфопоршня")
	elseif Crank == "experienced" then
		db.actor:give_info_portion("Выдача_инфопоршня")
	elseif Crank == "veteran" then
		db.actor:give_info_portion("Выдача_инфопоршня")
	elseif Crank == "master" then
		db.actor:give_info_portion("Выдача_инфопоршня")
	end

 

 

  • Полезно 4
Ссылка на комментарий

Здрасьте.

 

Теория:

1. Конфиги можно формировать ссылками на несколько секций: [new_sect]: base_1, base_2, base_3.

2. При ссылках на существующие секции новый файл достаточно прописать в [config\system.ltx] после базовых файлов, чтобы секции были прочитаны в правильном порядке.

 

Практика:

Создал общую секцию

[q_item]
quest_item            = true

Создал файл с набором секций вида [novice_outfit_q]:novice_outfit, q_item и указал его в [system.ltx] после #include "misc\outfit.ltx" и #include "misc\unique_items.ltx".

Проблема:

• если секция [q_item] указана в любом файле, который загружается до дополнительного файла, броня успешно создается с новой секцией;

• если секция [q_item] указана в самом дополнительном файле, в первых его строках, то уже на старте случается вылет с ошибкой "невозможно открыть секцию".

Такое впечатление, что дополнительный файл читается не сверху вниз, а в каком-то случайном порядке, и игра пытается, образно говоря, возвести стену до фундамента, хотя фундамент указан в списке первым.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий
только что, Norman Eisenherz сказал:

дополнительный файл читается не сверху вниз, а в каком-то случайном порядке

1. Что такое "дополнительный файл" и чем он отличается от просто файла.

2. Если бы было так, многочисленные вариации всяческого оружия, которые пишут в конфиг родителя в конце и наследуют от него же, приводили бы к вылетам. А этого не происходит.

  • Согласен 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
3 часа назад, Norman Eisenherz сказал:

2. При ссылках на существующие секции новый файл достаточно прописать в [config\system.ltx] после базовых файлов, чтобы секции были прочитаны в правильном порядке.

Можно делать инклуды в любом файле, не только в system.ltx (environment.ltx, weapons.ltx) , пример: в outfit.ltx - в последней строке добавляешь #include "мой_файл.ltx", в котором уже будут новые секции.

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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