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

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

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

Люди, помощь нужна. Решил запустить сталкер на дискретной видюхе (Geforce 710m), и словил маслину в виде такого вылета:

Expression: Not available
Function: CHW::CreateDevice
File: D:\prog_repository\sources\trunk\Layers\xrRender\HW.cpp
Line: 384
Description: R

Зп, такая штука только на статике, динамике, улучшенной динамике. На десятом и одиннацатом директе все норм.

Тч вообще не запускается. Просто, черное окно появляется, а потом закрывается.

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

Всем привет!
Не подскажите, как вернуть demo_record и телепортацию на Enter в последней версии AREA? Я совершенно не умею распаковывать движок и работать с ним, и гайдов толковых не нашел.

Файлик, который нужно править - xrGame.dll

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

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

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

Ссылка на комментарий
Expression    : !m_error_code Function      : raii_guard::~raii_guard File          : ..\xrServerEntities\script_storage.cpp Line          : 748 Description   : ...all of pripyat\gamedata\scripts\smart_terrain.script:583: attempt to index local 'job_data' (a nil value)
Спавнил нпс, как исправить?
Добавлено  HellRatz,

Перемещено. 

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

Всем привет!  Кто редактировал растительность (например  build_details.png) а потом сохранял в один .dds файл с несколькими размерами, поделитесь опытом. Какие параметры нужно выставить в NVIDIA dds format?

54 минуты назад, Antolich сказал:

Всем привет!  Кто редактировал растительность (например  build_details.png) а потом сохранял в один .dds файл с несколькими размерами, поделитесь опытом. Какие параметры нужно выставить в NVIDIA dds format?

Разобрался вроде. Выбирал DXT5, 2D tecture. Больше ничего не трогал.

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

Моё вам дратути, товарищи. Я тут решил заняться неблагодарным делом: дело в том, что я не удержался, и залез своими кривыми лапками в потроха игры (точнее - мода к ней, Gunslinger-а, но не думаю, что это сильно критично, структура-то должна быть одна и та же), распаковал их тобишь, и решил посмотреть, что да как в оружейной и броневой части. Нет, не для того, чтобы выкручивать *ДОМАГ* на максимум или разрешать все модификации - с этим я наигрался еще в ванильной ЗП, да и скучными становятся пушки, со всеми обвесами, одинаковыми какими-то. Меня, в основном, интересовала привязка апгрейдов к инструментам: хотелось поотменять привязку к калибровочным инструментам для откровенно стартовых стволов и костюмов, и оставить оную только для "лейтгейма" - ибо вот есть, скажем, бандитский плащ. Последний апгрейд брони для него требует калибровочных инструментов, т.е., ты должен метнуться до Припяти для того, чтобы оный плащ до конца улучшить, вот только ко времени похода на Припять у тебя уже стоит нелёгкий выбор между экзой, Севой и Булатом\фракционными костюмами, и нафига тебе уже этот плащ. А в самом начале игры, когда у тебя имущества, как у латыша из той присказки, и плащ действительно актуален - тебе говорят обломаться. То же и с ранними пистолетами, MP5 и прочим, что используется на ранних стадиях игры. Ну вот и возникла мысль оставить требование по калибровке для всяких ВАЛ-ов с Винторезами, СВД-шек и тому подобных стволов и костюмов, с которыми не стыдно и в Припять идти, а что попроще - ограничить инструментами для тонкой работы.

 

И вот смотрю я на эти модификации, и никак не могу понять - а где, собственно, идёт привязка конкретной позиции к уровню инструментального оснащения мастера? Нашёл что-то похожее в stalkers_upgrade_info.ltx, но после некоторого ковыряния вышло так, что всплывающая подсказка на блоке апгрейда сменилась с "технику нужны инструменты для калибровки" на " <...> для тонкой работы", а требование так и осталось для калибровки.
 

Ткните меня, что ли, мордой, кому не трудно...

 

Изменено пользователем Опричник
Ссылка на комментарий

@St_Tongorмощно :grin2:

Хотелось бы побольше конкретики: что, куда и почему мимо.

stalkers_upgrade_info.ltx - ну вот именно там всё и происходит.

На примере Кардана:

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

 

up_sect_firstc_novice_outfit = {!upgrade_hint_kardan(2)} false, true

up_sect_firstc_novice_outfit - данная секция апгрейда.

{!upgrade_hint_kardan(2)} - проверка условия доступности.

В данном случае {!...} - если условие не выполнено, то запрет (false). В противном случае - доступность (, true)

Сами проверки щедро рассыпаны GSC-ами по скриптам:

xr_condition.script -> function upgrade_hint_kardan(actor, npc, p) 

Проверяем наличие тех или иных инструментов и присваем функции проверки соответствующее значение.

 

p.s: при условии, что Гансы ничего не меняли. Эти могут :biggrin:

Ссылка на комментарий
1 час назад, Купер сказал:

@St_Tongorмощно :grin2:

Хотелось бы побольше конкретики: что, куда и почему мимо.

stalkers_upgrade_info.ltx - ну вот именно там всё и происходит.

На примере Кардана:

  Показать

 

up_sect_firstc_novice_outfit = {!upgrade_hint_kardan(2)} false, true

up_sect_firstc_novice_outfit - данная секция апгрейда.

{!upgrade_hint_kardan(2)} - проверка условия доступности.

В данном случае {!...} - если условие не выполнено, то запрет (false). В противном случае - доступность (, true)

Сами проверки щедро рассыпаны GSC-ами по скриптам:

xr_condition.script -> function upgrade_hint_kardan(actor, npc, p) 

Проверяем наличие тех или иных инструментов и присваем функции проверки соответствующее значение.

 

p.s: при условии, что Гансы ничего не меняли. Эти могут :biggrin:

 

Даю конкретику: я сперва пошерудил в stalkers_upgrade_info.ltx с железобетонной логикой: инструменты у нас в скриптах проходят, как toolkit_n - это ключевое слово и ищем. Так что я забэкапил оригинальный апгрейд_инфо (всегда должен быть бэкап! Лучше - два. Я это понял еще тогда, когда впервые пришёл на этот форум лет с десяток назад, и начал ковырять ТЧ - славные были времена...), прошерстил его поиском по файлу, нашёл секцию st_upgr_toolkit_3, и, не мудря лукаво, заменил её на st_upgr_toolkit_2 по всему файлу (для эксперимента - сработает или нет). Сработало: и у Кардана и у Азота на тех модификациях, на которых раньше писалось, что нужны калибровочные инструменты, стало писаться, что нужны инструменты для тонкой работы, но для фактической установки всё еще нужны были калибровки. Т.е., я подсказку всплывающую поправил (потому что нефиг в час ночи лезть и что-то делать - я так мыслю).

 

Сейчас я присмотрелся - видимо, у Кардана и у Азота структура проверок разная (это меня и подвело: я решил было, что будет единообразие, а тут оказалось, что у Кардана есть собственная проверка на инструменты, а Азота проверяют стадиями квеста). В общем, я еще раз клонировал бэкап, и тем же макаром, для эксперимента, заменил Кардану upgrade_hint_kardan(3) на upgrade_hint_kardan(2), а Азоту - +jup_b217_tech_instrument_3_brought на, соот-нно, +jup_b217_tech_instrument_2_brought. 

Начал новую игру, метнулся на лесопилку за коробкой, по пути пристрелил пару зомбей, хапнул тайник с водкой и консервами, этими же консервами, чтобы два раза не вставать, накормил наймитов капитала - и кинулся проверять. Чтобы не рысачить еще и по Юпитеру, сохранился до сдачи коробок Кардану. Снабдил, напоил, затестил - работате. Метнулся к Азоту, снабдил его - и там работате. Сейчас сижу и думаю, какие костюмы и какое оружие куда определять, но это уже, можно сказать, вкусовщина, главное - я, кажись, понял, как это устроено в целом.

Заодно, ради любопытства, посмотреть "как оно там", залез в файлы оружия. Выбрал пушку, которую Гансы стопудово потрошили: бывший Фрезер, ныне - UMP45. Обнаружилось удивительное: я как-то допреж был уверен, что ветка апгрейдов для оружия должна быть явно и недвусмысленно прописана в строке "upgrades =", а у Гансов в оной строке нет и половины доступных для пушки апгрейдов. Т.е., 
 

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

Вот в файле экс-Фрезера у нас есть строка апгрейдов:
upgrades = vartree_ump45_mag_fix, vartree_ump45_zatvor, vartree_ump45_rail, vartree_ump45_handle, vartree_ump45_sights, vartree_ump45_stock, vartree_ump45_sil

А вот в файле, описывающем апгрейды, есть структурирующая сносочка: 
[vartree_ump45_mag_fix]
elements = up_ump45_max_fixator
[vartree_ump45_barrel]
elements = up_ump45_barrel_speed, up_ump45_barrel_compensator
[vartree_ump45_body]
elements = up_ump45_body_coating, up_ump45_body_weight
[vartree_ump45_zatvor]
elements = up_ump45_zatvor_balancer
[vartree_ump45_extractor]
elements = up_ump45_extractor
[vartree_ump45_usm]
elements = up_ump45_usm_rpm, up_ump45_usm_accuracy
[vartree_ump45_rail]
elements = up_ump45_rail
[vartree_ump45_handle]
elements = up_ump45_handle
[vartree_ump45_laser]
elements = up_ump45_laser
[vartree_ump45_flash]
elements = up_ump45_torch
[vartree_ump45_sights]
elements = up_ump45_sights
[vartree_ump45_stock]
elements = up_ump45_stock
[vartree_ump45_sil]
elements = up_ump45_sil

 

Если приглядеться - можно обнаружить, что в строке апгрейдов отсутствуют блоки "vartree_ump45_barrel", "vartree_ump45_body", и "vartree_ump45_usm".

Однако в игре всё работает. Сейчас пытаюсь понять, как оно всё устроено тут, единственная дельная мысль - в "upgrades =" обозначены "исходные" модификации, которые доступны сразу, а моды второго и третьего порядков привязаны к "effects =" и через это не требуют явного оглашения.
Я уже плохо помню, как оно было в ванильной ЗП, но по-моему - не так.

 

А за подсказку - мой вам поклон земной, да, а то я бы еще два дня лоб морщил на тему того, где же собаку-то зарыли. 

Добавлено  Опричник,

Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/

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

за подсказку

Некий "Ёлки Палки" перенёс оружейку Ганса в Мизери:

https://vk.com/topic-34670845_40752416

Поспрашивай у него насчёт апгрейдов.

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

 

Cпавнил нпс, ловлю такой вот вылет:

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

 

 

Expression : !m_error_code

Function : raii_guard::~raii_guard
File : ..\xrServerEntities\script_storage.cpp
Line : 748
Description : ...ker call of pripyat\gamedata\scripts\xr_logic.script:777: attempt to compare nil with number

 

 

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

[logic@esc_z10_dolg_1]
suitable = {=check_npc_name(sim_default_duty_3)}
prior = 200
active = walker@esc_z10_hourly_dolg_work_1

 

[walker@esc_z10_hourly_dolg_work_1]
path_walk = hourly_dolg_walk
path_look = hourly_dolg_look
def_state_standing = guard
meet = meet@esc_b104_bandit_2
on_game_timer = 600|walker@esc_z10_hourly_dolg_work_1_1

 

[walker@esc_z10_hourly_dolg_work_1_1]
path_walk = hourly_dolg_walk_2
path_look = hourly_dolg_look_2
def_state_standing = threat_danger
on_game_timer = 100|walker@esc_z10_hourly_dolg_work_1_2

 

[walker@esc_z10_hourly_dolg_work_1_2]
path_walk = hourly_dolg_walk
path_look = hourly_dolg_look
def_state_standing = guard
on_game_timer = 100‬‬|walker@esc_z10_hourly_dolg_work_1_3

 

[walker@esc_z10_hourly_dolg_work_1_3]
path_walk = dolg_sleep_walk
path_look = dolg_sleep_look
def_state_standing = sleep
on_timer = 700‬‬|walker@esc_z10_hourly_dolg_work_1

 

[meet@esc_b104_bandit_2]
close_anim         = nil
close_victim     = nil
far_anim         = nil
far_victim         = nil
close_distance     = 0
far_distance     = 0
use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false
snd_on_use = {!dist_to_actor_le(3)} nil
meet_on_talking = false

 

[logic@esc_z10_dolg_2]
suitable = {=check_npc_name(sim_default_duty_0)}
prior = 200
active = walker@esc_z10_rac_dolg_work_1

 

[walker@esc_z10_rac_dolg_work_1]
path_walk = rac_dolg_walk
path_look = rac_dolg_look
def_state_standing = hide_rac
meet = no_meet

 

[logic@esc_z10_dolg_3]
suitable = {=check_npc_name(sim_default_duty_2)}
prior = 200
active = walker@esc_z10_sleep_dolg_work_1

 

[walker@esc_z10_sleep_dolg_work_1]
path_walk = dolg_sleep_walk
path_look = dolg_sleep_look
def_state_standing = sleep
meet = no_meet
on_game_timer = 1447‬‬|walker@esc_z10_sleep_dolg_work_1_1

 

[walker@esc_z10_sleep_dolg_work_1_1]
path_walk = hourly_dolg_walk
path_look = hourly_dolg_look
def_state_standing = guard
on_game_timer = 600|walker@esc_z10_sleep_dolg_work_1_2

 

[walker@esc_z10_sleep_dolg_work_1_2]
path_walk = hourly_dolg_walk_2
path_look = hourly_dolg_look_2
def_state_standing = threat_danger
on_game_timer = 100|walker@esc_z10_sleep_dolg_work_1_3

 

[walker@esc_z10_sleep_dolg_work_1_3]
path_walk = hourly_dolg_walk
path_look = hourly_dolg_look
def_state_standing = guard
on_game_timer = 100|walker@esc_z10_sleep_dolg_work_1

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

 

Изменено пользователем x7321
Ссылка на комментарий

Здравствуйте. Подскажите, пожалуйста.

Есть смарт с настроенными работами и smart_control'ом, в нём несколько сквадов. Как по условию сделать один(!) сквад врагом для actora?

Если использовать функцию "set_squad_enemy_to_actor", то все сквады в смарте становятся врагами и включается тревога.

Изменено пользователем WinCap
Ссылка на комментарий

Я вас категорический. Такой вопрос, возможно ли реализовать выстрел дуплетом через конфиги? Или надо лезть в движок? Платформа: ЗП

Ссылка на комментарий
1 час назад, ФургонХиппиша сказал:

выстрел дуплетом через конфиги

можно было бы - давно сделали. ИМХО. 
однако я до сих пор нигде не видел такого.

- Пролетарии всех стран, соединяйтесь!

 

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

Когда НПС играют или начинают играть на музыкальных инструментах, то отказываются разговаривать. Есть ли фитча чтобы НПС не отказывались от разговора.

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

Народ, делаю мод на зп. и пустяковая случилась проблема, но непонятная. Хочу добавить новую сетку прицела на прицел SUSAT 1,6x, сделал текстуру вставил, вставил название и описание в ui как положено, но в игре при прицеливании синий экран. Не_могу понять, раньше проблем не возникало, может забыл что. Подскажите пожалуйста, я уже устал голову ломать. Кто делал много сеток прицелов в игре больше 2ух?

Изменено пользователем Опричник
правописание
Добавлено  Опричник,

Перемещено.

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

@Evgeny12, в двух файлах (scopes.xml,  scopes_16.xml) прописал?

AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64  Всяко-разное для Золотого Шара

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

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

Хмм... а всё-таки причём здесь TЧ-ная "ковырялка"? :az1000106:

Tут для вдумчивого ознакомления (урок 28).

 

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

Парни, подскажите, в ЗП реально как то заставить НПС попадать в аномалии (а не тупо сквозь них ходить)?
При беглом осмотре не нашёл как это сделать.

- Пролетарии всех стран, соединяйтесь!

 

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

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

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

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

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

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

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

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

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

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

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

AMK-Team.ru

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