Forum Replies Created
-
AuthorPosts
-
November 11, 2020 at 11:31 am in reply to: Question on saving gill on frequent teleporting scenarios #24945
You can also set up to three (four if you use the companion app) favoured destinations, which you teleport to for less money. IIRC, the cost of teleporting to favoured destination is half the normal price. Between that, the free destination, and the home point for using return, some careful arrangement and willingness to fly more distance should cut your teleport costs a fair bit.
You can set up sound alerts for whispers in the game itself. I have various sounds for whispers, party messages, FC messages, and emotes targeting me. A pause function would definitely be nice, though I think it’s already planned.
Also, if you’re already using scenarios, it’s not hard to make Miqo log you out or exit the game – she already closes all UI windows when done with crafting and when finished gathering at a node, so at that point you could just use the
sendKey
function to pull up the system menu, select “log out” or “exit game”, and activate it.If you’re willing to dig around in your system registry, you can track down the group policy flag to disable windefender. Also, it should auto-disable itself if you install another antivirus; I know my system did.
I managed to find a bunch of subkeys under
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Defender
that looked relevant, and each key had a value namedRegKeyPathRedirect
and one namedRegValueNameRedirect
. By going toHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Policy Manager
(the value ofRegKeyPathRedirect
) and setting a value with a name taken fromRegValueNameRedirect
to0
, I got windefender to stop doing things. Specifically,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Defender\AllowRealtimeMonitoring
has the valueRegValueNameRedirect
set toAllowRealtimeMonitoring
, so I setAllowRealtimeMonitoring
to0
inHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Policy Manager
, which I took from the value ofRegKeyPathRedirect
. After a reboot, windefender stopped trying to scan my system.Disclaimer: if you don’t know what you’re doing, don’t touch your registry. You might break some very important things. Also don’t run with no AV because that’ll fuck your system right up.
Also, I like that it doesn’t inject, and also doesn’t allow you to do illegal things. I don’t bot because I want to break the game – I bot because I have disabilities that make it harder to keep up with regular players.
I’ve never been a fan of illegal/game-breaking hacks either, yeah. And I do like that it’s technically-safe (although you always have to worry about socially-safe no matter what bot you use) even though SE doesn’t seem to be cracking down on that kind of thing.
The combat assist is especially robust, and the crafting solver is actually quite useful since the recent updates and really help simplify matters without having to juggle a handful of various macros.
I forgot to mention it in my OP, but I also love the crafting solver. I can just pick a recipe, punch in a quantity, and hit go. Miqo will figure out how to craft as much of it in HQ as possible, and take care of all of it on her own! I’ve not really used the combat assist much, though. What do you usually use it for, running dungeons/trials/raids to farm?
It would also be nice to have a keybind (or at least a button on the UI) to toggle pause as well. Recently, I was gathering a specific number of nodes when a Hunt target popped up. I had to choose between stopping to go kill it or not needing to calculate the number of nodes left to harvest from, but if I could pause Miqo without losing that progress, I could have broken off to fight and then gone back to farming seamlessly.
Admittedly not a very common or important thing, but if pausing is already planned I figured I may as well mention it.
And yes, The repair system works such that when you repair an item with Dark Matter, you ALWAYS add 100% condition to it, so repairing an item at 99% will make it wind up with 199% durability, and make it last almost twice as long.
You can’t “waste” durability when repairing manually. It’s a very convenient system.
File that under “things I wish the game actually told me” then… it’s a sizable list, unfortunately. I’d been thinking that 100% durability was the max and manually repairing would waste any excess, so I kept manual repairs for when I was in the field and needed to fix something that’d gotten heavily damaged. And then I got better gear and kept hitting the menders every time I passed one and doing my crafting in front of them and basically stopped carrying dark matter at all.
First, I’m not crafting until gear breaks. I’m crafting until I can’t craft more, as in I’ve run out of materials. That’s why I posted this, if I wanted to just craft until gear breaks I wouldn’t be bothering with interrupts to repair.
As for what I’m doing, I’m picking a crafting recipes I have lots of materials for (ores to ingots, skins to various leathers, etc) and having Miqobot automote a few hundred or so rounds of actually crafting it. I sit in my private apartment next to the repair NPC, craft in the background while I watch TV or read or something, and occasionally break the crafts to repair my gear. What this topic was about was a way to do that without having to manually stop Miqo between crafts, repair my gear, and restart. If I could do that, I’d be able to literally gather or buy thousands of materials and leave crafting going without paying any attention to it, rather than interfering every hour or so.
My complaint with the suggested scenario approach isn’t that I have to manually pick the craft, it’s that I’d have to edit the scenario to change how many crafting repetitions are performed. There’s no way to have Miqo notice when the crafting can’t be continued and abort the scenario, preferably with a messagebox popup to alert me. She’d end up sitting there opening the crafting log, going “can’t craft!”, closing it, opening the repair NPC, going “nothing to repair!”, closing it, and then repeating. I’d rather not drop her into a thrash loop like that.
My goal is to be able to have Miqo craft a particular recipe I manually select, repair my gear at the NPC as needed (either when it gets too damaged or every N cycles), and automatically stop and return to idle when no more crafting can be done. The crafting tab can’t do the second part of repairing at the NPC. A scenario can’t do the third (arguably more important to me) part of going to idle when the job is done.
Maybe it’ll help if I lay out the exact list of steps I’m looking for:
- Check whether the player is able to craft the currently selected recipe.
- If they can, skip this step. Otherwise, show a popup alert and stop, as in return to idle.
- Craft one of whatever recipe is selected.
- Check if gear needs to be repaired, by threshold once implemented and by repetition count until then.
- If gear does not need to be repaired, skip this step. Otherwise, open the nearest repair NPC and do so.
- Repeat from step one.
The problem is that of the two available crafting automation methods, neither can actually do this. The crafting tab can’t handle step 5 (repairing gear at an NPC instead of using the repair ability) and scenarios can’t handle step 2 (stop and return to idle if the recipe can’t be crafted).
- This reply was modified 4 years, 2 months ago by Vixen. Reason: Fix formatting
Flow control is the term for manipulating the “flow” of program execution. Technically, the repeat family of scenario functions are a form of flow control – you’re redirecting the flow from “move to next line” to instead be “move to specific point” – but they’re one of the most basic forms of it, and they don’t offer any sort of inline decision making. For instance, being able to say “if I can craft the currently selected recipe, follow this path; otherwise, follow this path instead” is a form of flow control. Even if the “path” in question is just executing a specific chapter or halting the repeated execution of the current one, that would allow arbitrary-size instruction lists.
The difference is that you have a fixed-size set of actions to take. “Go here, gather for this many repetitions. Move here, gather for this many repetitions.” That’s all what programmers call hardcoded; it’s specified directly in the set of actions to take and can only be changed there. An alternative (if you wrote your own bot to do it) could be something like “if I have less than X of this item, then: go here, gather on repeat, stop gathering once I have at least X; once I have at least X (regardless of whether I had to gather or not), check how many I have of this other item; if I have less than Y of that one…” and the checks for “if I have…” and “stop when I have…” would be flow control.
In my specific case, I manually acquired these resources, so I can’t make any guarantee about how many I have. Even if I didn’t, some nodes offer +1 to gather quantity with high enough stats. Your scenario works to craft a particular item, but I’m looking for “whatever recipe I have selected in the game, craft it until I can no longer craft it for whatever reason; every X crafts, stop and use the NPC mender to repair, then continue crafting as before; once I can no longer craft it, return both the game and Miqobot to idling and preferably alert me”. There’s no way to do that with scenarios as they are now, and making it possible would be a big task and would also complicate them a lot.
In a form of pseudocode, what I’m looking for is:
while (able_to_craft_current_recipe): try_to_craft(200) repair_at_npc() tell_user_crafting_is_done()
But all that’s available is:
until_user_manually_stops_scenario: try_to_craft(200) repair_at_npc()
That second one will repeat forever, because there’s no conditional flow control – no way to break the loop whenever it finishes as opposed to after a specific number of repetitions. That’s what I mean by “arbitrary-size” instruction list. I don’t know how many repetitions will be needed unless I modify the scenario for every single different craft I have to do.
For arbitrary inputs to be handled, there must exist a way to execute an arbitrary number of instructions. That is to say, in order to handle anything beyond a particular, static, unchanging situation, you need to be able to determine what to do “at runtime”, while the scenario is executing, not just “at compiletime”, before you hit start. There’s no way for a scenario to adapt to the circumstances I need, so scenarios can’t do what I’m trying to.
- This reply was modified 4 years, 2 months ago by Vixen. Reason: Trying to improve the formatting
Would you please clarify, why do you wish to avoid using scenarios?
Scenario Engine was created in order to satisfy an extreme variety of custom requests, such as this one. It is physically impossible to implement an additional UI setting for every minor QoL request, therefore we created a simple scripting engine that would offer a flexible way to customize Miqobot behavior.
A simple scenario would be able to do exactly what you ask for:
craft(200) repairNpc() repeatChapter(5)
Most pressingly, there is no exit condition. When crafting stops – for any reason – the
craft()
andrepairNpc()
functions (as I understand the documentation) will not abort the scenario, so once all materials are consumed the scenario will endlessly attempt to repair my zero damaged items. Related to that, would there be any notification to me when that happens? By using the normal crafting feature, I get a popup message when crafting finishes so I know I’m ready to move to the next thing I want to craft. If I were to use a scenario like this, as best I can tell I would need to change the crafting recipe manually when it’s done, since there’s no way to say “once this cannot be crafted, move on to this”. Without any kind of flow control, I’m just not quite comfortable doing arbitrarily-sized tasks with scenarios. I could set them up to perform a known and limited-size sequence of tasks, but anything that would require a decision or repetition doesn’t work so well.Please don’t misunderstand, I’m not saying scenarios aren’t good! I tend to do a lot of fishing to level and then desynthesis to get rid of the things I can’t use in crafting, so being able to set up a scenario that teleports, walks, baits, fishes, and repeats at specific locations is great, especially since I can even follow it up with a teleport to my apartment, going inside, walking to the mender, repairing, changing to culinarian, desynthesising by listed names, and repairing again. But that works because I have a predetermined fixed-size list of steps to follow without needing to make any decisions, and even that assumes I don’t run out of bait: “Go to site A, pick this bait, fish for forty minutes. Go to site B, pick bait, fish. Go to site C, pick bait, fish. Teleport to apartment. Walk. Target nearest NPC. Press confirm button. Press confirm button. Wait one minute real-time to allow loadscreen to finish. Walk. Use NPC repair. Change job to CUL. Use NPC repair. Select desynth preset. Desynth. Use NPC repair. Finish.”
If I need any kind of decision, including just deciding when to break the loop instead of going for N iterations, I can’t use a scenario as it is now. As powerful as they are, there’s no flow control, and that cripples a lot of possibilities. Unfortunately, I expect that implementing flow control, especially if it includes arbitrary conditions instead of a prebuilt set of functions (for instance,
skipIfCantCraft()
maybe), is a really big task. Especially with arbitrary conditions, that’d basically be making a custom programming language, and I remember that you didn’t want to do that because it would be less accessible to non-coders trying to use it.What I’m getting at, I suppose, is that scenarios are powerful and absolutely do solve a lot of custom situations. But they don’t, and possibly can’t, solve all of them, at least not without the devs putting in a whole lot of work to make them a lot more complicated… which would also then make them harder for a lot of people to use.
-
AuthorPosts