local inv = player:get_inventory() local inv_src = inv:get_list("craft") local inv_dst = inv:get_list("main") local index1 = 1 local index2 = 1 while (index1 <= #inv_src) and (index2 <= #inv_dst) do if (inv_src[index1] and not inv_src[index1]:is_empty()) and (not (inv_dst[index2] or inv_dst[index2]:is_empty())) then inv_dst[index2] = inv_src[index1] inv_src[index1] = nil index2 = index2 + 1 end index1 = index1 + 1 end