abramcumner 1 157 Опубликовано 29 Октября 2015 Поделиться Опубликовано 29 Октября 2015 0023:0835392D xrRender_R4.dll [error][ 298] : Слишком много попыток занесения события для семафора. На все эти описания можно смело забивать - это выводится результат работы последней вызванной WinApi функции. Движок при своей работе не вызывает winapi. Конкретно эта ошибка вообще могла остаться еще со старта игры от проверки запуска нескольких копий. 2 2 Ссылка на комментарий
AzzzA 4 Опубликовано 29 Октября 2015 Поделиться Опубликовано 29 Октября 2015 Кто-нибудь пытался восстановить блудмарки? Ссылка на комментарий
DDamian724 18 Опубликовано 3 Ноября 2015 Поделиться Опубликовано 3 Ноября 2015 Это можно играть anim_moving анимации в STALKER SOC? Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 4 Ноября 2015 Поделиться Опубликовано 4 Ноября 2015 (изменено) Гм, а может кто-нибудь, у кого все под руками, глянет, как именно, по каким условиям, неписи забывают своего best_enemy() ? Ну и best_danger() ? в смысле, не просто поменять одного на другого, а вообще забыть ? Или "какой-нибудь враг найдется всегда" ? Изменено 4 Ноября 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Старлей 88 Опубликовано 4 Ноября 2015 Поделиться Опубликовано 4 Ноября 2015 Товарищи, подскажите пожалуйста, может кто уже делал правку или знает где править, чтобы получить динамический граф диалогов, а не нынешний, который строится только один раз. Подробное изложение вопроса: Здесь идет считывание <phrase_list> или <init_func>. void CPhraseDialog::load_shared (LPCSTR) ... //заполнить граф диалога фразами data()->m_PhraseGraph.clear(); XML_NODE* phrase_list_node = pXML->NavigateToNode(dialog_node, "phrase_list", 0); if(NULL == phrase_list_node){ LPCSTR func = pXML->Read(dialog_node, "init_func", 0, ""); luabind::functor<void> lua_function; bool functor_exists = ai().script_engine().functor(func ,lua_function); THROW3(functor_exists, "Cannot find precondition", func); lua_function (this); return; } ... Вызывается эта функцию отсюда: void CPhraseDialog::Load(shared_str dialog_id) { m_DialogId = dialog_id; inherited_shared::load_shared(m_DialogId, NULL); } Эта в свою очередь отсюда: bool CPhraseDialogManager::AddAvailableDialog(shared_str dialog_id, CPhraseDialogManager* partner) { // PHRASE_DIALOG_INDEX dialog_index = CPhraseDialog::IdToIndex(dialog_id); if(std::find(m_CheckedDialogs.begin(), m_CheckedDialogs.end(), dialog_id) != m_CheckedDialogs.end()) return false; m_CheckedDialogs.push_back(dialog_id); DIALOG_SHARED_PTR phrase_dialog(xr_new<CPhraseDialog>()); phrase_dialog->Load(dialog_id); ... Она в свою очередь: void CActor::UpdateAvailableDialogs (CPhraseDialogManager* partner) Могу и далее расписать стек вызовов, но смысла не вижу, т.к. сам ничего не нашел... Суть в том что, граф фраз строится один раз, и дальше обновляются все фразы в этом графе на доступность для произношения. Вопрос: Каким образом можно обновлять и граф фраз? Ray Of Hope - кооператив сталкера OldStory Ссылка на комментарий
Карлан 1 049 Опубликовано 4 Ноября 2015 Поделиться Опубликовано 4 Ноября 2015 (изменено) @Старлей, я класс написал для динамического построения диалога и фраз, который, к слову, слабо пересекается с тем что есть, так как стандартный вариант диалогов слабо пригоден для этих целей (насколько я помню там довольно трудно вклиниваться в то что есть, если вообще возможно (опять же разумеется без перелопачивания всего что есть)). Разберись с интерфейсами, там не сказать что сильно сложно. А так смотри, можешь написать обработку m_PhraseGraph, но задача довольно не тривиальна, так как в графах диалога сложные массивы, явно работать как с простым вектором не выйдет. Еще также замечу, что можно сделать на скриптах, у меня это есть в планах и делается, но там будет несколько уже возможность применения, то есть на ходу активный диалог выстраивать будет нельзя, но тем не менее в игре можно будет добавлять свои диалоги и сохранять так же во внешних файлах. Изменено 5 Ноября 2015 пользователем Карлан Ссылка на комментарий
Стрелоk 14 Опубликовано 7 Ноября 2015 Поделиться Опубликовано 7 Ноября 2015 Всем привет. В ЗП у ПДА есть такая возможность - если закрыть его и открыть снова, то будет открыта последняя вкладка. Что именно отвечает за это? И вопрос вдогонку - как принудительно активировать определенную вкладку? К20 Ссылка на комментарий
Graff46 598 Опубликовано 7 Ноября 2015 Поделиться Опубликовано 7 Ноября 2015 Всем привет, я тут на просторах интернета нашел статейку повествующую о некотором билде Метро 2033 заделаном на модифицированном X-Ray'ее, даже ссылка на билд есть и есть. Интересно из него можно что полезного получить? 1 Ссылка на комментарий
Expropriator 2 118 Опубликовано 8 Ноября 2015 Поделиться Опубликовано 8 Ноября 2015 @Graff46, интересно. Какой то гибрид движков - и сталкер и не сталкер. Посмотрим на досуге. Ссылка на комментарий
Graff46 598 Опубликовано 8 Ноября 2015 Поделиться Опубликовано 8 Ноября 2015 @Дизель, Я сам архив с билдом не качал, но просматривал его содержимое на Яндекс диске, структура файлов в папке content аналогична геймдате в сталкере, только в папке anims есть неизвестные мне файлы с форматом *trk Ссылка на комментарий
Earth2Space 305 Опубликовано 8 Ноября 2015 Поделиться Опубликовано 8 Ноября 2015 @Graff46, его уже давным давно расковыряли. Ничего такого там нет. 1 2 Ссылка на комментарий
HESH 64 Опубликовано 8 Ноября 2015 Поделиться Опубликовано 8 Ноября 2015 @Дизель, это не микс, это почти чистый X-Ray, приблизительно между 1.0007 и 1.5. Так сказать, 1.3. Даже эффекты почти совпадают. Солидарен с @Earth2Space - там нет ничего интересного. Добавлено RayTwitty, 10 Ноября 2015 Движок метро имеет очень отдаленное отношение к сталкерскому, говорить что это "почти чистый х-рей" в корне неправильно. 2 Ссылка на комментарий
Стрелоk 14 Опубликовано 9 Ноября 2015 Поделиться Опубликовано 9 Ноября 2015 Всем привет. В ЗП у ПДА есть такая возможность - если закрыть его и открыть снова, то будет открыта последняя вкладка. Что именно отвечает за это? И вопрос вдогонку - как принудительно активировать определенную вкладку? Вопрос закрыл. За это отвечает проверка if ( !m_pActiveDialog ) в UIPdaWnd.cpp 2 К20 Ссылка на комментарий
Graff46 598 Опубликовано 14 Ноября 2015 Поделиться Опубликовано 14 Ноября 2015 (изменено) Такой вопрос у меня появился. Известно, что X-RAY считывает некоторые ресурсы (XML, текстуры и др.) в самом начале запуска программы (когда мы видим заставки), а некоторые другие ресурсы при загрузке уровня. Так вот если, мы хотим изменить некоторые ресурсы или их параметры в "горячем режиме" (во время "работы" игры) которые прогружаються с запуском программы, то что бы увидеть изменения в игре нам понадобиться полностью выйти из игры и зайти снова притом всякие действия вида: vid_restart 1 или перезагрузка локации нам не помогут. Возможно ли движковыми правками сделать перечитывание игрой оных ресурсов не выходя из игры, например скриптовой ф-цией (и) или консольной командой? если руки прямые. Вот в этом главная проблема... Изменено 14 Ноября 2015 пользователем Graff46 Добавлено RayTwitty, 14 Ноября 2015 Ну текстуры перезагружать научились ведь, так что остальное тоже можно, если руки прямые. 1 Ссылка на комментарий
Карлан 1 049 Опубликовано 14 Ноября 2015 Поделиться Опубликовано 14 Ноября 2015 @Graff46, да, вполне возможно, и скорость кстати говоря выше ожидаемой, я себе сделал несколько функций которые перегружает и ltx и xml, местами сделал нормально, но что-бы все сделать по хорошему надо там подольше посидеть, а мне без острой надобности пока. Я тут, к примеру, когда-то писал о пространстве для работы со строками, которое я себе добавил, вот по аналогии можно с чем угодно поступить в подобном роде. Но в некоторых местах это будет весьма нетривиальное занятие. вот тут кое-что можно прочесть http://pastebin.com/dXjwaFLv, в принципе по вектору развития не много прибавилось, сейчас в основном работаю над оптимизацией того что есть, то есть убираю все уродские скриптовые костыли с помощью движка, количество ВСЕХ скриптов уже сейчас меньше чем в среднестатистическом глобальнике, то есть вся обвязка уже достаточно ясно видна, хоть и есть еще около 10 кандидатов на ликвидацию . Ссылка на комментарий
Это популярное сообщение. SkyLoader 53 Опубликовано 15 Ноября 2015 Это популярное сообщение. Поделиться Опубликовано 15 Ноября 2015 Кому интересно, нашел некоторые ошибки оригинала, которые удалось пофиксить: Не работает вертикальная синхронизация [ТЧ, ЧН, ЗП] Из-за этой проблемы у некоторых людей горели видеокарты, так как не было ограничения кадров в игре. У Лохотрона, например, так сгорело две видюхи, т.к. в меню выдавало аж 6000 кадров в секунду. Для DX9 это фиксится в файле HW.cpp: DevPP.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; и P.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; меняются на: DevPP.PresentationInterval = selectPresentInterval(); и соответственно P.PresentationInterval = selectPresentInterval(); Для DX10/11 в dxRenderDeviceRender.cpp: HW.m_pSwapChain->Present( 0, 0); Добавляем проверку на включение вертикальной синхронизации: HW.m_pSwapChain->Present(psDeviceFlags.test(rsVSync) ? 1 : 0, 0); Эффектор перезарядки срабатывает не каждый раз [ЗП] Ну тут всё просто, просто перезапускаем активный эффектор. Заходим в player_hud.cpp, находим строки 380-381: if(NULL==ec) { Эти две строки с закрывающейся скобкой удаляем. Вместо этого вставляем: if(ec) current_actor->Cameras().RemoveCamEffector(eCEWeaponAction); Теперь эффектор работает при каждой перезарядке. Очень странный вылет [ТЧ, ЧН, ЗП] Данная проблема была в свое в ЛА еще в 2013 году, и я очень долго не мог найти причину вылета, так как вылет каждый раз ссылался на разные некорректные по его мнению объекты. Причем возникал не всегда и можно было его поймать только при выходе из игры. Спустя несколько месяцев чудом проблема была найдена. Оказывается, проблема была в лампочках, которые включались и выключались скриптово. Игра ловила крэш при 255 и более включении и выключении лампочки. Фиксится в HangingLamp.cpp в строках: } if(!PPhysicsShell())//if we have physiccs_shell it will call processing deactivate when disable processing_deactivate (); Удаляем if(!PPhysicsShell()), теперь processing_deactivate(); будет срабатывать всегда, как и должен, и мы можем включать и выключать лампочки сколько угодно раз. Причину бага с глитчами камеры в ЗП я так найти не смог. Может кто находил причину? Проверить баг просто: перезаряжаемся и стрефимся. При одном активном эффекторе, окончание второго эффектора глитчит камеру. 6 Ссылка на комментарий
Карлан 1 049 Опубликовано 15 Ноября 2015 Поделиться Опубликовано 15 Ноября 2015 Причину бага с глитчами камеры в ЗП я так найти не смог. Такова селяви. И глитчится она, к слову, не только при перезарядке, это если тебе скажут еще к чему-нибудь ее прикрутить . Ссылка на комментарий
SkyLoader 53 Опубликовано 15 Ноября 2015 Поделиться Опубликовано 15 Ноября 2015 И глитчится она, к слову, не только при перезарядке, это если тебе скажут еще к чему-нибудь ее прикрутить Баг происходит, когда заканчивается один эффектор при активности другого. Т.е. если минимум два эффектора активны. Ссылка на комментарий
Карлан 1 049 Опубликовано 15 Ноября 2015 Поделиться Опубликовано 15 Ноября 2015 Я стесняюсь спросить о напрашивающемся выводе. В своем время поимел дивных впечатлений от этих камэффектов которые глитчили камеру так что было ощущение что я в аномалию попал. Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 15 Ноября 2015 Поделиться Опубликовано 15 Ноября 2015 Проверить баг просто: перезаряжаемся и стрефимся Да уже поднадоело это передёргивание камеры при перезарядке. Может и вправду уже кто-то исправил? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти