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

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

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

Приветствую!
Дошла ли до нас *простых смертных* какая либо реализация лифта? А-то сколько видео была в ютубах, а что бы кто то выкладывал сие добро - не видел. Буду рад если подсобите любой инфой по этому поводу.

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

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

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@WizziGun, вот эти лифты делал я:   https://www.youtube.com/watch?v=M5daWjre5To , какие у тебя есть вопросы??

%C0%EA%E5%EB%EB%EE.gif

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Akello, мне интересна сама реализация. Это просто дин. объект с анимацией подъёма\спуска?

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

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@WizziGun, это динамический обьект,  делается анимация, а потом запуск по кнопке, либо anim_obj_forward, либо anim_obj_backward.

Там есть ещё команда "стоп", но я её не реализовывал.

@WizziGun, и самое глапвное, используй для создания лифта door_lab_x8

Изменено пользователем Akello
%C0%EA%E5%EB%EB%EE.gif

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще такой вопрос возник по-конфигам, как сделать, чтобы предмет не "стакался" в кучу, а был в инвентаре по-одному? Надо для скриптового предмета. 

Оц тоц перевертоц, бабушка здорова,
Оц тоц перевертоц кушает компот.
Оц тоц перевертоц и мечтает снова
Оц тоц перевертоц пережить налет!

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Shennondoah сказал:

чтобы предмет не "стакался" в кучу

Задать ему уникальное имя секции.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, WinCap сказал:

Задать ему уникальное имя секции.

Но есть одно но, их по-сюжету попадается 40+ и каждый дает рандомные предметы, в общем фичу пытаюсь реализовать, чтобы рюкзаки от тайников ГГ поднимал, потом распаковывал и рюкзак оставлял себе, для тайника, я устану клепать секции.

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

Оц тоц перевертоц, бабушка здорова,
Оц тоц перевертоц кушает компот.
Оц тоц перевертоц и мечтает снова
Оц тоц перевертоц пережить налет!

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Shennondoah, почти все, что тебе пришло в голову и даже то, что еще не пришло, уже в каком-нибудь моде сделано и работает. Зачем изобретать еще один велосипед? Возьми мод, где сделано нужное тебе, и посмотри, как оно сделано. Для поднимаемых рюкзаков никаких сорок тысяч секций не нужны. Удаляешь инвентарный ящик с визуалом рюкзака и спаунишь в инвентарь предмет, с иконкой рюкзака.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Люди, помощь нужна. Решил запустить сталкер на дискретной видюхе (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 с последним патчем - здесь (кликабельно) Правки для 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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

AMK-Team.ru

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