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

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


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

@CiberZold спасибо за пояснение! А есть метод, как с этим бороться? Или кнопки можно оставить только на x=0? Если есть какая-то лазейка, буду признателен за твою помощь.

"нᴀᴄᴛ᧐ящиʍ ʍ᧐дʍᴇйᴋᴇᴩ᧐ʍ ʍ᧐жᴇᴛ ᴄᴛᴀᴛь ᴛ᧐ᴧьᴋ᧐ ᴨ᧐иᴄᴛинᴇ ɸᴀнᴀᴛ ᴧюбиʍ᧐й иᴦᴩы." ©

xgeVogt.png

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

А есть метод, как с этим бороться?

а зачем бороться? поставь плюсовые координаты например 100, 100 и посмотри где у тебя кнопка, точнее область нажатия окажется и потом подгоняй её на свою текстуру кнопки на экране.

  • Согласен 1
Ссылка на комментарий
11 часов назад, CiberZold сказал:

поменяв в секции нужного нпс параметр биолог вид существа вместо species = human,

Мдаа... а теперь думаем, а где и для чего species используется. И на возможные последствия. И на цель наших телодвижений.

Хотим бессмертного NPC? Действуем.

 

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

@CiberZold Эхх... Так мне надо конкретно кнопку передвинуть максимально влево, чтобы она была на границе экрана (именно для этого я и юзал отрицательный x). В случае, если я указывают положительные координаты, кнопка просто уходит за экран с правой стороны. Я думал, что если указать больший x, то кнопка вытолкается слева, но такого не получилось. Она просто исчезает из поля зрения игрока. Есть какие-либо идеи или мой вопрос нереализуем?

"нᴀᴄᴛ᧐ящиʍ ʍ᧐дʍᴇйᴋᴇᴩ᧐ʍ ʍ᧐жᴇᴛ ᴄᴛᴀᴛь ᴛ᧐ᴧьᴋ᧐ ᴨ᧐иᴄᴛинᴇ ɸᴀнᴀᴛ ᴧюбиʍ᧐й иᴦᴩы." ©

xgeVogt.png

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

@Dalarcsis , в данном случае:

Скрытый текст
   <!-- родительский фрейм (окно) -->
    <!-- x,у,- его положение относительно 0,0 координат экрана -->
    <form x="415" y="168" width="560" height="460">
      <!-- смещение текстуры этого окна относительно его геометрической позиции -->
      <texture_offset x="..." y="..."/>
      <!-- сама текстура -->
      <texture>ui_menu_options_dlg</texture>
    ...
    <!-- положение всех дочерних элементов отсчитывается уже от этих координат "внутри" окна. -->
    <!-- вот тут и будем изменять их позицию -->
        <btn_load x="65" y="427" width="157" height="48">
            <texture>ui_button_main01</texture>
            <text font="graffiti22">ui_mm_load</text>
            <text_color>
                <e r="227" g="199" b="178"/> <t r="180" g="153" b="155"/> <d r="106" g="95" b="91"/> <h r="0" g="0" b="0"/>
            </text_color>
        </btn_load>
    ...    
    </form>

 

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

02.jpg

Соответственно, руководствуясь этим и действуем. Т.е., придётся для начала изменить положение родительского окна и его размеры относительно координат экрана, а потом уже настраивать положение элементов внутри него.

  • Спасибо 1
  • Нравится 1
  • Полезно 1
Ссылка на комментарий
5 часов назад, Dalarcsis сказал:

Так мне надо конкретно кнопку передвинуть максимально влево, чтобы она была на границе экрана (именно для этого я и юзал отрицательный x)

В движке сталкера, события элементов интерфейса передаются иерархически. Т.е. если какой-то элемент находится вне пределов своего родительского элемента, то реагировать на события мыши он не сможет.

Поэтому ЛЮБЫЕ элементы, для которых вы хотите сохранить возможность взаимодействия, надо сохранять в рамках их родительских элементов. Если у вас сам родительский фрейм слишком справа, то его и двигать влево, а не кнопку.

  • Полезно 3

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

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

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

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

Мдаа... а теперь думаем, а где и для чего species используется. И на возможные последствия. И на цель наших телодвижений

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

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

Ещё раз повторюсь: последствия "поигрулек" со species хорошо продуманы перед советованием? А то ведь у вас потом сейвы на Радаре "бьются".

  • Нравится 2
  • Полезно 2
Ссылка на комментарий
2 часа назад, Купер сказал:

последствия "поигрулек" со species хорошо продуманы перед советованием

так никто не призывает играться, это всё на свой страх и риск делается, пример с бессмертным нпс был чтоб показать как работает система дамага и брони в сталкере, потому что у меня возникли вопросы, почему один нпс сделанный на бессмертной секции в m_stalker становится смертным как ему поменять модельку, потому что в этой модельке секция в конфиге из models/capture, уже не ведёт на секцию с бессмертием что в папке creatures, при этом другой нпс у которого конфиг модельки не бессмертный, но я его не мог убить выпустив кучу пуль из автомата, а это уже потому что у него в species параметре стоял zombi, и у него игнорилась броня, то есть параметры models/capture, а брался имуннитет из конфигов, где иммунитет от огнестрела был очень низким, так я и разобрался, ковыряясь в файлах ТЧ, как собственно называется тема, так доступно объяснил?)

 

@Купер да если бы ты ещё объяснил какая связь с переводом нпс на species = zombie, и вылетами на Радаре, где так и так и монолитовцы и зомбированные уже самими ПЫСами отнесены к зомби по этому параметру, то было бы вообще прекрасно:biggrin:

Изменено пользователем CiberZold
Добавлено  Купер,

Вас слишком много с пересказыванием прописных истин.

Заметка изменена

  • Нравится 1
  • Жуть! 1
Ссылка на комментарий
19.11.2023 в 06:13, Купер сказал:

А то ведь у вас потом сейвы на Радаре "бьются".

В конфигах character_desc_ фиксить или в creatures? Не до конца понимаю что править, но нужно пофиксить:biggrin:

 

Создать новую секцию zombimob , добавить в таблицу и прописать отношения со всеми остальными в game_relations , и в конфигах в species для изломов и зомби (монстров) выставить zombimob ?

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

@Modz , оригинал статьи. Но выше в посте то же самое.

Да. По необходимости завести в species новый "подвид" для мутанта и настроить в game_relations для него отношения. В оригинале те же гражданские зомби, например, в игру не введены, поэтому проблема не заметна. В ранних модах мутанты добавлены, но с прежним значением. С учётом ограничений для них (см. выше) в итоге и имеем вот такую картину.

  • Полезно 2
Ссылка на комментарий
52 минуты назад, Купер сказал:

оригинал статьи.

если честно похоже на какой-то тезис высосанный из пальца особенно про хитовую память), только что проверил заспавнил непися со species = zombie, завалил его на глазах у зомбей, сохранился, спокойно загрузился, правда движок ОГСР, но в любом случае помню не один мод на оригинальном движке ТЧ, где убивал монолитовцев и рядом были зомби, никаких поломок сейовов не было, а значит это не косяк ПЫСов, а скорее косяк скриптеров OGSM, если только в их моде вылетает:)

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

Угум, экспресс-тест, да ещё и на кастомном движке - это, конечно, довод неоспоримый.

Память - вещь хорошая, разумеется. И что в каждом из этих модов предварительно проверялось озвученное? А косячили скриптеры много где: и Архаровцы, и ОП-цы, и OGSE-шники. Ну... это ладно. Момент и вопрос: как планируются отношения настраивать с другими NPC? Там ведь для зверья и "человечины" подходы отличаются.

Мир, дружба, жвачка. Расходимся на исходные.
 

Ссылка на комментарий
Скрытый текст
Expression    : fatal error
Function    : CInifile::r_section
File        :.\Xr_ini.cpp
Line        : 342
Description    : <no expression>
Arguments    : Can't open section 'ac'

Кто знает подскажите, кто такой "ac" ? 

Поиск ничего не даёт, вылет стабильный. Где что ковырял, все проверяю, там нет такого. 

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

@андрей дронав , сам вылет вроде бы faq-ный.

Но в данном случае прямой поиск по файлам не поможет. Где-то в качестве секции объекта прочитался/записался "мусор". Необязательно при этом что значение будет именно 'ac'.

Тут только обвешивать все возможные проблемные места логами и смотреть на месте, где это происходит.

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

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

Вставлю свои пять копеек - решил проблему методом перебора.

Была одна локация, поочерёдно удалял тип каких-то объектов, собирал спавн - смотрел остался ли вылет.

Так по типу: удалил все аномалии, смотрю в игре - вылет есть, и так дальше удаляю.

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

Чёрт пойми что.

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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

Здравствуйте, можно узнать как можно удалить проблемный объект в сталкере?
У меня происходит вот такой вылет в темной долине когда подхожу к базе Борова.

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

Expression    : vertex || show_restrictions(m_object)
Function      : CPatrolPathManager::select_point
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\patrol_path_manager.cpp
Line          : 155
Description   : any vertex in patrol path [val_sniper3_walk] in inaccessible for object [val_sniper3]

 

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

1. Это мод. Укажите версию.

2. Ошибка "нет пути" необязательно вызвана самим путем – может быть зависание апдейта ГГ и сбой в слабо предсказуемом месте, включая работавшую до этого логику перемещения NPC.

3. В целом, удалять так: alife():release( alife():object(id) ), где id – порядковый номер спавна объекта val_sniper3. Если на снайпера завязаны какие-то скрипты, будет вылет в другом месте.

  • Нравится 1

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

Шпаргалка

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

@Norman Eisenherz Мод на 1.0004, ТЧ+НС+ООП+Чернобыльский шахматист. Я забыл можно как-то удалять проблемные объекты через горячие клавиши в главном меню, как это можно сделать?

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

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

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

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

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

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

Войти

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

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

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