What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[Lisbeth] Your own personal crafter!

Status
Not open for further replies.

Neverdyne

Community Developer
Joined
Sep 12, 2014
Messages
649
heBicXN.png


The best crafter in Aincard has come to serve you!

Description

Lisbeth is crafting made simple. Just tell
HTML:
her the amount and recipe by name; she'll do the rest! If your recipe requires other craftable components, she will plan out how to craft them beforehand. Say you want to make an Iron Cuirass, just give her that single order and she'll also make the Iron Rings and Iron Plates needed automatically. She'll switch between classes to craft your orders and their required ingredients. If you're missing an ingredient or you don't have a class to craft it, she'll tell you which ones and how many of them you need.

Setup & Orders


  1. Specify your gear set indexes for each crafting class. To do this go to Settings and change the list below GearSets.
  2. Specify your Craftmanship and Control stat values in Settings. If you're still leveling, leave them at 0.

To tell her what to do, go to Orders. A text file will open. There's an example order in there already, so you can alter that one if you want; it's pretty self explanatory. Orders are not to be considered sequential, but simultaneous; meaning she won't use the output of a previous order to craft the next. Save the file before starting the bot! In addition to the recipe's name and amount, you can also add a field for (with example):

Code:
- Name: Knight's Bread
  Amount: 5
  Job: Armorer
  Strategy: Starry Night Miter

If you specify the strategy in the order like above, that same strategy will be used to craft all of the order's components. Specifying the Job is useful for leveling a job through a recipe that another job also has. In this case, if you don't specify, it's possible that Lisbeth will craft it with the other job.

Strategies


Lisbeth uses strategies to craft, which are basically combat routines for crafting. Cross class the following skills to get the best results. Required skills are in bold. I'll add more strategies as time goes on. You can choose which strategy to use on a per order basis, just put its name on the Strategy field in your order.

Hasty And Kinky
Simple, yet effective. Can be used even if you're level 1. Doesn't take risks.

  • Careful Synthesis / Careful Synthesis II (Highly Recommended)
  • Tricks of The Trade
  • Hasty Touch
  • Byregot's Blessing
  • Steady Hands II

Starry Night Miter
For high level, star rating crafts with 80 durability. Revolves around a big mean Byregot finisher. Takes risks, tread carefully. Courtesy of Miter.

  • Careful Synthesis II
  • Rapid Synthesis
  • Great Strides
  • Innovation
  • Hasty Touch
  • Byregot's Blessing
  • Tricks of The Trade
  • Steady Hands II
  • Comfort Zone

Black Lotus
For high level, star rating crafts with 40 durability. This is what I used for the Lucis turn ins. You need good stats.

  • Careful Synthesis II
  • Rapid Synthesis
  • Great Strides
  • Innovation
  • Hasty Touch
  • Byregot's Blessing
  • Steady Hands II
  • Manipulation
  • Tricks of The Trade
  • Comfort Zone

Install

  1. Download and install Tortoise SVN.
  2. Create the folder in "/Rebornbuddy/BotBases/Lisbeth".
  3. Right click on the folder, and click SVN Checkout.
  4. Use the URL: https://subversion.assembla.com/svn/lisbeth/Lisbeth
  5. Before starting Rebornbuddy and wanting to use Lisbeth, right click the folder and click SVN Update. Change your settings again after updating.
 

Attachments

Last edited:
You sir, are legendary. Thankyou very much. I'll b e sure to check this out when i get home :)
 
Thanks! I'm going to sleep, so if something doesn't work (which always happens when I release stuff) I'll check in the morning. Hopefully it doesn't blow your house up.
 
Thanks! I'm going to sleep, so if something doesn't work (which always happens when I release stuff) I'll check in the morning. Hopefully it doesn't blow your house up.

Fails to load, seems it's missing YamlDotNet

edit: Fixed by adding YamlDotNet folder in the Lisbeth folder. For other users, until Neverdyne can update it, you can use the YamlDotNet folder in his cardinal plugin, just copy and paste.

Lisbeth now loads, I'll report back later when i get a chance to test it
 
Last edited:
Yup, sorry about that. Forgot to add the folder. It should be complete now.
 
First test, GSM in SB gear (310/291) NQ mats, synth 25 Electrum Ingot... HQed them all.... Good start :).

Asked it to do it again, same session. Decided just to Careful Synth II all of them.

Closed the bot and restarted it. Now HQing again, I've turned debugging on so I can throw you some logs if needed.
 
Last edited:
Btw guys, if anyone has a bit of free time and would like to help me teach Lisbeth all the recipes in the game, I can show you how to teach her in bulk and then share the file with me so everyone has it. It's a very simple process but a bit tedius. I'm already halfway through most of them.
 
Give me a shout in a pm and i'll donate some time for the cause, I'd gladly help with the remedial work to keep you moving on yet another great addition to soa family :)
 
Will this not do multiple crafts on different classes ? I tried the below code and it did the first one then changed to the right recipe but didnt change jobs ?

- Name: Ash Lumber
Amount: 1
Class: Carpenter

- Name: Maple Syrup
Amount: 1
Class: Culinarian
 
Yes, as the original post says, I'm working on class switching but for now it doesn't.
 
so i was making some boarskin satchel belts and it doesnt seem to want to hq them just did careful synth 2 until they were all made

forgot to mention everrything before that was HQ
 
Last edited:
so i was making some boarskin satchel belts and it doesnt seem to want to hq them just did careful synth 2 until they were all made

forgot to mention everrything before that was HQ

Thanks for the report. Could you do me a big favor? :P Could you repeat what you just did, but set "Debug: True" on Settings. Then when the bot starts that order, you should see a message that says "I expect progress per synth to be X". Look at how much each synthesis is actually progressing, and compare the numbers. If they are not the same, then I know what to fix. There should also be a message in the log somewhere that reports your Craftmanship and Control stats, compare them to your actual values and see if they are the same.
 
New Version 1.01

- Fixed a bug with expected progress formula. This was causing the problems that she either fails the synth or doesn't increase quality at all.
- Added a new strategy, "Starry Night Miter", which REQUIRES Great Strides, Byregots, Innovation, Hasty, Careful Synthesis, Rapid Synthesis, Comfort Zone, Tricks, and Master's Mend II. It's meant for higher level recipes, but it might explode so be careful.
- You can now specify a strategy on a per order basis, you'll see the new field on the example Order file. Just leave it like that for normal stuff, and if you want to try "Starry Night Miter" change it to that.
 
Last edited:
Pretty impressive, good job as usual Neverdyne. My only complaint is that it seems to overthink lower level orders. For example, it took Aldgoat Leather, which really only requires Steady Hand and then Advanced Touch x3 and a single Careful Synthesis and turned it into a 13 step process.

Now, she didn't blow any of them up or fail to get 100% chance of HQ, but it's still less efficient than the optimal route.

Thanks. Do you mean it didn't just finish it once HQ reached 100%? Or do you mean you can live with not HQing 100% on those recipes? It's meant to finish straight up once HQ reaches 100.
 
Hi,
Really enjoying this bot you made. I hope you don't mind but I've been checking out how it functions on the hood (Unsure how to learn what methods/functions do with out seeing how other implemented them).

There is an odd bug i've ran across. When you specify how the amount in your Orders.yaml it seems that amount is being tied to two things.

First: When it is getting ready to do an order it is treating the "amount" as follows:
I want to craft Fishmeals 10 times which requres 3 anchovy per craft. So like your bot is suppose to it make sure i have at least 30 anchovy.

When it reaches the end of the craft I really produce 12 FishMeals with 1 craft but the bot takes the "12" produce to equal the "10" Amount. So it think the 12 FishMeals > 10 Orders so the bot assumes it is done.

Well okay so I assume that perhaps the Amount specified in the yaml is how much is produce so i say i want to produce 30 which should equate to 3 orders. Your both does it the approapriate thing as see, Hey 30*3 = 90 and you don't have 90!

Basically what it comes down to is Amount is being used as how many times I will use Synthesize then after each synthesize the Amount is being compared to how much was produced. Since not all synthesize are 1:1 it does turn out well.

To get around the bug i just copy/past the same Order in .yaml 5 times with the amount set to 1 to get the proper amounts of synthesize out. I think this only happens when a craft is a 1:many relationship which is probably only a Culinarrian issue.


I've tried to look through you code to narrow down but I'm tired and you'll probably find it faster then I could.

After looking at it closer I did find where the issue is. It is in your Order class. You take your current amount that was just crafted and compare it to the total amount that needs to be crafted.

Code:
public bool IsFinished
        {
            get { return Amount == 0 || isCancelled || (isInitiated && CurrentAmount >= totalAmount); }
        }

.
.
.
.
       
private int CurrentAmount
        {
            get
            {
                return hq ? Inventory.GetHqItemAmount(itemId)
                    : Inventory.GetItemAmount(itemId);
            }
        }

.
.
.
.
totalAmount = CurrentAmount + Amount;
currentamount is how much just got craft and amount is original how many orders were placed.
I suggest that CurrentAmount property should should be divided by how much is expected to result from synethsis before returning the current amount.

If you rather me didn't link or reference your code and pm you instead please let me know and i'll edit this. Also let me know if this make any sense it is late but I enjoy reading/learning code logic.
 
Last edited:
Status
Not open for further replies.
Back
Top