Forum Replies Created
-
AuthorPosts
-
Gather preset contains both grid and rotation within. So your selectGrid() is overwritten because it goes too early. Should be:
selectGatherPreset()
selectGrid()Also it says that you have 3 different grids named Hingan Flax and it chooses one randomly. Not a big issue though unless you start editing grids.
Miqo will automatically use unearth 3/Leaf Turn 3. Just pick the one that says HQ +30%.
No modifications to gathering rotations are required.
New skills are 100% compatible with the current rotations designer. Whenever Miqobot detects an upgraded ability on your hotbar, she will automatically use it instead of an old one.- Impulsive Appraisal II is used instead of Impulsive Appraisal.
- Unearth III is used instead of Unearth II.
- Leaf Turn III is used instead of Leaf Turn II.
- Bountiful Yield II is used instead of Bountiful Yield.
- Bountiful Harvest II is used instead of Bountiful Harvest.
A visual example of how it works. Onishi 70*** left side.
1. Link to quickly fill the crafting list:
garlandtools.org – Onishi 70***
2. Ctrl-Shift-J, copypaste the script above. See attached picture.Attachments:
You must be logged in to view attached files.All right here it is.
Garlandtools makes a reliable crafting order indeed. Still had to sort recipes by level but thats easy. Step by step instructions:1. Go to website: http://garlandtools.org/db/ . Use search on the left to make a list of items.
2. In each item open Crafting tab, click Add to crafting list. This will summon a new Crafting List box.
3. Go through sections #1 and #2 in the Crafting List box, upload mats into your inventory.
4. Open web console (Ctrl-Shift-J in most browsers).
5. Run this script:var rJob = function(val){ var imgJob = $(val).find("span.right img.job-icon"); return (imgJob.length ? imgJob.attr("src").replace("../files/icons/job/", "").replace("images/", "").replace(".png", "") : ""); }; var rLevel = function(val){ return $(val).find("span.right span.text").text().replace("Lv. ", ""); }; var rRecipe = function(val){ return $(val).find("div[data-id] span.text span.highlight, span[data-id] span.text span.highlight").text(); }; var rNeeded = function(val){ var match1 = $(val).find("div[data-id] span.text").text().match(/^[0-9]+/g); var match2 = $(val).find("span.amounts span.text:contains(/ +)").text().match(/[0-9]+/g); return (match1 ? match1[0] : match2 ? match2[0] : 0); }; var rYields = function(val){ var match = $(val).find("div[data-id] span.text, span[data-id] span.text").text().match(/\([0-9]+\)/g); return (match ? match[0].replace(/[()]/g, "") : 1); }; var rCount = function(val){ return Math.ceil(rNeeded(val)/rYields(val)); }; var chapter = function(tableId){ var reagents = $("div[data-id='Crafting List'] div[data-headername='"+tableId+"']").children("div[data-stepid]").not(".finished"); reagents.each(function(idx){ $(this).data("order", idx); }); reagents.sort(function(a, b){ var lvlA = rLevel(a); var lvlB = rLevel(b); var idxA = $(a).data("order"); var idxB = $(b).data("order"); return (parseInt(lvlA) < parseInt(lvlB)) ? -1 : (parseInt(lvlA) > parseInt(lvlB)) ? 1 : (lvlA < lvlB) ? -1 : (lvlA > lvlB) ? 1 : (idxA - idxB); }); for(var i=0; i<reagents.length; i++){ var craftsLater = []; var from = -1; var to = -1 //console.log(reagents.get().map(rRecipe)); $(reagents.get().reverse()).each(function(index){ var itemId = $(this).attr("data-stepid"); var item = gt.item.ingredients[itemId] || gt.item.index[itemId]; var requires = item ? item.craft[0].ingredients.map(function(val){ return ""+val.id; }) : []; var isCraftable = requires.reduce(function(isCraftable, requireId){ if(!isCraftable) return false; if(craftsLater.indexOf(requireId)>=0){ from = index; to = craftsLater.indexOf(requireId); return false; } return true; }, true); //console.log(rRecipe(this)+":"+(isCraftable?1:0)); if(!isCraftable) return false; craftsLater.push(itemId); }); if(from < 0 || to < 0) break; from = reagents.length-1 - from; to = reagents.length-1 - to; reagents.splice(to, 0, reagents.splice(from, 1)[0]); } var miqo = ""; reagents.each(function(){ if(!rJob(this)){ miqo += "//no job: "+rRecipe(this)+"\r\n"; return; } miqo += "job("+rJob(this)+")\r\n"; miqo += "recipe("+rRecipe(this)+")\r\n"; miqo += "craft("+rCount(this)+")\r\n"; }); miqo += "//--Section crafts: "+reagents.get().reduce(function(allCount, val){ return allCount+rCount(val); },0)+"\r\n"; return miqo; }; var antiDuplicate = function(miqo){ var dupList = [ ["Kite Shield", 3], ["Goatskin Wristbands", 2], ["Hempen Breeches", 2], ["Copper Ring", 2], ["Lapis Lazuli", 2], ["Brass Ring", 2], ["Silver Ring", 2], ["Garnet", 2], ["Mythril Ring", 3], ["Horn Staff", 8], ["Electrum Ring", 2], ["Honey", 9], ["Horn Fishing Rod", 2], ["Ether", 8], ["Poisoning Potion", 2], ["Paralyzing Potion", 2], ["Blinding Potion", 2], ["Sleeping Potion", 2], ["Silencing Potion", 2], ["Elixir", 7], ["Obelisk", 2], ["Mailbreaker", 2], ["Rampager", 2], ["Boarskin Ring", 2], ["Pearl", 7], ["Astrolabe", 2], ["Rose Gold Earrings", 2], ["Sarnga", 2], ["Mortar", 22], ["Campfire", 2], ["Oasis Partition", 2], ["Manor Fireplace", 2], ["Cloche", 3], ["Smithing Bench", 2], ["Manor Harp", 2], ["Wall Lantern", 2], ["Holy Rainbow Hat", 2], ["Reading Glasses", 2], ["Archaeoskin Boots", 3], ["Gaganaskin Gloves", 2], ["Gazelleskin Ring", 4], ["Hedge Partition", 2], ["Wolfram Cuirass", 2], ["Wolfram Gauntlets", 2], ["Wolfram Sabatons", 2], ["Gold Ingot", 2], ["Serpentskin Gloves", 3], ["Orchestrion", 4], ["Camphor", 14], ["Cordial", 2], ["Survival Hat", 2], ["Survival Shirt", 3], ["Survival Halfslops", 2], ["Survival Boots", 2], ["Luminous Fiber", 2], ["Teahouse Bench", 2], ["Oden", 10], ["Carpeting", 2], ["Near Eastern Antique", 2], ["Coerthan Souvenir", 2], ["Maelstrom Materiel", 2], ["Heartfelt Gift", 2], ["Orphanage Donation", 2], ["Gyr Abanian Souvenir", 2], ["Far Eastern Antique", 2], ["Gold Saucer Consolation Prize", 2], ["Resistance Materiel", 2], ["Sui-no-Sato Special", 2], ["Cloud Pearl", 2], ["Signature Buuz Cookware", 2], ["Platinum Ingot", 2], ["Griffin Leather", 2], ["Wall Chronometer", 2], ]; dupList.forEach(function(row){ miqo = miqo.replace(new RegExp("recipe\\("+row[0]+"\\)", "g"), "recipe("+row[0]+", "+row[1]+")"); }); return miqo; }; var scenario = function(){ var miqo = ""; miqo += "//Craft\r\n"; miqo += "solverPreset(recommended)\r\n"; miqo += "nqhq(balanced)\r\n"; miqo += "reclaimOff()\r\n\r\n"; miqo += chapter("Craft")+"\r\n"; miqo += "//Goal\r\n"; miqo += "solverPreset(recommended)\r\n"; miqo += "nqhq(balanced)\r\n"; miqo += "reclaimHQ(50)\r\n\r\n"; miqo += chapter("goal")+"\r\n"; miqo += "//Repair\r\n"; miqo += "reclaimOff()\r\n"; miqo += "repair()\r\n"; miqo = antiDuplicate(miqo); window.prompt("Copy to clipboard: Ctrl+C, Enter", miqo); return miqo; }; console.log(scenario());
6. Press Enter. Copy and paste the scenario into Miqobot.
7. Start.Let me know if there are any bugs. Ill ask Miqo to merge it with the first post later.
-
This reply was modified 7 years, 1 month ago by
Lyfox.
Use the same grids. Hawks eye = Nightsteel, Tree Sap = Black Willow.
Just an FYI, with the two new gatherables added in 4.3 Hardened Veteran Tree Sap and Hawk’s Eye. The only thing that will need to be changed is the slot on the node. Tree Sap is located on slot [4] and the Hawk’s Eye is located on slot [7].
I thought i answered this in my previous post? Id gladly parse teamcraft if you could give me a hint how they store crafting data.
—
EDIT: Let me explain better. Lets say you want to craft Silvergrace Codex. You load a recipe on teamcraft and it says this:Pre crafts Silvergrace Ingot x2 Nightsteel Ingot ... High Steel Nugget High Steel Ingot
See? High Steel must be crafted first because its a prerequisite for Nightsteel. For some reason this website puts recipes in random order which makes zero sense. So i need to know recipe dependencies to fix this or scenario will fail.
Ffxivcrafting.com keeps this information naturally in HTML so i can easily grab it. Teamcraft has no data anywhere. If you could show me where their crafting data is ill adapt my script to teamcraft in no time.-
This reply was modified 7 years, 1 month ago by
Lyfox.
Just use import, heres a guide: https://miqobot.com/forum/forums/topic/help-import-export/
Ah so you had a keybind conflict. Yea basic WSAD movement is advised to map without ctrl-shift-alt.
Theres a special guide which explains why it leads to weird bugs: https://miqobot.com/forum/forums/topic/help-keybinds/Glad you figured it out.
Theres no secret. Just open minigames in Miqobot and click start: https://miqobot.com/forum/forums/topic/miqobot-v1-2-45-patch-notes/
-
AuthorPosts