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

Редактирование движка X-Ray

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

ключи ТЧ

Я уже из движков всех частей выудил ключи, утилитой Strings.

Толку мне от части кода сырцов?

 

Тут проверять надо каждый в игре.

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

 

 

кода сырцов?
Так ноги ключей от туда растут. Это главный исполняемый файл. Остальные ключи - если есть (не исключаю), то это второстепенные.
  • Сомнительно 1

andreyholkin.gif

rod_cccp.gif

 

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

Требуется добавить новый класс в xrGame. Он должен сохранять\загружать значения нескольких своих переменных(при сохранении\загрузке сейвов) + иметь возможность менять значения переменных с течением игрового времени(типа CEntityCondition::UpdateConditionTime()\CEntityCondition::UpdateCondition()) + класс будет использован как один из родительских для некоторых инвентарных объектов. Подскажите, как правильно сделать ? Создать его с нуля, без наследования от какого либо родительского, или все-же наследовать от CGameObject ? Или от какого-то другого ?

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

@UnLoaded, имхо лепить новый обособленный инвентарный класс это верх дарвинизма. Почему бы не сделать на подобии предметов? А с  CGameObject он будет связан так или иначе, ибо в ином случае придётся под это много чего переписать и дописать.


Подарки

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

    Или от какого-то другого ?

    В основном UpdateCondition выполняется на главном апдейте CEntityAlive::shedule_Update. т.е. для Вашего класса , если Вы хотите использовать shedule_Update - Вам необходимо свой класс наследовать от CInventoryItemObject. CInventoryItem не имеет в предках CObject и не подходит для Вашей задачи.

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

    Извините, может не в тему но мне очень нужна помощь.

    Скачал готовую сборку вот от сюда http://www.amk-team.ru/forum/topic/13405-gotovye-sborki-7-patcha/?p=1060381, тот кто выложил, мне не чего толком не сказал но может вы с чем то подобным уже встречались.

    После установки выявились две странности:

    1. При запуске игры появляется окно в котором говорится что мол - устаревший dbghelp.dll (5.1.2600.2180) требуется удалить, почему? Что это за либа, за что она отвечает?

    Ладно, щелкнул ок, игра запустилась, но это ведь пороховая бочка под полящим солнцем, чёрт его знает во что выльется сия фигня, понимаете да?

    2. Попробовал поставить понорамик мод: на середине загрузки уровня (при начале новой игры) выскакивает такая муть:https://yadi.sk/i/I1Zhu2eW3Bj4v3посмотрел лог да он по моему пуст:https://yadi.sk/i/yqQ-hPdv3Bj6ET

    Я в первый раз имею дело с правлеными движками, низнаю что и думать, вы тут люди знающие - может что подскажите.

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

     Моя нычкаНычка в арендованном у Опричника холодильнике  

    Мы хорошие ребята, жаль патронов маловато:):ukostra:

    UriZzz.gif

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

    1. При запуске игры появляется окно в котором говорится что мол - устаревший dbghelp.dll (5.1.2600.2180) требуется удалить, почему? Что это за либа, за что она отвечает?

    Ладно, щелкнул ок, игра запустилась, но это ведь пороховая бочка под полящим солнцем, чёрт его знает во что выльется сия фигня, понимаете да?

     

    Вроде для minidumps юзается, в общем, не обязательный компонент.

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

    @krop,чтож если мишать не будет я закрою глаза на сию фигню но вот что интересно: либа эта находится в папке bin, я её переместил в другое место и попробовал запустить игру, окно с сообщением о этой либе никуда не делось о_О мистика?

    А по второй проблеме? Я пока ещё слабо разбираюсь в бинд сталкере, выходит нужно что-то адаптировать? Где там могут быть проблемы, ведь атмосферик аддон на чистую игру ставился?

    А по второй проблеме? Я пока ещё слабо разбираюсь в бинд сталкере, выходит нужно что-то адаптировать? Где там могут быть проблемы, ведь атмосферик аддон на чистую игру ставился?

     

    У меня есть смутные подозрения: а не связано это с сменой версии игры? Ведь после установки сборки, в главном меню внизу стоит 1.0007rc1.

     Моя нычкаНычка в арендованном у Опричника холодильнике  

    Мы хорошие ребята, жаль патронов маловато:):ukostra:

    UriZzz.gif

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

    Непонятка у меня с методами UPDATE_Read\UPDATE_Write, прошу раъяснения. Собственно дело в чем: для фонарика прописал в CSE_ALifeItemTorch новую переменную. В конструкторе класса инициализирую ее дефолтным значением. После создания объекта, у него первым вызывается метод CSE_ALifeItemTorch::UPDATE_Write, и там эта переменная записывается в нет-пакет, и следовательно она в дальнейшем имеет дефолтное значение. Добавил по такому-же принципу переменную в CSE_ALifeObjectHangingLamp, но там почему-то все оказалось наоборот: первым, после создания объекта вызывается CSE_ALifeObjectHangingLamp::UPDATE_Read, соответственно из нет-пакета читается пустое значение, которое затирает дефолтное значение переменной. Оно понятно, что фонарик объект инвентарный, а лампа - физический, но почему-же так наоборот-то все ? И как сделать тогда для ламп инит\сохранение переменной на подобии как у фонарика ?

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

    Уважаемые знающие, а какой элемент отвечает в движке за рисование анимации приседания? как сделать более "плавное" приседание? для ТЧ
     

    void CActor::g_cl_CheckControls(u32 mstate_wf, Fvector &vControlAccel, float &Jump, float dt)
    ...skip...
    if (isActorAccelerated(mstate_wf, IsZoomAimingMode()))
    {
         Crouched = character_physics_support()->movement()->ActivateBoxDynamic(1);
    }
    ...skip...
    

    Вот собственно "присели", но какие бы параметры я в ActivateBoxDynamic не передавал - "плавности" не добавляется... 
    Спасибо за Ваши советы!

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

     

     

    но какие бы параметры я в ActivateBoxDynamic не передавал - "плавности" не добавляется... 

    Чисто, логика: если ни чего не меняется - может не там меняешь ?

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

     

     

    Чисто, логика: если ни чего не меняется - может не там меняешь ?
    ActivateBoxDynamic - в нем происходит какая то магия с физическими координатами тела. я ж не против, что не там. а где там?
    Ссылка на комментарий

    Привет всем, у меня нубо вопрос, хочу убрать из загрузки движком dx10 рендер в ЧН но при удалении строк xrRender_R3.dll или render_renderer r3 из файла xrEngine.exe последний перестает запускаться, сбрасывая ярлык, пользуюсь программой Hex Editor Neo.

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

    @DoK74rus, такой вырезкой там не обойтись. Нужно тонкое вырезание всего кода, завязанного на том рендере. Можешь попытаться сравнить с исходниками ТЧ и посмотреть где что добавлено

    Изменено пользователем User_X.A.R26
    Ссылка на комментарий
    DoK74rus, обычно статику вырезают, а тот вон оно как)

    ---

    Кто разбирался с детекторами в ЗП/ЧН?

    if(m_artefacts.m_ItemInfos.size()==0)	return;
    

    Вот где этот лист формируется и наполняется артефактами? Никак не могу понять.

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

    @Kondr48, в CCustomDetector::Load(LPCSTR section)

    m_artefacts.load		(section, "af"); 
    
    • Спасибо 1
    Ссылка на комментарий

    Вот и именно здесь что-то идёт не так.

    Из метода load:

    shared_str item_sect	= pSettings->r_string(sect,temp);
    

    Как я понял, здесь item_sect должен быть значением ключа af_class_1 и т.д.

    Ну то есть:

    af_class_1		= af_cristall
    

    Получается, item_sect == "af_cristall"?

    Если я выведу на этом моменте в лог это значение:

    Msg("Видимо секция: %s", item_sect);
    

    то в лог падают бессмысленные буквы (чаще всего "X" или "Y")

    Опытным путём выяснил, что наиболее вероятно shared_str это же не строка? (Ну да, с C++ у меня сильно не очень :) ) Потому некорректно выводится.

    Потому как 

    LPCSTR item_sect	= pSettings->r_string(sect,temp);
    

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

    virtual void	load				(LPCSTR sect, LPCSTR prefix)
    	{
    		u32 i					= 1;
    		string256				temp;
    		do{
    			sprintf			(temp, "%s_class_%d", prefix, i);
    			if(pSettings->line_exist(sect,temp))
    			{
    				shared_str item_sect	= pSettings->r_string(sect,temp);
    				
    				m_TypesMap.insert		(std::make_pair(item_sect, ITEM_TYPE()));
    				ITEM_TYPE& item_type	= m_TypesMap[item_sect];
    				
    				sprintf				(temp, "%s_freq_%d", prefix, i);
    				item_type.freq			= pSettings->r_fvector2(sect,temp);
    
    				sprintf				(temp, "%s_sound_%d_", prefix, i);
    				HUD_SOUND::LoadSound	(sect, temp	,item_type.detect_snds		, SOUND_TYPE_ITEM);
    
    				++i;
    			}else 
    				break;
    
    		} while(true);
    	} 

     

     

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

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

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

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

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

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

    Войти

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

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

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

    AMK-Team.ru

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