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

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

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

ну я пришёл к такому решению так: как происходит спавн предметов у ГГ? Я думал сначала что это spawn_supplies, но нет - правильный ответ add_online. Базовая функция прописана в двух серверных классах: alife_trader_abstract и alife_dynamic_object, все остальные всего лишь наследуют эту функцию. Для исправления нужно в цикл добавить проверку на наличие дочерних элементов у дочернего элемента и вызвать эту же функцию для него) Ещё стоит дополнить и add_offline, но не уверен что нужно.

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

[outfit_stalker_m1]:stalker_outfit	;Комбинезон призрачного сталкера
$spawn							= "outfit\uniq\outfit_stalker_m1"
inv_name						= stalker_outfit_name_m1
inv_name_short					= stalker_outfit_name_m1
description						= stalker_outfit_description_m1
health_restore_speed			= 0.0006
inv_grid_x						= 16
inv_grid_y						= 24

Я правильно понимаю, это фейк? В ТЧ движок не читает подобные параметры, по крайней мере в CustonOutfit я их не увидел, может не туда смотрю?

--

health_restore_speed            = 0.0006 имеется ввиду. Почему то в коде нельзя выделять жирным.

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

@Kondr48, в оригинале ТЧ их там нет, разумеется они бесполезны. Добавить их - дело нескольких минут.

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

 

Карлан, да это я уже сделал, согласен, легко. Достаточно посмотреть как действуют такие параметры у артефактов и по аналогии сделать для брони. Просто сначала думал может все-таки где-то они вызывались, потому как не вижу смысла делать неработающие уники  :) .

 

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

Как можно вызвать функцию (метод?) из другого класса?

void CInventory::MoveArtefactsToBag()
{
	while ( m_pUIBeltList->ItemsCount() )
	{
		CUICellItem* ci = m_pUIBeltList->GetItemIdx(0);
		VERIFY( ci && ci->m_pData );
		ToBag( ci, false );
	}//for i
	m_pUIBeltList->ClearAll( true );
}

Вот ToBag не в CInventory а в CUIInventoryWnd

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

Такой вопрос - можно ли через движок поменять значение в xml файле? Интересует именно actor_menu.xml, хочу менять кол-во ячеек в dragdrop'ах в зависимости от кое-каких условий.

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

@Kondr48, это даже лучше,но я не знаю такого места). Там где я ковыряю ui создаётся в коде движка, но такие параметры как координаты и ячейки читаются из xml файла и выводятся в другом месте. 

Нашёл где по идее можно поменять значений, но пока не получается.

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

На исходниках получив например db.actor:item_in_slot(6):get_outfit() броник, можно "на лету" менять многие его характеристики. Что именно можно менять, как я понял, прописано в derived_client_classes.cpp. В принципе, все что я туда по своей нужде добавлял, он кушал как положено и всё работало. Все, кроме sprint_allowed. Как я посмотрел, это флажок, который устанавливается для инвентарного предмета. Так вот, куда мне добавить чтение этого параметра, чтобы также из скриптов я мог его изменять?

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

@Kondr48, это же флаги, пиши функции через flags16(), удалять и включать флаг можно методом set_inventory_item_flags, я уже достаточно давно использую, только получать флаг советую методом is_any, так как другой конфликтует, но как и с чем уже не помню, очень давно писал эти обертки. Писать для каждого флага функцию в движке - занятие весьма своеобразное :).

 

@mortan, за ЗП не знаю (для ТЧ ЗПшное обобщение не подходит, поэтому по косточками классы интерфейсов я не разбирал, это я об actor_menu), но на ТЧ определенно точно можно, раньше как-раз по-моему и были ограничения по отрисовке сетки, смотри классы драг-дропа, там не так все сложно, тем более что они в ТЧ и ЗП практически одинаковые.

Изменено пользователем Карлан
  • Спасибо 1
  • Нравится 1
Ссылка на комментарий

@Kondr48, они попросту не экспортированы. Экспортируй сам. У себя в проекте я дополнительно экспортировал иммунитеты, количество ячеек на поясе и наличие шлема.

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

Карлан, а куда их? CInventoryItem или CCustomOutfit? Если дадите для примера файлик derived_client_classes буду благодарен  :).

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

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

 

Если говорить о файлах, то нужно переходить к фактам. Мой проект здесь, насколько я понимаю, запрещен, и, в таком случае, упоминать его, или, тем более, демонстрировать файлы будет просто некорректно. Давайте я отправлю личным сообщением.

Добавлено Dennis_Chikin,

"Мой проект здесь, насколько я понимаю, запрещен"

 

Это неправильное понимание. Имеет место явно что-то личное с крайне ограниченным числом участников, остальные смотрят на результаты этого личного сильно постфактум, и весьма удивляются увиденному.

 

Чтобы не было такого неправильного понимания у одних, и удивления у других, стоило бы СВОЕВРЕМЕННО ставить в известность администраторов, ну или если у раздела есть список тех модераторов, которые за ним закреплены, то вот их.

Желательно сразу сообщать тему и дату время постов, с которыми наблюдаются какие-то проблемы.

 

Ну и не давать поводов для вот этого самого "личного". Если уж очень хочется нарисовать кому-нибудь индейскую национальную избу - опять же, попросите администратора или модератора. Они доставят ваш рисунок по назначению.

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

Среди правок ехе-шника от Macron-a есть принудительное включение вертикальной синхронизации, которую ПЫС умудрились каким-то образом сломать. Так вот, в главном меню игры установлено ограничение в 30 кадров. Можно ли как-то изменить этот лимит? Уж слишком медленно все "крутится", да и курсор словно полуживой.

Если вдруг потребуется. Код с батника:

 

 

@rem for XR_3DA.exe
@rem ENABLE FORCED VSYNC FIXX (overheating protection)

patch2.exe XR_3DA.exe $0008A87F $01
patch2.exe XR_3DA.exe $0008A882 $00
patch2.exe XR_3DA.exe $0008B098 $01
patch2.exe XR_3DA.exe $0008B09B $00

 

 

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий
Так вот, в главном меню игры установлено ограничение в 30 кадров. Можно ли как-то изменить этот лимит?

Это у вас, наверное, какие-то персональные глюки. И вообще, в SVN portable уже давно восстановлена работоспособность оригинальной команды rs_v_sync. Попробуй с этим экзешником: https://yadi.sk/d/8p66IkYNtrYqn

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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