S.T.A.L.K.E.R.: Global War <<<>>> Инструмент - теперь и для ТЧ! <<<>>> NS OGSR: Сборка от 30.12.2023
-
Число публикаций
147 -
Регистрация
-
Последнее посещение
-
AMKoin
3,914 [Подарить AMKoin]
Сообщения опубликованы ARTLantist
-
-
Ищу модели зомбированных учёных для ЗП (можно и для ТЧ, сам перенесу на ЗП, в принципе).
-
Ищу исходники движка AtmosFear 3, для ЗП, если такие имеются. Там правлены библиотеки рендера, хотелось бы тоже в них поковыряться, но боюсь могут ошибки вылезти из-за несовместимости.
-
В общем, наклепал вот такой код:
Скрытый текстvoid CUIRelationsWnd::Init() { CUIXml xml; xml.Load (CONFIG_PATH, UI_PATH, PDA_RELATIONS_XML); VERIFY (hint_wnd); CUIXmlInit::InitWindow (xml, "main_wnd", 0, this); m_background = UIHelper::CreateFrameWindow(xml, "background", this); m_btn_to_text = UIHelper::Create3tButton( xml, "btn_to_text", this ); AddCallback (m_btn_to_text, BUTTON_CLICKED, CUIWndCallback::void_function(this, &CUIRelationsWnd::Button_clicked)); m_tab = UIHelper::CreateStatic(xml, "tab", this); m_tab_caption = UIHelper::CreateStatic(xml, "tab:caption", m_tab); u32 c_width = 65; u32 c_height = 35; Fvector2 ipos; ipos.x = 45; Fvector2 kpos; for ( u32 i = 0; i < 10; ++i ) { ipos.x = ipos.x + c_width; CUITextWnd* iobj = UIHelper::CreateTextWnd(xml,"tab:faction",m_tab); ipos.y = 65; iobj->SetWndPos(ipos); iobj->SetText(CStringTable().translate(communities[i]).c_str()); ipos.y = 60; for ( u32 k = 0; k < 10; ++k ) { ipos.y = ipos.y + c_height; if (i == 1) { CUITextWnd* kobj = UIHelper::CreateTextWnd( xml, "tab:faction", m_tab ); kpos = ipos; kpos.x = kpos.x-5-(c_width*2); kobj->SetWndPos(kpos); if (k > 0) kobj->SetText(CStringTable().translate(communities[k]).c_str()); else kobj->SetText(CStringTable().translate("ui_st_reputation").c_str()); } m_relations[i][k] = UIHelper::CreateTextWnd( xml,"tab:cell",m_tab); m_relations[i][k] ->SetWndPos(ipos); } } }
но почему-то из-за него происходит следующее: первый раз игра запускается и загружается норм, но при закрытии игры происходит вылет. После этого вылета появляется вылет при загрузке игры. После второго вылета всё вновь норм загружается, и так по кругу. Лог таков:
Скрытый текстstack trace:
0023:00B7AFCF xrCore.dll, xrMemory::mem_alloc()
0023:04971725 xrXMLParser.dll, CXml::correct_file_name()
[error][ 8] : Недостаточно ресурсов памяти для обработки этой команды.Так понимаю - вылет по памяти. Мб можно как-то скомпановать этот код, или исправить что-то. Потому что происходят такие себе дела
-
@naxac ну я сделал её, добавил в неё текст, но он обрывается, когда заканчивается "место".
Так, с этим разобрался, надо было просто увеличить высоту доступного места. Отсюда исходит вопрос - как получить размер, который займёт текст, чтобы подогнать его под него? У меня просто текст "динамический" - постоянно нужно менять, и всегда разные размеры. Когда-то влезает в рамки, а когда-то нет.
-
Как сделать, чтобы текст на интерфейсе был только в определённых рамках (которые я задал), и, если его много, его можно было прокручивать. Но чтобы не вылезал за рамки. Что надо прописать в конфиге этого текста?
-
@AndreySol не знаю, я на 10-ке на диск Х устанавливал СДК по "инструкции" и он бесперебойно работает🤔
@WinCap та костёр вообще никакую логику не воспринимает, он же рестриктор, пишу ему логику рестриктора (для теста вывод сообщения по событию actor_inside (не помню щас дословно название в логике)), но ему всё равно
@AndreySol короче, создал невидимый объект на основе моделей в equipment_cache (которые для inventory_box), так будет проще, как по мне. Подогнал размер под костры. Буду расставлять в каждом костре и логику прописывать соответствующую.
-
@AndreySol не знаю, покопался в движке, parent класса костра - класс CSpaceRestrictor, у которого parent в свою очередь CGameObject, а у него среди парентов есть и CUsableScriptObject (вроде так), который и даёт возможность вызова коллбека use и выставлять надписи методом set_tip_text. Однако для ВСЕХ рестрикторов эти методы ничего не дают. Почему - пока не разобрался... Мб костыли какие-то придётся делать, заменять все объекты (именно объекты) костров в СДК на спавн элементы с их моделями и им логику прописывать... Но это все локации перекомпилировать🤔 Не очень большое желание что-то делать так.
-
@AndreySol в конфигах или в движке?
-
Как можно погасить огонь керосиновой лампы? С костром понятно - там скриптами. А у керосинки как это работает?
-
Как добавить костру надпись и сделать действия при нажатии клавиши действия? Пытался поставить скриптом надпись через self.object:set_tip_text, и вызывать коллбэк self.object:set_callback(callback.use_object, self.use_campfire, self), но ничего не вышло, костёр как не реагировал, так и не реагирует. Я так понял, это фишка рестрикторов. Хотелось бы сделать зажигание не через использование предмета рядом с костром, а через взаимодействие с самим костром
-
Как сделать для НПС систему лута тайников/монстров/зажигания костров? Не особо что-то получается разобраться в оригинальном xr_corpse_detection.script. Как именно находится цель для НПС, и как его туда направить для дальнейших действий с этой целью? Мб кто подскажет, или есть какие посты на эту тему, не могу найти...
-
Есть у кого-нибудь схемы лута ящиков и разжигания костров неписями для ЗП? Или мб какая-нибудь статья где-то есть, посвящённая подобным темам. А то самому ума немного не хватает до конца разобраться со всем тем, что есть в xr_corpse_detection, чтобы по аналогии составлять скрипты для лута ящиков и т.д.
-
Возможно, пишу не в ту тему, если это так, то направьте в нужную.
Делал локу в 3D Max, сделал, начал экспортировать модели. Все экспортировались нормально, а сам террейн при открытии в Actor editor или Level editor выдаёт ошибку:
Expression : OBJ
Function : X:\stalker_addon\sources\trunk\editors\ECore\Editor\EditObjectIO.cpp
File : X:\stalker_addon\sources\trunk\editors\ECore\Editor\EditObjectIO.cpp
Line : 26
Description : Corrupted file.
Я так понимаю, файл модели "ломается", но из-за чего? Одной и той же кнопкой экспортирую, все модели норм, а эта нет.
-
А есть где-то на просторах интернета/форумов "пособие" по скриптовым настройкам диалогов? Т.е. то, как например реализованы рандомные фразы у НПС в оригинале (истории, про работу и т.п., которые настраиваются в dialog_manager.script). Т.е. то, как добавлять эти диалоги НПС и актору скриптами. Вроде когда-то видел, но точно не помню, а поисковики выдают только обычные диалоги. Желательно для ЗП, если там вообще есть разница в функциях
@Seraph Прописывай логику для всех НПС в смарте (в том числе для дефолтов), ставь, к примеру, таймер, или условие через xr_condition.script, и по достижению поставленной цели (условие или таймер), переключай логику на другую работу. Для разных работ ночью и днём, используй в suitable функцию is_day.
-
Всем привет. Движок ЗП.
1. Почему-то при закидывании в мод файла xrEngine.exe из моих исходников столкнулся с проблемой: при вылете игра не закрывается. Тупо зависает и всё, хоть что с ней делай, лечится только выходом из системы/перезагрузкой компа. Очень неудобно, да и не должно быть так, на лицензии у меня всегда вылеты нормально отрабатывали, всё закрывалось. В исходниках экзешника пока что ничего не менял
2. Как редактировать параметры "100 советов по выживанию в зоне" на загрузочном экране? В конфигах чёт нигде нет их параметров, как и параметров самого ЗЭ. После замены текстуры ЗЭ текст стал сливаться, надо бы изменить цвет, да и хотелось бы убрать надпись "100 советов...", и оставить только сами советы. Копался в x_ray.cpp, докопался лишь до инициализации выбора этих советов, но до их параметров чёт не докопался...
-
1 минуту назад, WolfHeart сказал:
в SDK LA она есть
А как потом конвертировать её для СДК 0.7?
-
Всем привет! У кого-нибудь есть исходники локации Завод "Росток" из билдов? Желательно версия из ЛА, которая "la14_rostok_factory", и для ЗП. А то декомпил локации выдаёт 6к моделей, и СДК ни в какую не запускается из-за огромного количества моделей.
-
Так что всё-таки делать с данным вылетом? Как исправить раздвигающиеся двери?
[error]Expression : assertion failed
[error]Function : doors::door::door
[error]File : .\doors_door.cpp
[error]Line : 36
[error]Description : m_object.get_door_vectors( m_closed_vector, m_open_vector )Нашёл немало вопросов на разных форумах, в том числе здесь, но решения так и не нашёл.
-
Вылет при загрузке сохранения (любого):
[error]Expression : !m_error_code
[error]Function : raii_guard::~raii_guard
[error]File : ..\xrServerEntities\script_storage.cpp
[error]Line : 748
[error]Description : pure virtual function called
О чём говорит эта ошибка? Я не знаю, на каком этапе этот вылет появился, только сейчас заметил.
-
@WinCap да, я уже просмотрел это всё в движке, там всё норм, по стандарту. Детектор может активироваться только при отсутствии в руках оружия, или при активном слоте болта/ножа, ну или идёт активация слота с доступным оружием (болта, ножа, ствола с базовым слотом пистолетным). Но чёт нифига не пашет.
@WinCap сталкер не перестаёт удивлять
Болт достаётся с детектором только если положить что-то в любой слот. Неважно, до того, как положишь детектор в его слот, или после. А без этого ГГ не может научиться доставать их совместно.
причём только при первом заходе в игру и первой НИ. Если закинул что-то в слот, то потом всегда всё будет нормально работать, и при перезаходе в игру и запуске сохранения, и при новой игре не перезаходя в игру.
-
@Купер вроде оно, но чёт оно не работает. И при 0 и при 1 детектор не достаётся, а болт убирается. С пистолетами ещё "печальнее" - детектор тупо не достаётся, а пистолет и не убирается, как будто запрещено вообще использовать.
-
где находятся строки в конфигах, которые отвечают за то, чтобы можно было с детектором использовать болты и пистолеты. Давно ещё качал оружейный пак, в котором была убрана возможность таскать детектор и пистолет одновременно, и вот она походу до сих пор осталась, хотя оружейка давно изменена. Даже с болтом нельзя доставать детектор. После пары прокликиваний "6-О-6-О" вылет идёт без лога.
P.S. в движке для детекторов всё по стандарту, поэтому эта строчка точно должна быть в конфигах. -
Как можно скриптово накинуть радиацию на ГГ со звуком счётчика Гейгера? Тип как накинуть-то понятно, но хочется, чтобы это сопровождалось трещанием, а не проходило бесшумно...
-
ЗП
Как проверить, что заданные мною координаты не находятся внутри space restrictor?
Скриптование
в Скрипты / конфиги / движок
Опубликовано
Обнаружил такую недоработку в оригинале ЗП. Если скриптом воспроизводить звуки, то второй (и последующие) не воспроизведутся, пока не пройдёт предыдущий, и какая-то задержка в пару секунд... Это можно как-то пофиксить?