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

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

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

3 часа назад, Graff46 сказал:

Я начал адаптировать мод под ОГСР, упало много чего, понял некоторые вещи, но аи аддишн не поддался...

Скидывай в лс лог с вылетом и папку со скриптами - помогу чем смогу.
 

3 часа назад, Graff46 сказал:

Я могу в ОГСР в движке сделать смену времён года, (в окси сделал)

Странно читать от человека, который сделал смену времен года в движке, что он не может адаптировать какой-то там скрипт, да и:
 

3 часа назад, Graff46 сказал:

Я к 1.0007rc присматривался, но его в 17 студии не соберешь...

Перевести его в 2017 студию - пару часов работы.

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

Ребят, вот в рендере есть обычный RT – RenderTarget. А ещё в ТЧ был какой-то RTC, который с пришествием DX10 просто закомментировали и так и подписали: DX10 cut.

 

Кто может сказать, для чего был этот RTC?

OpenXRay – Ориентир на новое, с памятью о старом. © Collector.

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

Добрый день! Подскажите пожалуйста, в каких файлах движка можно сделать соответствие предмета к слоту в 1,6,02? Например, чтобы можно было добавлять нож в слот оружия? Насколько я понял всё находится в UIActorMenu.cpp, там есть след. функция разрешающая перемещение предметов в слоты:
 

bool CUIActorMenu::CanSetItemToList(PIItem item, CUIDragDropListEx* l, u16& ret_slot)
{
	u16 item_slot = item->BaseSlot();
	if( GetSlotList(item_slot)==l )
	{
		ret_slot	= item_slot;
		return		true;
	}
	if(item_slot==INV_SLOT_3 && l==m_pInventoryPistolList)
	{
		ret_slot	= INV_SLOT_2;
		return		true;
	}
	if(item_slot==INV_SLOT_2 && l==m_pInventoryAutomaticList)
	{
		ret_slot	= INV_SLOT_3;
		return		true;
	}
	return false;
}

как добавить допустим m_pInventoryKnifeList к слотам оружия
будет ли правильным, если я сделаю так?:
 

bool CUIActorMenu::CanSetItemToList(PIItem item, CUIDragDropListEx* l, u16& ret_slot)
{
	u16 item_slot = item->BaseSlot();
	if( GetSlotList(item_slot)==l )
	{
		ret_slot	= item_slot;
		return		true;
	}
	if(item_slot==INV_SLOT_3 && l==m_pInventoryPistolList && m_pInventoryKnifeList)
	{
		ret_slot	= INV_SLOT_2;
		return		true;
	}
	if(item_slot==INV_SLOT_2 && l==m_pInventoryAutomaticList && m_pInventoryKnifeList)
	{
		ret_slot	= INV_SLOT_3;
		return		true;
	}
	return false;
}

Я не особо разбираюсь в движке. Например, мне не ясно как движок видит предметы пригодные к слотам, по классам? как эти классы тогда вообще привязаны к переменным типа m_pInventoryKnifeList и тд. К сожалению пока мне это не ясно, но это  нужно для моего мода. Подскажите новичку что да как. Буду благодарен за ваши подсказки. Заранее спасибо.

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

Посмотри в bool CUIActorMenu::ToSlot(CUICellItem* itm, bool force_place, u16 slot_id)

 

вот это:

 

        if ( slot_id == PISTOL_SLOT && m_pActorInvOwner->inventory().CanPutInSlot(iitem, RIFLE_SLOT))
            return ToSlot(itm, force_place, RIFLE_SLOT);

        if ( slot_id == RIFLE_SLOT && m_pActorInvOwner->inventory().CanPutInSlot(iitem, PISTOL_SLOT))
            return ToSlot(itm, force_place, PISTOL_SLOT);

Изменено пользователем Zagolski
Ссылка на комментарий
В 24.06.2014 в 04:32, nikita_nz1986 сказал:

@Anonim, Да,держи,скинь в папку actors. ссылка нажми

Там из лост альфы и шокер мода

Анимы http://rusfolder.com/41050597

@nikita_nz1986, Всем ноги, нате, только не для всех костюмов http://rusfolder.com/41051321 Возможно ноги были и в свободном распространении ,как наркотики например,но я не видел и яндекс не помог.

Ставить с заменой.

За авторством K.D. &

X-Ray extensions  и все остальные, да простят меня все остальные ^_^

@-StalkMen-, Ты частично был прав ml.exe был,но путь был прописан неправильно.Спасибо .

 

@nikita_nz1986, Собрал в кучу я nikita_nz1986

 

У кого нибудь осталась?? Если да то пожалуйста дайте ссылку. Желательно только папку bin. За ранее спасибо :-)

Добавлено  Murarius,

Правила форума, п. 2.6 (оверквотинг)

Предупреждение.

Изучите правила цитирования (здесь).

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

6 ГБ ОЗУ DDR3 1098 мГц (Разносорт)

Процессор Intel Xeon E5420 4/4 2.5 ГГц

Видеокарта Gigabyte GeForce GT 240 512 МБ GDDR5 (Samsung) DirectX v10.1

 

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

Добрый день. Возник такой вопрос. Возможно ли использовать не экспортированные классы X-Ray в Lua-скриптах?. Например есть класс в движке CUIDragDropListEx. Я хочу на основе данного класса создавать объекты в Lua-скриптах. Возможно ли его как это экспортировать?(P.S. копал в сторону luabind, но ничего толкового не нашел)

Ссылка на комментарий
17 часов назад, WOLFDOG сказал:

Возможно ли его как это экспортировать?

Посмотреть, как экспортированы другие UI-классы, и сделать по образу и подобию - не ужели не пришла такая мысля ?

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

В ЗП(ЧН ?), при наведении курсора в инвентаре на оружие к примеру, на индикаторах параметров выделяется вторым цветом параметры оружия в слоте. Поделитесь, кому не сложно, фрагментами кода из исходников ЗП(ЧН ?), которые отвечают именно за отрисовку двух цветов в полоске индикатора. А то лень велосипед изобретать.

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

В xrGame\clsid_game.h регистрируются сеты типа

#define CLSID_DETECTOR_SIMPLE        MK_CLSID('D','_','S','I','M','D','E','T')

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

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

Нужно смотреть на регистрацию айтема (в движке object_factory_register.cpp или в скриптах class_registrator.script) и на имя скриптовое.

В данном случае имя 

    ADD(CSimpleDetector            ,CSE_ALifeItemDetector            ,CLSID_DETECTOR_SIMPLE            ,"device_detector_simple");

А проверить принадлежность можно так:

if obj:clsid() == clsid.device_detector_simple then
end

 

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

@lordmuzer

В разделе редактирования движка, вопрос относится к работе с кодом движка, а не к игровым скриптам.:az1000106:

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

my bad )

В движке как то так (инвентаре)

pIItem->object().CLS_ID == CLSID_DETECTOR_SIMPLE

 

ЗЫ: Или я снова не понял о чем ты )

Изменено пользователем lordmuzer
  • Согласен 1
Ссылка на комментарий
В чем может быть причина несоответствия CLSID прописанного в clsid_game.h и реального CLSID инвентарного объекта ?
Добавил новый инвентарный объект, все сделал по образу и подобию уже существующих, но CLSID получаемый в игре через pIItem->object().CLS_ID не соответствует прописанному в clsid_game.h.
Ссылка на комментарий

#include "Accumulator.h"
...

ADD(CAccumulator, CSE_ALifeItemAccumulator, CLSID_DEVICE_ACCUMULATOR, "device_accumulator");

ADD(CAccumulator, CSE_ALifeItemAccumulator, TEXT2CLSID("ACCUMUL"), "device_accumulator_s");

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

Ну вроде бы все так.

Айтем на классе ACCUMUL, потому сравнивать нужно будет с TEXT2CLSID("ACCUMUL")

Если что - можно проверить класс еще и в lua - должен быть device_accumulator_s

Ссылка на комментарий
3 часа назад, lordmuzer сказал:

можно проверить класс еще и в lua - должен быть device_accumulator_s

Проверил - все правильно...

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

Вот вам загадка. Каждые 1000 кадров происходит фриз на 0.2 сек. Проблема в движке, не в скриптах. В какой степи копать?

Изменено пользователем Zagolski
  • Полезно 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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