I want to do certain things at the start of each "day"

anachronda

New member
I've kind of been tearing my hair out, really. I'm not sure where to ask about mafia *the application* as opposed to ash scripting. When I tried to ask questions before, my question got put in a scripting area where people didn't understand the question. I haven't found good documentation on what interface elements are called and terminology, so that makes it harder to ask a question. I'm hoping that it will be clear this time I am asking about the mafia interface and not ash directly.

As the subject says, I want to do certain things each day. Up until now I have had to do it all manually. I did end up bookmarking a bunch of urls to manually visit, which made it a little easier to remember what I needed to do, and recently I learned there were some cli commands which I now run, but none of this is what I really want. I do the same things every day on every character I have, so I am sure there is some way to do this. In fact I am absolutely sure not only that mafia can do all the things I want to do, but that it should be a pretty general solution since none of it is particular to my situation.

Unfortunately nothing "obvious" seems to work. I looked at the "Daily Deeds," for instance. That seemed like a good place to start. In the preferences I see things to put in Daily Deeds, some of them look interesting, but if I actually load the panel or whatever it is there is absolutely nothing there I can do. All I see is some meters and a log from the cli events, stuff that is shown elsewhere. NO actual tasks or anything to do with what I would have thought Daily Deeds were.

Then there is an automation tab in preferences. Lots of interesting boxes there, many of which I have no idea about. It doesn't necessarily have all the things I want to do, but there is some stuff there - so let's check it. It would be nice if I could find out what these things meant - some of them I found what they probably are by roundabout searches in the wiki, but whatever. It doesn't matter anyway, because no matter what I check in there nothing actually happens when I connect or really at any other time. The only automatic things I have got working are (to some extent) the autoadventuring/autorecovery and the check for ode/magnesium/field gar/overdrinking when consuming stuff.

While we're on the subject of drinking and eating, I also noted that there is something called breakfast. But I see no place to configure it or anything. In aftercore I generally have the same diet, so it would be interesting to look into how to do and control that.

I did find this page, which seems to suggest I am almost on the right track. But I guess it is waaay outdated because nothing it describes is actually in the interface. http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Setting_Up_Breakfast

Can you help me? I am using version 17.6 and download the latest successful build to use pretty often. Mafia is a great program and there is a lot of depth. I'd like to learn as much about it as I can, eventually.

Thank you for your time and patience.
 

Magus_Prime

Well-known member
Hello,

It would help if we had some idea of what you mean when you write: "I want to do certain things each day". If you can do that I'm sure folks can help you customize KoLmafia to your satisfaction.

Magus
 

heeheehee

Developer
Staff member
Daily Deeds specifically refers to the panel in the GUI that serves as a reminder of various things to do; you can then click all the buttons to do the tasks.
https://i.imgur.com/KdWSxAf.png

Regarding the "setting up automation" wiki page: that seems to now be split across the various "Automation" sections in the preferences -- the ronin-clear / in-ronin sections are split up into "in ronin / after ronin / always", and the "On Login / On Logout" scripts are in the Automation section itself.

A nice intermediate between using a full-blown ASH script and manually entering CLI commands is to codify those commands in a CLI script. In its simplest form, it's just a .txt file, with one line for each command you want to run. You can then set that .txt script as your "On Login" script (just specify "breakfast.txt" if that's what you've called it).
 

heeheehee

Developer
Staff member
One last comment: the notion of "breakfast" doesn't actually correspond to eating or drinking anything; it refers to "things you do first thing in the morning when waking up". Which I guess would be more aptly called a "morning routine", but the name's probably here to stay.
 

fronobulax

Developer
Staff member
I'm having difficulty trying to help because I don't think we mean the same thing when we use the words "manual" and "automated".

For example, I can log in and then press the Daily Deeds "Breakfast" button and mafia will do several things for me. I can set a checkbox so that mafia will do the functional equivalent of me pressing the button when a character logs in. "At the end" the only difference is one button press on my part. Or I can bypass both and invoke the "breakfast" command from a script, that almost certainly does other things besides besides that one command.

Breakfast does several things, for example summon Crimbo Candy and read the Guild manual. I can go to the Skills casting tab to summon candy and I can use the manual from the Item Manager. Those two actions are almost certainly "manual". But is it "automatic" when I press breakfast to do them both (because two things are done with one action of mine) or is it manual because I had to press the button?

Since you linked to setting up breakfast and correctly noted that screen shot is out of date, you should go to Preferences and then Automation and the various sub options under Automation are now where most of the (former) Breakfast configuration items exist.

In my case, at least, answers might be more helpful if the question were more specific. You have several things you want to do every day. Perhaps if you list two or three of them, ask questions until you are comfortable with the answers and then ask about the next items on your list you will get helpful answers.

If your goal is to avoid ash scripting my guess is that your answers will include: a reference to a specific mafia setting or interface component that will do what you want; a reference to one or more command line commands that will do what you want; or a statement that you cannot do what you want without ash scripting.
 

anachronda

New member
Thank you for your swift replies. I am happy to enumerate the stuff I want to do, but I was concerned we'd get in the weeds right off since I want to start with what I can do in the actual interface (checkboxes and whatnot) first before getting too into custom ash, unless that's the only way to do this stuff. I don't have a problem with ash, but I do want to try and learn the mafia interface better as well (like what preferences and checkboxes do, what it already does for me, etc.)

I want to start, though, by reiterating two things:

1) Daily deeds has no buttons or interactive elements at all for me. There is absolutely nothing clickable or interactive in that tab/panel/window for me. All that shows for me, or has ever shown for me no matter what I set in preferences, is a meter showing how many substats I need to level each stat and an section that shows the same events that show up in the gcli (without anything to do there - just display). That seems not to be how it is supposed to work, so how do I make that work properly?

2) I've selected a bunch of boxes in "automation," although some of them I am unsure what they do. I do not know how to even find out what they mean. However, nothing happens there, either. Obviously, as with Daily Deeds, I am doing something wrong. How do I get that to work?


As for the daily stuff, the list has been expanding over time and will probably continue to do so, but they generally break down into three categories:

1) use all my once a day skills like saucecrafting, pastamastery, etc.

2) use all my once a day items like the bacon machine and the genie

3) collect "all the things!" (crimbo tree, mirror, jackass plumber, hippy produce stand, etc)

There are some buffs and summons/creates I use more or less every day that could go in there, too, like the pool table and the drinks/enhances from the source terminal. I'm not sure whether to put them so much in the daily stuff, but it is kind of a deal when I forget them, so I probably should.

Currently these are the specific things I have been using, solutions to which have evolved over time. At first I had to just remember to manually click all these things by travelling normally, before I figured out urls I could bookmark for some of them and some commands for others.

1) collecting from the crane games (rumpus and VIP room), checking Jackass Plumber, getting drink me potions : all through bookmarked urls; collecting from the hippies involves an in-game macro to change outfit and /go there. I tried putting the hippies in a gcli alias, but even though the gcli says "going" it doesn't actually collect. I have to do it in-game for it to count for some reason.

2) Once per day skills and items: mostly done with in-game macros, gcli commands, and aliases. I have a topbar button that does some of the in-game stuff and some aliases in gcli to do others. Nothing to just be one click or command, because reasons.

3) Looting the hermit and infernal seals I had been doing manually in the case of the hermit (go /hermit, click click click) and with a repeated macro for the infernal seals. I have since found the gcli command for the hermit (although I still have to do two steps - hermit? to find out how many clovers and then "hermit x clover" where x is the number I saw in the first command. I can't just tell it to get all the clovers? The seals, it turns out, will autoadventure if I use them in the items tab, so that's good.

Other things I am using urls for include fighting the tentacle, getting the friar and mysterious island arena buffs

I also mine the volcano, and when I do, I have to manually click on the wtf bunker to check/do the turn-ins, three times on the tower after changing to my disco outfit (plus some additional clicks to navigate back to it) to collect my free volcoino and check the gift shop to see if I have enough. I could /count, but that would be an extra step so I just go there every time. That stuff won't be automatic since I don't have a charter, but it would be nice to figure out how to do that with a command or something.

a more verbose list, which I am sure I am forgetting things for - the forgetting is part of my problem here (sorry for repeats):
summon DB, pastamancer, and sauceror ingredients (aforementioned pastamastery), and a few others like Crimbo Candy
use the toaster
use the infinite bacon machine
wish for three pocket wishes
collect from the hippies
check jackass plumber
collect from the crane games and snack machine
collect from the swimming pool
cast buffs then take a hot april shower then do it again
collect from the crimbo tree and mirror
collect from the kgb briefcase
check the Floundry to see where the fish are biting
fight the tentacle and the seals
buff at the pool table, friars, swimming pool (lapdog), ballpit, and arena
buff at the source terminal and summon 3 gibsons (pretty much always gibsons and +item)

I am definitely forgetting a bunch more stuff, but you get the idea and those are the pretty basic ones.
I also, unless I am in-run and do not have access to everything, eat the same diet every day and try t o make sure I have enough stuff on hand to do that. ode, magnesium, field gar, tuxedo shirt, etc are always involved of course

Thank you for your time and patience.
 
Last edited:

lostcalpolydude

Developer
Staff member
1) Daily deeds has no buttons or interactive elements at all for me. There is absolutely nothing clickable or interactive in that tab/panel/window for me. All that shows for me, or has ever shown for me no matter what I set in preferences, is a meter showing how many substats I need to level each stat and an section that shows the same events that show up in the gcli (without anything to do there - just display). That seems not to be how it is supposed to work, so how do I make that work properly?

Just below those meters is a clickable dropdown that you will want to change to Daily Deeds.
 

lostcalpolydude

Developer
Staff member
On the login page (where you type in your username and password), there is a Breakfast checkbox. I suspect that you don't have it checked, because otherwise it would do a lot (if not all) of the things you have listed, unless you changed other settings to make them not happen.
 

fronobulax

Developer
Staff member
Small steps.

So that we are on the same page, the screen shot below shows "Daily Deeds". It is the area in the right, center. The words "Daily Deeds" are part of a drop down menu. If you don't see those words there try clicking on the down "thingie" to the right to bring up the menu and select Daily Deeds as the option. One you have it you should see buttons, which are interactive and will do something, and lines of text which are for information only and not interactive. Many of the specific things you called out are done as part of breakfast. Thus I would suggest you either check the breakfast box on the "opening screen" before you log in OR you press the Breakfast button in the Daily Deeds panel.

Capture.PNG

One Daily Deeds are available and working for you the way everyone else expects them to work then we can discuss how to add items to the list, alternatives to Daily Deeds and other preferences/settings that deal with "automation" and what they mean.
 

fronobulax

Developer
Staff member
I think they actually went to General -> Daily Deeds to open a separate window. Maybe that doesn't actually open to Daily Deeds by default, making the name confusing?

I didn't know that. When I did it, I did get what I expected for Daily Deeds, but the same drop down menu does exist. If the OP does that, has the words "Daily Deeds" selected in the drop down and does not see something similar to what I posted then we have a head scratcher. However if they don't see Daily Deeds then they need to select it from the drop down and then there is (probably) a Bug Report to be filed because General->Daily Deeds doesn't actually choose the Daily Deeds.
 

Pazleysox

Member
I've kind of been tearing my hair out, really.

Have you tried looking around the forums to see if perhaps there is a script to do what you are looking to do?

For example: Rollover-Management is a script that I wrote that can easily be modified to be used first thing when you log in. I personally use it at the end of the day to pick up the things all my other script might have missed. It checks for what I believe to be (at the time of writing the script) everything that can be done/cast/summoned/adventured/etc FREE each day. It does not however cast the genie wishes, or solve the KGB for you. There's plenty of other scripts (or even a simple chat macro "/wish more wishes" out there that can do just that.

It's pretty simple to write a script that calls multiple other scripts (You can use my rollover management to call the KGB script for example). Then you can have everything you want done, done all at once, or you can choose to do things one at a time.

It's always a good idea to search the forums before asking questions, at least I've found it helpful myself. You would be amazed the information you can find, and the scripts that have been written so long ago, the forum is buried!
 

anachronda

New member
Thank you for your replies.

It did turn out that what I was missing in part was checkmarking "breakfast." I always thought breakfast meant a meal, and that is one thing I could not find out how to set (what to have for that meal). Once I did check that box, after making sure that the automation stuff was all checked and the pulldowns were set at the bottom of those sections, the majority of things did happen.

As for daily deeds, I had moved things into that in the preferences but nothing was showing up when I actually launched the panel/window. All I was seeing was stuff about substats and events. As it turns out, this is because the default is to show the session and not the deeds, and there is a pulldown I was missing.

I'm still working on making Daily Deeds have all the stuff it could have in it, and tweaking it. I don't think all my selections are showing there yet, but I could be wrong and will work on specifics if it turns out there actually are missing items there. If it turns out to be the case I should probably make another thread for that question.

As for scripting, it was mainly my intention to first establish what stuff mafia does without it, and then script anything else or snag one that does what I need. I thought that probably the stuff I most needed was general enough everyone already wants to do it, and it looks like I was correct. At this point my question would be whether putting a script in the "on login" space would replace "breakfast" and make it not run, or whether it would run after "breakfast." If I am not mistaken, putting a script in the recovery field replaces the built-in autorecovery - thus the question.

As for meals and whatnot, it would be interesting to figure out how to automate that, too. Maybe even acquisition of the elements of those meals. I noticed there is an acquire command, but maybe it doesn't get things from the mall like I would need it to?
 

Magus_Prime

Well-known member
As for meals and whatnot, it would be interesting to figure out how to automate that, too. Maybe even acquisition of the elements of those meals. I noticed there is an acquire command, but maybe it doesn't get things from the mall like I would need it to?

There are scripts for that. The one I use is EatDrink.
 

heeheehee

Developer
Staff member
At this point my question would be whether putting a script in the "on login" space would replace "breakfast" and make it not run, or whether it would run after "breakfast."
Your login script runs after mafia runs its set of breakfast activities.

If I am not mistaken, putting a script in the recovery field replaces the built-in autorecovery - thus the question.
Correct.
 

fronobulax

Developer
Staff member
...

At this point my question would be whether putting a script in the "on login" space would replace "breakfast" and make it not run, or whether it would run after "breakfast." If I am not mistaken, putting a script in the recovery field replaces the built-in autorecovery - thus the question.

The breakfast checkbook on the log in page is not overridden by the presence of a login script. However, order of things matters and breakfast is first. I store some "breakfast" items in my DC and the login script pulls them. I leave the checkbox unchecked and call the command "breakfast" from the login script after I have pulled from the DC.

If you set an auto recovery script then it will be run instead of mafia's internals, although your script can invoke them if you want.

I don't recall being present when it was named but I do remember a time when "breakfast" was the word mafia devs and users agreed upon as meaning "all those things you do first thing in the morning". Eating, drinking and spleening were understood NOT to be part of breakfast because sometimes you wanted to adventure before doing those. They were also not generally part of mafia automation because there were too many choices and preferences, hence EatDrink.ash. But after a decade some of those nuances have been obscured and there is probably a better name for "breakfast".
 
Top