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

Как выдать инфопоршень при поднятии артефакта?

Вопрос

Как выдать инфопоршень при поднятии артефакта?

Ответ

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

1. В скрипте `bind_stalker.script` добавьте вызов функции в метод `on_item_take`, который проверяет, является ли объект артефактом:
```lua
function actor_binder:on_item_take(obj)
if isArtefact(obj) then
af_info.check_info(obj)
end
end
  1. Создайте файл скрипта af_info.script с необходимыми функциями для выдачи информации:
info_by_section = {
af_fuzz_kolobok = kolobok_info,
af_medusa = medusa_info,
af_gold_fish = gold_fish_info,
}

function check_info(obj)
if not obj then return end
local info = info_by_section[obj.section and obj:section() or obj.section_name and obj:section_name()]
if not info then return end
if not has_alife_info(info) then
give_info(info)
-- log(string.format("info %s given", info))
end
end
  1. Добавьте логи, чтобы проверить выполнение функций, например:
function check_info(obj)
if not obj then return end
local info = info_by_section[obj.section and obj:section() or obj.section_name and obj:section_name()]
if not info then return end
if not has_alife_info(info) then
give_info(info)
-- log(string.format("info %s given", info))
end
end
  1. Убедитесь, что у вас есть необходимые функции has_alife_info, give_info и другие поддерживаемые вами функции для работы с информацией об объектах.