User Tools

Site Tools


runic_atlas_crafter
no way to compare when less than two revisions

Differences

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


runic_atlas_crafter [2022/09/03 23:25] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +<code>
 +#Runic Atlas Crafter by Frank Castle
 +#
 +# Instructions:
 +#
 +# Have plenty of Exceptional Scribes Pens with makers mark on them
 +# Have GM Inscription.  It just makes it easier.
 +# Have a resource container with plenty of scrolls and regs
 +# Have at least 100 mana
 +# Have a trash can within reach
 +# This will move all Runic Atlases you have in your backpack to your storage container before it starts.
 +# Buy a bunch of blank runes.  This will make Atlases until you run out of runes. 
 +# This will use existing gate and recall scrolls if you have them in your storage container. 
 +#   Otherwise it will make gate and recall scrolls
  
 + 
 +from System.Collections.Generic import List
 +
 +stoCont = Target.PromptTarget('Target your Storage Container')
 +Items.UseItem(stoCont)
 +Misc.Pause(2000)
 +
 +bookBag = Target.PromptTarget('Target your BookBag')
 +Items.UseItem(stoCont)
 +Misc.Pause(2000)
 +
 +GFilter = Items.Filter()
 +GFilter.RangeMax = 5
 +GFilter.OnGround = True
 +GFilter.Enabled = True
 +GFilter.Movable = True
 +garbagecan = List[int]((0x0E77, 0x0E77))  
 +GFilter.Graphics = garbagecan
 +
 +global pen
 +pen = Items.FindByID(0x0FBF,-1,Player.Backpack.Serial)
 +
 +def checkRunes():
 +    runeAmt = Items.ContainerCount(Player.Backpack.Serial,0x1F14,0x0000)
 +    Misc.SendMessage('I have {} runes in my backpack'.format(runeAmt),44)
 +    if runeAmt < 3:
 +        Misc.SendMessage('I need more runes.  Stopping script.')
 +        Misc.ScriptStopAll()
 +        
 +def getMats():
 +    rScroll = Items.FindByID(0x1F4C,-1,stoCont)
 +    gScroll = Items.FindByID(0x1F60,-1,stoCont)
 +    bScroll = Items.FindByID(0x0EF3,-1,stoCont)
 +    gMats = [0x0F7A,0x0F86,0x0F8C]
 +    rMats = [0x0F7A,0x0F86,0x0F7B]
 +    checkRunes()
 +    if Items.ContainerCount(stoCont,0x1F4C,0x0000) > 3:
 +        Items.Move(rScroll, Player.Backpack.Serial, 3)
 +        Misc.Pause(1100)
 +    else:
 +        makeRecalls()
 +        
 +    if Items.ContainerCount(stoCont,0x1F60,0x0000) > 3:
 +        Items.Move(gScroll, Player.Backpack.Serial, 3)
 +        Misc.Pause(1100)
 +    else:
 +        makeGates()
 +    
 +    Items.Move(bScroll, Player.Backpack.Serial, 24)
 +    Misc.Pause(1100)
 +
 +def makeGates():
 +    while Items.ContainerCount(Player.Backpack.Serial,0x1F60,-1) < 3:
 +        checkPen()
 +        checkgMats()
 +        checkMana(50)
 +        Items.UseItem(pen)
 +        Misc.Pause(1100)
 +        Gumps.WaitForGump(460, 1500)
 +        Gumps.SendAction(460, 52)
 +        Misc.Pause(2000)
 +
 +def makeRecalls():
 +    while Items.ContainerCount(Player.Backpack.Serial,0x1F4C,-1) < 3:
 +        checkPen()
 +        checkrMats()
 +        checkMana(50)
 +        Items.UseItem(pen)
 +        Misc.Pause(1100)
 +        Gumps.WaitForGump(460, 1500)
 +        Gumps.SendAction(460, 32)
 +        Misc.Pause(2000)        
 +        
 +def checkgMats():
 +    scroll = Items.FindByID(0x0EF3,-1,Player.Backpack.Serial)
 +    gMats = [0x0F7A,0x0F86,0x0F8C]
 +    if Items.ContainerCount(Player.Backpack.Serial,0x0EF3,-1) < 1:
 +        bScroll = Items.FindByID(0x0EF3,-1,stoCont)
 +        Items.Move(bScroll,Player.Backpack.Serial,3)
 +        Misc.Pause(1100)
 +    for g in gMats:
 +        if Items.ContainerCount(Player.Backpack.Serial,g,-1) < 1:
 +            mat = Items.FindByID(g,-1,stoCont)
 +            Items.Move(mat,Player.Backpack.Serial,3)
 +            Misc.Pause(1100)
 +
 +def checkrMats():
 +    scroll = Items.FindByID(0x0EF3,-1,Player.Backpack.Serial)
 +    rMats = [0x0F7A,0x0F86,0x0F7B]
 +    if Items.ContainerCount(Player.Backpack.Serial,0x0EF3,0x0000) < 1:
 +        bScroll = Items.FindByID(0x0EF3,-1,stoCont)
 +        Items.Move(bScroll,Player.Backpack.Serial,3)
 +        Misc.Pause(1100)
 +    for m in rMats:
 +        if Items.ContainerCount(Player.Backpack.Serial,m,0x0000) < 1:
 +            mat = Items.FindByID(m,-1,stoCont)
 +            Items.Move(mat,Player.Backpack.Serial,3)
 +            Misc.Pause(1100)
 +            
 +def checkPen():
 +    curCharges = Items.FindByID(0x0FBF,-1,Player.Backpack.Serial)
 +    Items.WaitForProps(curCharges,2000)
 +    props = Items.GetPropStringList(curCharges.Serial)
 +    Misc.Pause(500)
 +    prop = props[3].split(' ')[2]
 +    Misc.SendMessage(prop)
 +    Misc.Pause(500)
 +    if int(prop) < 2:
 +        global pen
 +        garbagecans = Items.ApplyFilter(GFilter)
 +        Misc.Pause(500)
 +        garbagecan = Items.Select(garbagecans, 'Nearest')
 +        Misc.Pause(500)
 +        Items.Move(pen,garbagecan,0)
 +        Misc.Pause(1100)
 +        checkPen()
 +        pen = Items.FindByID(0x0FBF,-1,Player.Backpack.Serial)
 +        
 +def checkMana(mana):
 +    while Player.Mana < mana:
 +        Player.UseSkill('Meditation')
 +        Misc.Pause(11500)
 +        
 +def makeAtlas():
 +    while Items.ContainerCount(Player.Backpack.Serial,0x1F14,0x0000): 
 +        getMats()
 +        checkPen()
 +        Items.UseItem(pen)
 +        Gumps.WaitForGump(460, 10000)
 +        Gumps.SendAction(460, 694)
 +        Misc.Pause(2000)
 +        Atlas = Items.FindByID(0x9C16,-1,Player.Backpack.Serial)
 +        Items.Move(Atlas,bookBag,0)
 +        Misc.Pause(1100)
 +
 +def moveOldRunebooks():
 +    for items in Items.FindBySerial(Player.Backpack.Serial).Contains:
 +        if items.ItemID == 0x9C16:
 +            Atlas = Items.FindBySerial(items.Serial)
 +            Items.Move(Atlas, stoCont, 0)
 +            Misc.Pause(1100)
 +            
 +moveOldRunebooks()            
 +makeAtlas()
 +</code>
runic_atlas_crafter.txt · Last modified: 2022/09/03 23:25 by 127.0.0.1

Exception: Git command failed to perform periodic pull: From https://github.com/RazorEnhanced/razorenhanced.github.io * branch main -> FETCH_HEAD error

Exception: Git command failed to perform periodic pull: From https://github.com/RazorEnhanced/razorenhanced.github.io * branch main -> FETCH_HEAD error

An unforeseen error has occured. This is most likely a bug somewhere. It might be a problem in the gitbacked plugin.

More info has been written to the DokuWiki error log.