UO Sagas: Bowcraft

Creator: stixLink: bowcraft-cmayi9k8
Created: 2 days ago on 05/22/2025, 11:24:57 AMUpdated: 2 days ago on 05/22/2025, 11:26:17 AM
FileType: LUA
Size: 2940
Category: No category provided
Skills: Bowcraft/Fletcher
Hotkey: No hotkey provided
Tags: craft

Description: Take boards 1 by 1 in bank if skill is lower than 40, afterwards craft Bow.

Need to have fletchers tool in bag.

-- Constants local GUMP_PANEL_ID = 2653346093 -- Verify Fletcher's gump ID local TOOL_TYPE = 0x1022 -- Fletching Kit local BOARD_TYPE = 0x1BD7 local BUTTON_MAKE_LAST = 21 local QT_BOARDS = 1 local craft = 2 -- Get tool serial local tool = Items.FindByType(TOOL_TYPE, -1, 'backpack') if not tool then error("No fletching tool found in backpack.") end local toolSerial = tool.Serial -- Retrieve boards from the bank function getBoard() local board = Items.FindByType(BOARD_TYPE, -1, 'bank') if board then if craft == 0 then QT_BOARDS = 1 end Player.PickUp(board.Serial, QT_BOARDS) Pause(500) Player.DropInBackpack() Pause(600) Messages.Print("Moved board to backpack.") return true else Messages.Print("No boards found in bank.") return false end end -- Press the "Make Last" button function craftLast() if Gumps.IsActive(GUMP_PANEL_ID) then Gumps.PressButton(GUMP_PANEL_ID, BUTTON_MAKE_LAST) Pause(2000) else setToolCraft() end end -- Get the Bowcraft/Fletching skill level function getBowcraftValue() return Skills.GetValue('Bowcraft/Fletching') end -- Set tool crafting category based on skill level function setToolCraft() local skillValue = getBowcraftValue() if skillValue < 40 then craft = 0 setToolGump(craft) -- Craft shafts else craft = 1 setToolGump(craft) -- Craft bows end end -- Open tool gump and select the appropriate craft option function setToolGump(craft) Player.UseObject(toolSerial) Pause(1000) if craft == 0 then -- Shafts Gumps.PressButton(GUMP_PANEL_ID, 10) Pause(1000) Gumps.PressButton(GUMP_PANEL_ID, 9) Pause(1000) else -- Bows Gumps.PressButton(GUMP_PANEL_ID, 15) Pause(1000) Gumps.PressButton(GUMP_PANEL_ID, 3) Pause(1000) Gumps.PressButton(GUMP_PANEL_ID, 2) Pause(1000) end end -- Main process setToolCraft() Pause(4000) while getBowcraftValue() < 40 do getBoard() craftLast() end while getBowcraftValue() >= 40 do craftLast() end
View list of scripts
Disclaimer: This is a fan made site and is not directly associated with Ultima Online or UO staff.