item.get_refine_materials

не может быть вызвана анонимно
Функция item.get_refine_materials сообщает необходимые материалы для улучшения «выделенного» предмета.

Возвращаемые значения

mixed materials

В случае, если предмет не был «выделен» или если у предмета указан refine_set, которого нет в таблице refine_proto, то ничего не возвращается, то бишь nil.

В случае, если улучшение предмета стоит 0 янг и не требует никаких ресурсов, то возвращается number 0.

В случае, если функция выполнилась без ошибок, то возвращается таблица table, которая выглядит примерно вот так:

[code=lua]{\n\t"cost" = refine_cost,\n\t"material_count" = count_of_materials,\n\t"materials" = {\n\t\t{material_vnum, count_of_this_material},\n\t\t{material_vnum, count_of_this_material},\n\t\t-- etc\n\t}\n}[/code]

В данном случае refine_cost — стоимость улучшения в янгах; count_of_materials — количество разных материалов (например, если на улучшение предмета надо 8 костей и 3 волчьи шкуры, то этот параметр будет равен 2); material_vnum — vnum (ID из item_proto) материала, а count_of_this_material — количество этого самого материала.

Примечания

Эта функция работает только с «выделенными» предметами. Подробнее тут: item.

176