Demonbuddy for Season 16 released, updates.buddyauth.com !
  • Visit Rebornbuddy
  • Visit Demonbuddy

[Lisbeth] Your own personal crafter!

Discussion in 'Archives' started by Neverdyne, Feb 12, 2015.

Thread Status:
Not open for further replies.
  1. Neverdyne

    Neverdyne Community Developer

    Joined:
    Sep 12, 2014
    Messages:
    611
    Likes Received:
    14
    Trophy Points:
    18
    [​IMG]

    The best crafter in Aincard has come to serve you!

    Description
    [HR][/HR]
    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
    [HR][/HR]

    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
    [HR][/HR]

    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
    [HR][/HR]
    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.
     

    Attached Files:

    Last edited: Jul 9, 2015
    ravanello and RhysG like this.
  2. Sodimm

    Sodimm Member

    Joined:
    Nov 8, 2014
    Messages:
    379
    Likes Received:
    6
    Trophy Points:
    18
    You sir, are legendary. Thankyou very much. I'll b e sure to check this out when i get home :)
     
  3. Neverdyne

    Neverdyne Community Developer

    Joined:
    Sep 12, 2014
    Messages:
    611
    Likes Received:
    14
    Trophy Points:
    18
    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.
     
  4. Sodimm

    Sodimm Member

    Joined:
    Nov 8, 2014
    Messages:
    379
    Likes Received:
    6
    Trophy Points:
    18
    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: Feb 12, 2015
  5. Neverdyne

    Neverdyne Community Developer

    Joined:
    Sep 12, 2014
    Messages:
    611
    Likes Received:
    14
    Trophy Points:
    18
    Yup, sorry about that. Forgot to add the folder. It should be complete now.
     
  6. Eklipse

    Eklipse New Member

    Joined:
    Dec 13, 2014
    Messages:
    208
    Likes Received:
    0
    Trophy Points:
    0
    Ummm.. so awesome !!!
     
  7. Sodimm

    Sodimm Member

    Joined:
    Nov 8, 2014
    Messages:
    379
    Likes Received:
    6
    Trophy Points:
    18
    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: Feb 12, 2015
  8. tides

    tides Member

    Joined:
    Dec 31, 2014
    Messages:
    57
    Likes Received:
    1
    Trophy Points:
    8
    thank you are awesomeeeeeee!
     
  9. Neverdyne

    Neverdyne Community Developer

    Joined:
    Sep 12, 2014
    Messages:
    611
    Likes Received:
    14
    Trophy Points:
    18
    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.
     
  10. insanepoet

    insanepoet New Member

    Joined:
    Feb 12, 2015
    Messages:
    28
    Likes Received:
    1
    Trophy Points:
    3
    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 :)
     
  11. Eklipse

    Eklipse New Member

    Joined:
    Dec 13, 2014
    Messages:
    208
    Likes Received:
    0
    Trophy Points:
    0
    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
     
  12. Neverdyne

    Neverdyne Community Developer

    Joined:
    Sep 12, 2014
    Messages:
    611
    Likes Received:
    14
    Trophy Points:
    18
    Yes, as the original post says, I'm working on class switching but for now it doesn't.
     
  13. Imsyu

    Imsyu Member

    Joined:
    Dec 31, 2014
    Messages:
    33
    Likes Received:
    0
    Trophy Points:
    6
    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: Feb 12, 2015
  14. BBMoon

    BBMoon New Member

    Joined:
    Feb 12, 2015
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    0
    I bow down to you. Thank you for all your hard work.
     
  15. Neverdyne

    Neverdyne Community Developer

    Joined:
    Sep 12, 2014
    Messages:
    611
    Likes Received:
    14
    Trophy Points:
    18
    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.
     
  16. Imsyu

    Imsyu Member

    Joined:
    Dec 31, 2014
    Messages:
    33
    Likes Received:
    0
    Trophy Points:
    6
    Okay after my nap cause i need one lol xD ill do that and post it here
     
  17. Neverdyne

    Neverdyne Community Developer

    Joined:
    Sep 12, 2014
    Messages:
    611
    Likes Received:
    14
    Trophy Points:
    18
    Alright, thanks.
     
  18. Neverdyne

    Neverdyne Community Developer

    Joined:
    Sep 12, 2014
    Messages:
    611
    Likes Received:
    14
    Trophy Points:
    18
    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: Feb 13, 2015
  19. Neverdyne

    Neverdyne Community Developer

    Joined:
    Sep 12, 2014
    Messages:
    611
    Likes Received:
    14
    Trophy Points:
    18
    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.
     
  20. ChuChu

    ChuChu New Member

    Joined:
    Feb 11, 2015
    Messages:
    9
    Likes Received:
    0
    Trophy Points:
    0
    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: Feb 13, 2015
Thread Status:
Not open for further replies.

Share This Page