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

[SoC] Ковыряемся в файлах


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

Сейчас смотрел x-ray extensions  нашел там это

 

; использование патронов на поясе
0x10205D71 5
0x1021C266 5
; использование гранат на поясе
;0x10221BFD 5
;0x10221C2C 5
;0x10205F1B 5
;0x10222067 5
;0x10221C58 2
;0x10221B93 5

; новые слоты в инвентаре (нож, бинокль, фонарь)
;0x103BA6AD 5 ;CUIInventoryWnd__Init__
;0x103BBD8D 5 ;CUIInventoryWnd__InitInventory__
;0x103BC590 5 ;CUIInventoryWnd__GetSlotList
;0x103BC5E0 5 ;CUIInventoryWnd__ClearAllLists
;0x10204311 5 ;CInventory__Init__ отключение худа слотов
;0x1042AA44 5 ;память под объект CInventory
;0x1042B8A8 5 ;память под объект CInventory
;0x10206C02 3 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206C1F 5 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206C35 6 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206951 6 ;количество слотов в CInventory__SetSlotsBlocked

; учет предмета в шлемовом слоте при расчете хита актору (включать, если есть слот шлема)
;0x101C9B80 5

; включение сетки под броней в инвентаре
;0x103BD9E0 5
;0x103BD592 5

 

 

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

Мне не понятно что значат следующие строчки:

;0x10204311 5 ;CInventory__Init__ отключение худа слотов
;0x1042AA44 5 ;память под объект CInventory
;0x1042B8A8 5 ;память под объект CInventory
;0x10206C02 3 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206C1F 5 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206C35 6 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206951 6 ;количество слотов в CInventory__SetSlotsBlocked

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

Из ОП-2

 

 

db.actor:iterate_inventory(
	function(dummy,item)
		section = item:section()
		if not protected_items.is_grab_body_item_keep(item:section()) then
			if условие then
				db.actor:transfer_item(level.object_by_id(item:id()), box)
			end
		end
	end
	,db.actor)

 

 

Как проверить, что данный итем не находится в слоте?

  • Полезно 1

Есть хабар - пойдёт базар :az1000106:

Ссылка на комментарий
if условие then

Как проверить, что данный итем не находится в слоте?

 

Возможно использовать метод item_in_slot(number):

 

как-то:

if (db.actor:item_in_slot(1):id() ~= item:id()) and (db.actor:item_in_slot(2):id() ~= item:id()) and (db.actor:item_in_slot(6):id() ~= item:id()) then

 

 

Наверное подскажут и более верные решения. :)

Изменено пользователем gam
  • Спасибо 2
Ссылка на комментарий

@stalk9r, чтобы все слоты проверить, можно так..

Где-нибудь в _g.script добавить:

game_object.is_in_slot = function ( npc, item )
  local item_id = item:id()
  local slot_item
  for i = 0, 12 do -- или сколько там всего слотов?
    slot_item = npc:item_in_slot( i )
    if slot_item and slot_item:id() == item_id then
      return true
    end
  end
  return false
end
И потом проверять:

if not db.actor:is_in_slot(item) then
Изменено пользователем naxac
  • Спасибо 2

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Возникла проблема, почему-то не подходит пароль к исходникам X-Ray который находиться на этой странице, точнее ссылка на него http://stalkerin.gameru.net/wiki/index.php?title=Сборка_движка_X-Ray 

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

@gam, @naxac, Спасибо, помогло! :)  Ещё вопросик:

Возможно ли скриптово одеть на актора броню, или только выложить всю броню в ящик, например, и взять нужную и при этом актор оденет её?

Второй вариант удалить броню по айди в слоте 6, потом заспавнить нужную (при этом кондицию придется менять)...

  • Полезно 1

Есть хабар - пойдёт базар :az1000106:

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

Всем привет! Народ подскажите пожалуйста, возможно ли как-то в файле xrGame.dll уже готового мода, прописать новые слоты в инвентаре? Я скорее всего глупый вопрос задал, но просто уже мозги кипят и дым из ушей идёт) опыта вносить правки в движок нет, а чтобы понять и изучить всё это нужно время, пока за 3 день я ничего разобрать не смог. Просто решил собрать мод и параллельно учиться всему, но сейчас хочу добавить новые слоты в инвентарь кроме ножа, бинокля и фонаря это уже есть, поставил Автомобильный мод, где транспорт и инвентарь взят из Новый Арсенал 3.0

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

 

GROM_27, нет нельзя. Только собирать самому. Ну по идее, наверное, ассемблером можно, но вряд ли кто то будет этим заниматься. Ибо сделать это на исходниках и собрать выйдет проще и быстрее.

 

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

Скачал SVN_portable_r232 (24_oct_2015)  и в папке shoc_10006_xrgame в файле  corrections_list есть такие параметры 

;0x10206C02 3 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206C1F 5 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206C35 6 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206951 6 ;количество слотов в CInventory__SetSlotsBlocked

 
Это что за параметры?
Ссылка на комментарий

WizziGun, XR_3DA, Rain.cpp:

static const float	drop_speed_min		= 40.f;
static const float	drop_speed_max		= 80.f;

Думаю это то, что нужно  :)

 

Скажите, может вы в курсе - это только к для замедления падения капель дождя подходит?

Просто ищу инфу как можно замедлить скорость облаков, а точнее их тени на земле...

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

 

 

как можно замедлить скорость облаков
Насколько знаю, вот этот параметр в погодных конфигах:
clouds_color = 0.333, 0.341, 0.431, 0.7, 1.7 ; это цвет облаков, 
первые 3 цифры - это RGB, 
четвертая - это видимость (непрозрачность) текстуры облаков, т.е 0 - облаков не видно, а 1 - полная видимость. 
Пятая цифра - скорость движения облаков.
  • Полезно 2
Ссылка на комментарий

 

 

Подскажите, возможно ли сделать ...

Правками движка - ВСЁ можно сделать...

В усеченном функционале - можно скриптами эмулировать слоты и на оригинальном движке.

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

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

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

 

GROM_27, усеченный только в плане того что это эмуляция. Для игрока она выглядит не так, как движковые слоты. А пихать туда можно все что угодно. Завязка на фейковых предметах. Суть функционала в том, что ГГ "съедает" фейк-нож и ему в слот спавнится обычный. А то что было в слоте превращается в фейковый клон.

 

  • Нравится 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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