Перейти к основному содержимому

Как прописать функцию check_used_item(obj) в actor_binder:on_item_take и застави...

Вопрос

Как прописать функцию check_used_item(obj) в actor_binder:on_item_take и заставить её работать?

Ответ

Для того чтобы функция check_used_item(obj) начала корректно работать, нужно следующим образом изменить код:

1. В файле bind_stalker.script пропишите следующую строку в функции actor_binder:on_item_take (obj):
```lua
xr_effects.check_used_item(obj)
  1. Создайте или убедитесь, что файл check_used_item.lua находится в директории gamedata\scripts и содержит правильный код для проверки предметов:
function on_item_take(item)
if item:section() == separator then return end
if (inventory_open == false) then
if (separator_spawned == true) then
db.actor:inventory_for_each(del_separator)
separator_spawned = false
end
belt_need_update = true
end
end
  1. Создайте файл check_used_item.lua и добавьте в него следующий код для проверки предметов:
function check_used_item(obj)
local info = nil
local sect = obj:section()
if sect == "z1" then
db.actor:give_info_portion("have_a_pda")
end
end
  1. Пропишите вызов функции check_used_item(obj) в actor_binder:on_item_take (obj), как было указано в шаге 1.

После выполнения этих шагов функция check_used_item(obj) должна корректно проверять предметы и выдавать соответствующие инфопорции.