-
Число публикаций
75 -
Регистрация
-
Последнее посещение
-
AMKoin
772 [Подарить AMKoin]
Закладки
-
Перебор инвенаря в ОГСР
СкриптованиеДоброго времени суток, прошу помощи!
Делаю правку к Новому Арсеналу 7 (движок ОГСР от сен 2020, без возможности смены версии) с таким кодом:
local sect = wpn:section() local sil_sect = get_string( sect, "silencer_name" ) if not sil_sect then return end local sil_obj = level.object_by_id(0) db.actor:inventory_for_each( function( temp_sil, db.actor) if temp_sil and db.actor:is_in_ruck(temp_sil) and temp_sil:is_silencer() and temp_sil:section() == sil_sect then sil_obj = temp_sil end end )
, на что получаю ошибку "invalid key to next"
Вопрос: а куда копать-то?
Правка: сделал через iterate_inventory - больше не вылетает...
-
Перебор инвенаря в ОГСР (другой)
СкриптованиеСнова нужна помошь, опять Новый Арсенал 7, соотв. ОГСР 2020г.
Мне нужно найти и удалить один предмет в инвентаре из нескольких одинаковых, когда делаю так:
local item, sil_items db.actor:iterate_ruck( function(dummy, item) if item.section == sil_sect then table.insert(sil_items, item:id()) end end ) if sil_items[1] ~= nil then db.actor:mark_item_dropped(level.object_by_id(sil_items[1])) alife():release(alife():object(sil_items[1])) else return end
получаю ошибку вида "attempt to index a local sil_items (a nil value)"
Что я натворил не так?!