Just define what recipe to use, what item to craft and how many u need – play it and get back when ready!

const
  RecipeIndex = 2; // Second recipe in my list (VOP)
  CraftDelay = 1000; // 1000 = 1 second
  DesiredItemID = 1887; // VOP item id
  DesiredItemCount = 10; // Stop if i have 10

function GetItemCount(id: Integer): Int64;
var
  item: TL2Item;
begin
  Result := -1;
  if Inventory.User.ByID(id, item) then
    Result := item.Count;
end;

begin
  while Engine.Status <> lsOnline do
    Delay(100);

  while GetItemCount(DesiredItemID) < DesiredItemCount do
  begin
    Engine.MakeItem(RecipeIndex);
    Delay(CraftDelay);
  end;
end.

Author: Velmsun