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: | ||
+ | < | ||
+ | #Runic Atlas Crafter by Frank Castle | ||
+ | # | ||
+ | # Instructions: | ||
+ | # | ||
+ | # Have plenty of Exceptional Scribes Pens with makers mark on them | ||
+ | # Have GM Inscription. | ||
+ | # 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 use existing gate and recall scrolls if you have them in your storage container. | ||
+ | # | ||
+ | |||
+ | from System.Collections.Generic import List | ||
+ | |||
+ | stoCont = Target.PromptTarget(' | ||
+ | Items.UseItem(stoCont) | ||
+ | Misc.Pause(2000) | ||
+ | |||
+ | bookBag = Target.PromptTarget(' | ||
+ | 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, | ||
+ | GFilter.Graphics = garbagecan | ||
+ | |||
+ | global pen | ||
+ | pen = Items.FindByID(0x0FBF, | ||
+ | |||
+ | def checkRunes(): | ||
+ | runeAmt = Items.ContainerCount(Player.Backpack.Serial, | ||
+ | Misc.SendMessage(' | ||
+ | if runeAmt < 3: | ||
+ | Misc.SendMessage(' | ||
+ | Misc.ScriptStopAll() | ||
+ | | ||
+ | def getMats(): | ||
+ | rScroll = Items.FindByID(0x1F4C, | ||
+ | gScroll = Items.FindByID(0x1F60, | ||
+ | bScroll = Items.FindByID(0x0EF3, | ||
+ | gMats = [0x0F7A, | ||
+ | rMats = [0x0F7A, | ||
+ | checkRunes() | ||
+ | if Items.ContainerCount(stoCont, | ||
+ | Items.Move(rScroll, | ||
+ | Misc.Pause(1100) | ||
+ | else: | ||
+ | makeRecalls() | ||
+ | | ||
+ | if Items.ContainerCount(stoCont, | ||
+ | Items.Move(gScroll, | ||
+ | Misc.Pause(1100) | ||
+ | else: | ||
+ | makeGates() | ||
+ | | ||
+ | Items.Move(bScroll, | ||
+ | Misc.Pause(1100) | ||
+ | |||
+ | def makeGates(): | ||
+ | while Items.ContainerCount(Player.Backpack.Serial, | ||
+ | checkPen() | ||
+ | checkgMats() | ||
+ | checkMana(50) | ||
+ | Items.UseItem(pen) | ||
+ | Misc.Pause(1100) | ||
+ | Gumps.WaitForGump(460, | ||
+ | Gumps.SendAction(460, | ||
+ | Misc.Pause(2000) | ||
+ | |||
+ | def makeRecalls(): | ||
+ | while Items.ContainerCount(Player.Backpack.Serial, | ||
+ | checkPen() | ||
+ | checkrMats() | ||
+ | checkMana(50) | ||
+ | Items.UseItem(pen) | ||
+ | Misc.Pause(1100) | ||
+ | Gumps.WaitForGump(460, | ||
+ | Gumps.SendAction(460, | ||
+ | Misc.Pause(2000) | ||
+ | | ||
+ | def checkgMats(): | ||
+ | scroll = Items.FindByID(0x0EF3, | ||
+ | gMats = [0x0F7A, | ||
+ | if Items.ContainerCount(Player.Backpack.Serial, | ||
+ | bScroll = Items.FindByID(0x0EF3, | ||
+ | Items.Move(bScroll, | ||
+ | Misc.Pause(1100) | ||
+ | for g in gMats: | ||
+ | if Items.ContainerCount(Player.Backpack.Serial, | ||
+ | mat = Items.FindByID(g, | ||
+ | Items.Move(mat, | ||
+ | Misc.Pause(1100) | ||
+ | |||
+ | def checkrMats(): | ||
+ | scroll = Items.FindByID(0x0EF3, | ||
+ | rMats = [0x0F7A, | ||
+ | if Items.ContainerCount(Player.Backpack.Serial, | ||
+ | bScroll = Items.FindByID(0x0EF3, | ||
+ | Items.Move(bScroll, | ||
+ | Misc.Pause(1100) | ||
+ | for m in rMats: | ||
+ | if Items.ContainerCount(Player.Backpack.Serial, | ||
+ | mat = Items.FindByID(m, | ||
+ | Items.Move(mat, | ||
+ | Misc.Pause(1100) | ||
+ | | ||
+ | def checkPen(): | ||
+ | curCharges = Items.FindByID(0x0FBF, | ||
+ | Items.WaitForProps(curCharges, | ||
+ | props = Items.GetPropStringList(curCharges.Serial) | ||
+ | Misc.Pause(500) | ||
+ | prop = props[3].split(' | ||
+ | Misc.SendMessage(prop) | ||
+ | Misc.Pause(500) | ||
+ | if int(prop) < 2: | ||
+ | global pen | ||
+ | garbagecans = Items.ApplyFilter(GFilter) | ||
+ | Misc.Pause(500) | ||
+ | garbagecan = Items.Select(garbagecans, | ||
+ | Misc.Pause(500) | ||
+ | Items.Move(pen, | ||
+ | Misc.Pause(1100) | ||
+ | checkPen() | ||
+ | pen = Items.FindByID(0x0FBF, | ||
+ | | ||
+ | def checkMana(mana): | ||
+ | while Player.Mana < mana: | ||
+ | Player.UseSkill(' | ||
+ | Misc.Pause(11500) | ||
+ | | ||
+ | def makeAtlas(): | ||
+ | while Items.ContainerCount(Player.Backpack.Serial, | ||
+ | getMats() | ||
+ | checkPen() | ||
+ | Items.UseItem(pen) | ||
+ | Gumps.WaitForGump(460, | ||
+ | Gumps.SendAction(460, | ||
+ | Misc.Pause(2000) | ||
+ | Atlas = Items.FindByID(0x9C16, | ||
+ | Items.Move(Atlas, | ||
+ | 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, | ||
+ | Misc.Pause(1100) | ||
+ | | ||
+ | moveOldRunebooks() | ||
+ | makeAtlas() | ||
+ | </ |
runic_atlas_crafter.txt · Last modified: 2022/09/03 23:25 by 127.0.0.1