User Tools

Site Tools


fletching

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

fletching [2020/07/06 03:29] (current)
Line 1: Line 1:
 +<​code>​
 +#Fletching Trainer by Frank Castle
 +#
 +#What you need:
 +# 1 - 30.0+ Tinkering Skill. If you do not have it buy it up. 
 +# 1 - 30.0+ Fletching Skill. If you do not have it buy it up.
 +# 2 - a player made Tinker Tools
 +# 3 - a chest with plenty of iron ingots and wood
 +# 4 - a trash barrel nearby. Secure it.
 +
 +# Written and tested on OSI. 
  
 +from System.Collections.Generic import List
 +
 +global stoCont
 +
 +
 +
 +    ​
 +
 +stoCont = Target.PromptTarget('​Target your resource chest'​)
 +Misc.Pause(100)
 +Items.UseItem(stoCont)
 +Misc.Pause(1100)
 +
 +GFilter = Items.Filter()
 +GFilter.RangeMax = 5
 +GFilter.OnGround = True
 +GFilter.Enabled = True
 +GFilter.Movable = True
 +garbagecan = List[int]((0x0E77,​ 0x0E77))  ​
 +GFilter.Graphics = garbagecan
 +
 +Player.UseSkill('​Hiding'​)
 +Misc.Pause(11000)
 +
 +
 +def makeLast(skill,​ item):
 +    Fletching = Player.GetSkillValue('​Fletching'​)
 +    fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +    Items.UseItem(fTool)
 +    while Fletching < skill and Fletching != Player.GetSkillCap('​Fletching'​):​
 +        Fletching = Player.GetSkillValue('​Fletching'​)
 +        checkBoards()
 +        Gumps.WaitForGump(460,​ 1500)
 +        Gumps.SendAction(460,​ 1999)
 +        Misc.Pause(500)
 +        Misc.SendMessage('​Crafting Last',​48)
 +        ​
 +        if Journal.Search('​You have worn out') == True:
 +            Journal.Clear()
 +            checkTools()
 +            fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +            Items.UseItem(fTool)
 +           
 +        if Items.BackpackCount(item,​-1) > 0:
 +            craft = Items.FindByID(item,​-1,​Player.Backpack.Serial)
 +            garbagecans = Items.ApplyFilter(GFilter)
 +            Misc.Pause(500)
 +            garbagecan = Items.Select(garbagecans,​ '​Nearest'​)
 +            Misc.Pause(500)
 +            Items.Move(craft,​garbagecan,​0)
 +            Misc.Pause(1100)
 +    ​
 +def makeLast2(skill,​ item):
 +    Fletching = Player.GetSkillValue('​Fletching'​)
 +    fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +    Items.UseItem(fTool)
 +    while Fletching < skill and Fletching != Player.GetSkillCap('​Fletching'​):​
 +        Fletching = Player.GetSkillValue('​Fletching'​)
 +        global stoCont
 +        Misc.SendMessage('​Getting Boards',​48)
 +        Misc.Pause(1100)
 +        board = Items.FindByID(0x1BD7,​0x0000,​stoCont)
 +        Misc.Pause(100)
 +        Items.Move(board,​Player.Backpack.Serial,​1)
 +        Misc.Pause(1100)
 +        Gumps.WaitForGump(460,​ 1500)
 +        Gumps.SendAction(460,​ 1999)
 +        Misc.Pause(500)
 +        Misc.SendMessage('​Crafting Last',​48)
 +        ​
 +        if Journal.Search('​You have worn out') == True:
 +            Journal.Clear()
 +            checkTools()
 +            fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +            Items.UseItem(fTool)
 +           
 +        if Items.BackpackCount(item,​-1) > 20:
 +            move = Items.FindByID(item,​-1,​Player.Backpack.Serial)
 +            Misc.Pause(500)
 +            Items.Move(move,​stoCont,​0)
 +            Misc.Pause(1100) ​       ​
 +
 +def makeLast3(skill,​ item):
 +    Fletching = Player.GetSkillValue('​Fletching'​)
 +    fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +    Items.UseItem(fTool)
 +    while Fletching < skill and Fletching != Player.GetSkillCap('​Fletching'​):​
 +        Fletching = Player.GetSkillValue('​Fletching'​)
 +        global stoCont
 +        Misc.SendMessage('​Getting Boards',​48)
 +        Misc.Pause(1100)
 +        board = Items.FindByID(0x1BD7,​0x0000,​stoCont)
 +        Misc.Pause(100)
 +        Items.Move(board,​Player.Backpack.Serial,​1)
 +        Misc.Pause(1100)
 +        Gumps.WaitForGump(460,​ 1500)
 +        Gumps.SendAction(460,​ 1999)
 +        Misc.Pause(500)
 +        Misc.SendMessage('​Crafting Last',​48)
 +        ​
 +        if Journal.Search('​You have worn out') == True:
 +            Journal.Clear()
 +            checkTools()
 +            fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +            Items.UseItem(fTool)
 +           
 +        if Items.BackpackCount(item,​-1) > 0:
 +            craft = Items.FindByID(item,​-1,​Player.Backpack.Serial)
 +            garbagecans = Items.ApplyFilter(GFilter)
 +            Misc.Pause(500)
 +            garbagecan = Items.Select(garbagecans,​ '​Nearest'​)
 +            Misc.Pause(500)
 +            Items.Move(craft,​garbagecan,​0)
 +            Misc.Pause(1100)
 +
 +def checkBoards():​
 +    if Items.BackpackCount(0x1BD7,​0x0000) < 25:
 +        global stoCont
 +        Misc.SendMessage('​Getting Boards',​48)
 +        Misc.Pause(1100)
 +        board = Items.FindByID(0x1BD7,​0x0000,​stoCont)
 +        Misc.Pause(100)
 +        Items.Move(board,​Player.Backpack.Serial,​200)
 +        Misc.Pause(1100)
 +        ​
 +def checkIngots():​
 +    if Items.BackpackCount(0x1BF2,​0x0000) < 15:
 +        global stoCont
 +        Misc.SendMessage('​Getting Ingots',​48)
 +        Misc.Pause(1100)
 +        ingot = Items.FindByID(0x1BF2,​0x0000,​stoCont)
 +        Misc.Pause(100)
 +        Items.Move(ingot,​Player.Backpack.Serial,​40)
 +        Misc.Pause(1100)
 +        ​
 +def checkTools():​
 +    checkIngots()
 +    countOne = Items.BackpackCount(0x1EB9,​-1)
 +    while countOne < 3:
 +        tinkerTool = Items.FindByID(0x1EB9,​-1,​Player.Backpack.Serial)
 +        Misc.Pause(100)
 +        Items.UseItem(tinkerTool)
 +        Gumps.WaitForGump(460,​ 10000)
 +        Gumps.SendAction(460,​ 11)
 +        Misc.Pause(1500)
 +        countOne = Items.BackpackCount(0x1EB9,​-1)
 +        Misc.SendMessage('​I have {} tinker tools in my bag'​.format(countOne),​48)
 +        ​
 +    countTwo = Items.BackpackCount(0x1022,​-1)
 +    while countTwo < 3:
 +        tinkerTool = Items.FindByID(0x1EB9,​-1,​Player.Backpack.Serial)
 +        Misc.Pause(100)
 +        Items.UseItem(tinkerTool)
 +        Gumps.WaitForGump(460,​ 10000)
 +        Gumps.SendAction(460,​ 28)
 +        Misc.Pause(1500)
 +        countTwo = Items.BackpackCount(0x1022,​-1)
 +        Misc.SendMessage('​I have {} fletchers tools in my bag'​.format(countTwo),​48)
 +        ​
 +def selectCraft():​
 +    Misc.Pause(2000)
 +    Fletching = Player.GetSkillValue('​Fletching'​)
 +    if Fletching < 35:
 +        board = Items.FindByID(0x1BD7,​0x0000,​Player.Backpack.Serial)
 +        if board:
 +            Items.Move(board,​stoCont,​0)
 +            Misc.Pause(1100)
 +        checkTools()
 +        boards = Items.FindByID(0x1BD7,​0x0000,​stoCont)
 +        Items.Move(boards,​Player.Backpack.Serial,​1)
 +        Misc.Pause(1100)
 +        Misc.SendMessage('​Making Shafts',​48)
 +        Misc.Pause(1000)
 +        Fletching = Player.GetSkillValue('​Fletching'​)
 +        fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +        Items.UseItem(fTool)
 +        Gumps.WaitForGump(460,​ 10000)
 +        Gumps.SendAction(460,​ 2)
 +        Misc.Pause(2000)
 +        Misc.SendMessage('​Making Shafts',​48) ​  
 +        makeLast2(35,​ 0x1BD4)
 +        Misc.Pause(100)
 +
 +
 +    if Fletching >= 35 and Fletching < 55 :
 +        lastCraft = Items.FindByID(0x1BD4,​ -1, Player.Backpack.Serial)
 +        if lastCraft:
 +            Misc.Pause(500)
 +            Items.Move(lastCraft,​stoCont,​0)
 +            Misc.Pause(1100)
 +        checkBoards()
 +        checkTools()
 +        Misc.SendMessage('​Making Bows',​48)
 +        fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +        Items.UseItem(fTool)
 +        Gumps.WaitForGump(460,​ 10000)
 +        Gumps.SendAction(460,​ 6)   
 +        makeLast(55,​ 0x13B2)
 +        Misc.Pause(100) ​       ​
 +        ​
 +    if Fletching >= 55 and Fletching < 60 :
 +        lastCraft = Items.FindByID(0x13B2,​ -1, Player.Backpack.Serial)
 +        if lastCraft:
 +            garbagecans = Items.ApplyFilter(GFilter)
 +            Misc.Pause(500)
 +            garbagecan = Items.Select(garbagecans,​ '​Nearest'​)
 +            Misc.Pause(500)
 +            Items.Move(lastCraft,​garbagecan,​0)
 +            Misc.Pause(1100)
 +        checkBoards() ​   ​
 +        checkTools()
 +        Misc.SendMessage('​Making Fukiya Darts',​48)
 +        fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +        Items.UseItem(fTool)
 +        Gumps.WaitForGump(460,​ 10000)
 +        Gumps.SendAction(460,​ 5)   
 +        makeLast3(60,​ 0x2806)
 +        Misc.Pause(100)
 +        ​
 +    if Fletching >= 60 and Fletching < 70 :
 +        lastCraft = Items.FindByID(0x2806,​ -1, Player.Backpack.Serial)
 +        if lastCraft:
 +            garbagecans = Items.ApplyFilter(GFilter)
 +            Misc.Pause(500)
 +            garbagecan = Items.Select(garbagecans,​ '​Nearest'​)
 +            Misc.Pause(500)
 +            Items.Move(lastCraft,​garbagecan,​0)
 +            Misc.Pause(1100)
 +        checkBoards()
 +        checkTools()
 +        Misc.SendMessage('​Making Crossbows',​48)
 +        fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +        Items.UseItem(fTool)
 +        Gumps.WaitForGump(460,​ 10000)
 +        Gumps.SendAction(460,​ 7)   
 +        makeLast(70,​ 0x0F4F)
 +        Misc.Pause(100)
 +        ​
 +    if Fletching >= 70 and Fletching < 80 :
 +        lastCraft = Items.FindByID(0x0F4F,​ -1, Player.Backpack.Serial)
 +        if lastCraft:
 +            garbagecans = Items.ApplyFilter(GFilter)
 +            Misc.Pause(500)
 +            garbagecan = Items.Select(garbagecans,​ '​Nearest'​)
 +            Misc.Pause(500)
 +            Items.Move(lastCraft,​garbagecan,​0)
 +            Misc.Pause(1100)
 +        checkBoards()
 +        checkTools()
 +        Misc.SendMessage('​Making Composite Bows',​48)
 +        fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +        Items.UseItem(fTool)
 +        Gumps.WaitForGump(460,​ 10000)
 +        Gumps.SendAction(460,​ 9)   
 +        makeLast(80,​ 0x26C2)
 +        Misc.Pause(100) ​      
 +        ​
 +    if Fletching >= 80 and Fletching < 90 :
 +        lastCraft = Items.FindByID(0x26C2,​ -1, Player.Backpack.Serial)
 +        if lastCraft:
 +            garbagecans = Items.ApplyFilter(GFilter)
 +            Misc.Pause(500)
 +            garbagecan = Items.Select(garbagecans,​ '​Nearest'​)
 +            Misc.Pause(500)
 +            Items.Move(lastCraft,​garbagecan,​0)
 +            Misc.Pause(1100)
 +        checkBoards()
 +        checkTools()
 +        Misc.SendMessage('​Making Heavy Crossbows',​48)
 +        fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +        Items.UseItem(fTool)
 +        Gumps.WaitForGump(460,​ 10000)
 +        Gumps.SendAction(460,​ 8)   
 +        makeLast(90 ,0x13FD)
 +        Misc.Pause(100) ​
 +        ​
 +    if Fletching >= 90 and Fletching < 100 :
 +        lastCraft = Items.FindByID(0x13FD,​ -1, Player.Backpack.Serial)
 +        if lastCraft:
 +            garbagecans = Items.ApplyFilter(GFilter)
 +            Misc.Pause(500)
 +            garbagecan = Items.Select(garbagecans,​ '​Nearest'​)
 +            Misc.Pause(500)
 +            Items.Move(lastCraft,​garbagecan,​0)
 +            Misc.Pause(1100)
 +        checkBoards()
 +        checkTools()
 +        Misc.SendMessage('​Making Repeating Crossbows',​48)
 +        fTool = Items.FindByID(0x1022,​-1,​Player.Backpack.Serial)
 +        Items.UseItem(fTool)
 +        Gumps.WaitForGump(460,​ 10000)
 +        Gumps.SendAction(460,​ 10)   
 +        makeLast(100 ,0x26C3)
 +        Misc.Pause(100) ​
 + 
 +        ​
 +    if Fletching == Player.GetSkillCap('​Fletching'​):​
 +        lastCraft = Items.FindByID(0x26C3,​ -1, Player.Backpack.Serial)
 +        if lastCraft:
 +            garbagecans = Items.ApplyFilter(GFilter)
 +            Misc.Pause(500)
 +            garbagecan = Items.Select(garbagecans,​ '​Nearest'​)
 +            Misc.Pause(500)
 +            Items.Move(lastCraft,​garbagecan,​0)
 +            Misc.Pause(1100)
 +        Misc.SendMessage('​You have reached Grandmaster',​48) ​   ​
 +        Misc.ScriptStopAll()
 +        ​
 +    Misc.Pause(1100)
 +
 +while True:
 +    selectCraft()
 +</​code>​
fletching.txt ยท Last modified: 2020/07/06 03:29 (external edit)