-
Search Results
-
EDIT:
This generator is now adapted for Garland Tools.Part 1. Ffxivcrafting.com (read here)
Part 2. Garland Tools.——————————————————————————
So lately ive been using this site for crafting: http://ffxivcrafting.com/
Its insanely convenient for stuff like GC deliveries and gear sets. You make a list of recipes and it tells you all the reagents all the way to the bottom of craft tree. Now that Miqo gave us scenarios i thought maybe i could use it for some smart scenario baking. It turned out amazingly great and now i think every respectful miqocrafter must have this tool.Its written in javascript but relax you dont need to know coding to use it. Everything is already coded you just have to ctrlc-ctrlv in the right places.
1. Go to recipe book: http://ffxivcrafting.com/recipes . Use search by name and button on the right to make your crafting list.
2. Go to your crafting list: http://ffxivcrafting.com/list . Press the green button “Craft These Items”.
3. Go through sections #1 and #2 and upload these into your inventory. If youre a hoarder like me you should have everything in your retainers. Click on those youve obtained its a cool visual progress.
4. Now open web console. Ctrl-Shift-J in most browsers.
5. Copy and paste this script:var rJob = function(val){ return $(val).children("td:eq(4)").children("img:eq(0)").attr("src").replace("/img/jobs","").replace("/","").replace("-inactive","").replace(".png",""); }; var rRecipe = function(val){ return $(val).children("td:eq(0)").find("a:eq(1)").text().trim(); }; var rNeeded = function(val){ var txt = $(val).children("td:eq(1)").children("span").text(); var val = $(val).children("td:eq(1)").children("input").val(); return val > 0 ? val : txt; }; var rYields = function(val){ return $(val).attr("data-yields"); }; var rCount = function(val){ return Math.ceil(rNeeded(val)/rYields(val)); }; var chapter = function(tableId){ var reagents = $("tbody#"+tableId).children("tr.reagent").not(".success"); reagents.sort(function(a, b){ var lvlA = parseInt( $(a).attr("data-ilvl") ); var lvlB = parseInt( $(b).attr("data-ilvl") ); return (lvlA < lvlB) ? -1 : (lvlA > lvlB) ? 1 : 0; }); 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-item-id"); var requires = $(this).attr("data-requires").split("&").map(function(value){ return value.split("x")[1]; }); 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(){ 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 += "//Pre-Requisite Crafting\r\n"; miqo += "solverPreset(recommended)\r\n"; miqo += "nqhq(balanced)\r\n"; miqo += "reclaimOff()\r\n\r\n"; miqo += chapter("PreRequisiteCrafting-section")+"\r\n"; miqo += "//Crafting List\r\n"; miqo += "solverPreset(recommended)\r\n"; miqo += "nqhq(balanced)\r\n"; miqo += "reclaimHQ(50)\r\n\r\n"; miqo += chapter("CraftingList-section")+"\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. Boom! You get the complete crafting scenario. Now copy and paste it into Miqobot.
7. Start.What this script does is simply parsing the webpage on your screen, extracting jobs, recipe names, and how many to craft. My personal investment is sorting by level and by dependency. The website likes to put reagents in weird order like Holy Rainbow Cloth – Holy Water. My script detects and reverts the wrong order.
And what is also cool is that website has all languages support. My script doesnt care about languages it parses names as they are so you get the correct scenario for Miqobot regardless.I think Miqo said there will be something similar in Miqobot one day. But until then – youre welcome.
EDIT: See that commented window.prompt near the end of script? Uncomment it and you will get a popup with scenario code already selected so you wont have to select it manually in console. Saves you a few seconds.
-
This topic was modified 8 years, 1 month ago by
Lyfox.
Topic: Miqo Radar
Hey all, i’m new here and would like to say this is a very well made bot with quite a few very useful features. The two features i use the most are the radar in palace of the dead and farming minigames in the gold saucer (thanks for the event, SE) and they’re both great! However, i’ve noticed that my fps tends to drop quite a bit when i open miqobot and after looking, it seems like the radar is always on and taking up anywhere from 10 to 20% of my cpu. Usually it wouldn’t be a problem but FF14 is more cpu intensive than i imagined (see image). Is there any way to disable the radar when i’m not using it and free up that cpu so miqobot can run better while doing other tasks like fishing of playing minigames?
-
This topic was modified 8 years, 1 month ago by
TNC.
EDIT: Scenario Engine is available in full release.
————————————
We happily present you Miqobot v1.2.6 Beta 🙂
This release introduces a brand new layer of Miqobot – scripting engine to connect and streamline activities in almost any way you can imagine.What Is Scenario
You can think of scenario as an adventure, a movie script written by you, starring your character.
Miqobot is the director and you are the creator.
You describe what you want to see, and Miqobot follows your instructions to recreate the finished movie directly on your screen.Scenario consists of chapters.
A chapter is a sequence of logically connected actions made to achieve a certain goal.
For example, when you want to fish, you teleport to a desired location, navigate to a fishing spot, equip a bait, choose what skills to use, decide how long to do it, and then finally start fishing. Until today Miqobot could only do the last step. From now on she is capable to do all of them. You only have to tell her what exactly to do.Chapter consists of script lines.
Each script line describes a single action – teleport, navigate, select bait. In technical language we call them functions.Function consists of function name and arguments.
- Name describes the action itself: teleport.
- Arguments describe details: teleport(where).
So if you want to teleport to Zenith, you would write:
teleport(Zenith)
And that’s it.
By combining multiple actions together you create a detailed script of what you want Miqobot to do with your character. She will follow your script step by step and will try her best to recreate your adventure.Functions
This is the list of currently implemented functions.
Full documentation is available directly in Miqobot. Press?
button to open it.Please note that many functions have aliases.
Aliases are designed to make script easier to write, read, and manage. We highly recommend using aliases whenever possible.- startFishing() – Commence fishing.
- startGathering() – Commence gathering.
- startCrafting() – Commence crafting.
- startDesynthesis() – Commence desynthesis.
- startRacing() – Commence chocobo racing.
- startMinigames() – Commence minigames activity.
- startSquadronDungeons() – Commence squadron dungeons activity.
- startAetherialReduction() – Commence aetherial reduction.
- startMateriaExtraction() – Extract materia from equipped gear.
- deliverCollectables() – Deliver collectables to the closest NPC.
- deliverGCGear() – Make expert delivery to the closest NPC.
- diademBoom() – Release a blast of Aetheromatic Auger.
- diademBoomTarget() – Add target for Aetheromatic Auger.
- selectFishPreset() – Select preset for fishing.
- selectGatherPreset() – Select preset for gathering.
- selectGatherRotation() – Select rotation for gathering.
- selectCraftMacro() – Select macro for crafting.
- selectSolverPreset() – Select preset for crafting solver.
- selectDesynthesisList() – Select preset for desynthesis.
- selectGrid() – Select grid for navigation.
- selectRaceWaypoints() – Select waypoints for chocobo racing.
- sendKey() – Send key into the game.
- sendIcon() – Press hotbar icon.
- holdKey() – Hold key in the game.
- afkFor() – Do nothing for amount of time.
- afkUntil() – Do nothing until specified time.
- workFor() – Stop next activity after amount of time.
- workUntil() – Stop next activity at specified time.
- randomAfkFor() – Do nothing for random number of seconds.
- addGoodWeather() – Add specified weather to whitelist.
- skipBadWeather() – Check whitelist for current weather.
- resetGoodWeather() – Clear weather whitelist.
- goToXYZ() – Navigate to specified coordinates.
- goToWaypoint() – Navigate to waypoint on the grid.
- goToWaypointPrecise() – Navigate to precise coordinates of the specified waypoint.
- goToRandomWaypoint() – Navigate to random waypoint from the list.
- goToRandomNearby() – Navigate to random coordinates in the vicinity of waypoint.
- goToZoneGate() – Navigate to another zone and wait until it loads.
- turnToAngle() – Turn camera to specified horizontal angle.
- turnToVAngle() – Turn camera to specified vertical angle.
- mount() – Summon a mount.
- dismount() – Dismiss a mount.
- fly() – Rise in the air.
- land() – Land on the ground.
- sneak() – Activate sneak.
- unsneak() – Deactivate sneak.
- sit() – Sit down.
- standUp() – Stand up.
- repair() – Mend equipment with dark matter.
- repairNpc() – Mend equipment at the closest NPC.
- return() – Return to your home point.
- teleport() – Teleport to previously attuned aetheryte.
- teleportIfNotThere() – Teleport to previously attuned aetheryte.
- teleportNpc() – Teleport using NPC or aethernet.
- changeJob() – Equip gear set of specified class or job.
- changeBait() – Equip new bait for fishing.
- changeGig() – Equip new gig for spearfishing.
- findFish() – Find fishing spot in given direction.
- setFishNoIntuitionBait() – Bait to equip when no Fisher’s Intuition.
- setFishNoIntuitionPreset() – Preset to select when no Fisher’s Intuition.
- setFishIntuitionBait() – Bait to equip when Fisher’s Intuition is active.
- setFishIntuitionPreset() – Preset to select when Fisher’s Intuition is active.
- addFishMoochPreset() – Preset to select when moochable fish is hooked.
- addFishMoochBlacklist() – Prevent mooching specified fish.
- holdFishMoochUntil() – Hold a moochable fish until specified time.
- setFishPatienceGP() – Set the required GP amount for Patience to activate.
- setFishWeatherBait() – Assign bait to switch during specified weather.
- setFishWeatherPreset() – Assign preset to select during specified weather.
- setFishDoubleHookTug() – Limit double hook usage to specific tugs.
- gatherTouch() – Open and close gathering node.
- setGatherSlot() – Set slot number for gathering.
- addGatherRotationIfGP() – Add gathering rotation to GP-based selector.
- setCraftRecipe() – Craft next recipe by name.
- setCraftNQHQRatio() – Define preferred NQ:HQ ratio for next recipe.
- setCraftIgnoreQuality() – Define “ignore quality” setting.
- setAutoSneak() – Define “auto-sneak” setting.
- setAutoSprint() – Define “auto-sprint” setting.
- setRaceClass() – Set class for chocobo racing.
- setRaceCourse() – Set course for chocobo racing.
- setRaceAbility() – When to use abilities in chocobo racing.
- setRaceAccelerate() – Set accelerate condition in chocobo racing.
- setRaceDecelerate() – Set decelerate condition in chocobo racing.
- setMinigameDifficulty() – Set difficulty for MGP minigames.
- setMinigameEachCount() – How many times to play each MGP minigame before switching.
- setMinigameDoubleUntil() – Set condition for Double Down choice in MGP minigames.
- setMinigamePlayFor() – How many minutes to play MGP minigames.
- setMinigameAfkFor() – How many minutes to afk at MGP minigames.
- setSquadronDungeon() – Select a dungeon preset for squadron dungeons.
- setSquadronFullClear() – Set “full clear” setting for squadron dungeons.
- setSquadronOpenCoffers() – Set “open coffers” setting for squadron dungeons.
- setSquadronDutySupport() – Set “duty support” setting for squadron dungeons.
- koCheckpoint() – Set the current chapter and line as KO checkpoint.
- koSetCatchUp() – Mark the current chapter as catch-up chapter.
- koResetCatchUp() – Forget the previously marked catch-up chapter.
- repeatChapter() – How many times to repeat current chapter.
- repeatChapterFor() – Repeat current chapter for amount of time.
- repeatChapterUntil() – Repeat current chapter until specified time.
- repeatAll() – How many times to repeat scenario.
In addition, a script may contain comments.
Type // to write a comment. Anything after // is considered common text and is not interpreted by Miqobot.An important note!
The previous version of Miqobot is not aware of scenarios. If you launch Miqobot v1.2.54 from the same folder, your scenarios and new presets will be lost.Of course, you can always restore them from automatic backups.
Planned Functions
This is only the beginning.
There will be many more actions available in the future. We will be making new functions for you to experiment with.- Vendor NPC interactions.
- Equipping recommended gear.
- Retrieving items from retainer.
- Assigning retainer ventures.
- Converting spiritbonded gear.
- Accepting and initiating levequests.
- Training chocobos in stables.
- Custom popups.
- Switching chapters and scenarios.
- Fish whitelist to customize Release feature.
- GP-based and hidden-based rotations selection.
- Smart cordials usage.
- Smart food and manuals usage.
There are already lots of accepted feature requests that will be implemented as addional modules for Scenario Engine.
But first, please try creating scenarios with the current toolkit.
And please give us your feedback!Topic: where is gathering collect?
just wondering why is there a collect on the fishing and crafting and not on the gathering? Not sure how to collect and use that portion when it keeps taking it off unless i add glove before hitting the node. is there is a trick to it, please let me know in case others don’t 😀
Miqo is a great product but there is some improvement to be made 😀
A. Mooch Problems
1. Darkstar/Cornelia
Basically, we have to gather a number of fish to gain a buff, then change the bait to catch the big fish.
Miqo doesnt have feature to change bait based on “Fisher Intuition” buff and to change back when we lose that buff / dont have that buff. For these 2 fishes I play manually 🙁2. Old Hollow Eyes
Midge Basket -> Goldfish (light tug) -> Old Hollow Eyes (big tug). There is Lamprey (another light tug) that mooched from Goldfish (Light Tug) this leads to loss of GP.3. Magic Carpet
Bait – Medium Tug – Large tug. But at the same hole there is another Bait – Medium – Medium. Miqo will keep using Powerful hookset.4. 2 fishes that can be mooched on the same hole
Well this one is simple, please add white / black list of fishes that we want to use as mooch.B. Using Cordial
Please add an option to use Cordial when fishing. Basically Miqo should stop for a bit and use cordial when it’s up. It’s useful for low hook fish like Ignus Horn, Floating Boulder.I finally got around to trying the fishing with the use of patience and the different hooksets. It works flawlessly and i really really enjoy the bot all around.
I was wondering if there was a way for the bot to use a cordial during fishing? It seems the only time the bot will use cordial is when its gathering(bot/min).
-
This topic was modified 8 years, 1 month ago by