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!

HearthbuddyBeta GvG Release Thread

Status
Not open for further replies.
Sorry if im asking a stupid question, but i dont see any option to run ranked games ? only arena constructed fiendly and practice ?
am i missing something ?
appriciate help

In #16 change GameMode to Constructed and then ConstructedMode to Ranked.
 
Constructed has the option to do rankeds in the settings. you can choose between casual and ranked (dropdown menu)

Edit: btw where do I see the statistics?

Settings -> Stats will have the new basic stats. It's just a placeholder for now until some more extensive stats tracking is added or developed.
 
Thank you.
About applying additional time from the downtime.
Are you guys gonna update the expired sessions automatically, or should we contact you?

Management will be taking care of that stuff, and we'll post any additional information on it as it's available.
 
Thank you for this update. I just went through 2 games of botting and there have been some problems with cards buffing another card, and then the buffed card not actually attacking. Here's the log, when I buffed nerubian to 2 attack it did not attack unit or face

Thank you for the report. Please attach the file: Routines\DefaultRoutine\Silverfish\UltimateLogs\UILogg_2014-12-20_12-35-07.txt, and we'll try to take a look at it.
 
The autoconcede after win has been removed?I cant find it

This has been temporary removed, and will be re-added soon. We really want to make sure everything is stable before spending time on re-adding all the previous features. A lot of the new stuff was developed independently of the previous version, so that's why there's new stuff, but not all the old stuff is back yet.
 
For me, the realease didn't work ("Herthbuddy has stopped working") Just after the launch. I have correctly follow the step of the guide but i can't understand. Here is my log (i'm using Windows 8.1)

Thank you for attaching your log, we will be able to help you. :)

2014-12-20 19:41:33,365 [3] DEBUG Logger (null) - Unhandled global exception! System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly 'GreyMagic.dll' ou une de ses dépendances. Le module spécifié est introuvable.
Nom de fichier*: 'GreyMagic.dll'
à Hearthbuddy.Windows.MainWindow.<OnStartup>b__5(Object o)
à System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
à System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
à System.Threading.ThreadPoolWorkQueue.Dispatch()
à System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Please try running the Buddy Dependency Wizard first. If that does not solve your issue, please check your AntiVirus to make sure it's not quarantining GreyMagic.dll. I.e., make sure the file still exists in your folder.
 
An issue arises whilst playing the Druid class.
Every time Dark Wispers is in hand, the bot will crash.
Has happened 3/3 times I've tested the theory.

Aside from that obscure issue, the bot looks good!
Really appreciate the work you guys put in for us!

Thank you for the report, we'll try to reproduce this as soon as we can.
 
How do i get it to run random custom decks? and get it to aotomaticly chose one of my custom deck for daily exemple win 2 games with warrior..

That feature, "custom random deck" is not added yet. The idea will be that users will be able to setup a plugin to do things like change the current bot settings for random deck selection or gameplay modes. However, there wasn't enough time to put it all together for this release, so users have to manually set the settings for now.
 
I also wanted to point out very odd card choice in the arena.
Picking cards purely based off of mana cost, and disregarding the effect of the card.

ie.
Picking:
In certain class vs card vs mana cost scenarios, there definitely could be improvements made in deck construction when it comes to Arenas.
PM me if you would require any help in regards to this.

The current ArenaValues system was used from the previous version just to have something in place. We plan an entirely new system, as well as the ability for users to develop their own systems, but there's no time to get into that just yet.

I'll be making a few new threads soon for community collaboration as to what people want vs what we've been able to provide to resolve that issue. If you check out the file: "Routines\DefaultRoutine\DefaultRoutine.cs" and look at the ArenaDraftLogic coroutine, you'll see this code:
Code:
public async Task ArenaDraftLogic(ArenaDraftData data)
        {
            Log.InfoFormat("[ArenaDraft]");

            // We don't have a hero yet, so choose one.
            if (data.Hero == null)
            {
                Log.InfoFormat("[ArenaDraft] Hero: [{0} ({3}) | {1} ({4}) | {2} ({5})].",
                    data.Choices[0].EntityDef.CardId, data.Choices[1].EntityDef.CardId, data.Choices[2].EntityDef.CardId,
                    data.Choices[0].EntityDef.Name, data.Choices[1].EntityDef.Name, data.Choices[2].EntityDef.Name);

                // TODO: Quest support logic. Localization is an issue, but we'll manage...
                foreach (var quest in TritonHs.CurrentQuests)
                {
                    try
                    {
                        var parts = quest.Name.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
                        if (parts.Length == 4)
                        {
                            if (parts[1].ToLowerInvariant().Equals("or") &&
                                parts[3].ToLowerInvariant().Equals("victory"))
                            {
                                var class1 = (TAG_CLASS) Enum.Parse(typeof (TAG_CLASS), parts[0].ToUpperInvariant());
                                var class2 = (TAG_CLASS) Enum.Parse(typeof (TAG_CLASS), parts[2].ToUpperInvariant());

                                foreach (var choice in data.Choices)
                                {
                                    if ((TAG_CLASS)choice.EntityDef.Class == class1 || (TAG_CLASS)choice.EntityDef.Class == class2)
                                    {
                                        data.Selection = choice;
                                        Log.InfoFormat(
                                            "[ArenaDraft] Choosing hero \"{0}\" because it matches a current quest.",
                                            data.Selection.EntityDef.Name);
                                        return;
                                    }
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Log.ErrorFormat(
                            "[ArenaDraft] An Exception occurred when trying to process current quests: {0}.", ex);
                    }

                }

                // TODO: I'm sure there's a better way to do this, but w/e, no time to waste right now.

                // #1
                foreach (var choice in data.Choices)
                {
                    if ((TAG_CLASS)choice.EntityDef.Class == DefaultRoutineSettings.Instance.ArenaPreferredClass1)
                    {
                        data.Selection = choice;
                        Log.InfoFormat(
                            "[ArenaDraft] Choosing hero \"{0}\" because it matches the first preferred arena class.",
                            data.Selection.EntityDef.Name);
                        return;
                    }
                }

                // #2
                foreach (var choice in data.Choices)
                {
                    if ((TAG_CLASS)choice.EntityDef.Class == DefaultRoutineSettings.Instance.ArenaPreferredClass2)
                    {
                        data.Selection = choice;
                        Log.InfoFormat(
                            "[ArenaDraft] Choosing hero \"{0}\" because it matches the second preferred arena class.",
                            data.Selection.EntityDef.Name);
                        return;
                    }
                }

                // #3
                foreach (var choice in data.Choices)
                {
                    if ((TAG_CLASS)choice.EntityDef.Class == DefaultRoutineSettings.Instance.ArenaPreferredClass3)
                    {
                        data.Selection = choice;
                        Log.InfoFormat(
                            "[ArenaDraft] Choosing hero \"{0}\" because it matches the third preferred arena class.",
                            data.Selection.EntityDef.Name);
                        return;
                    }
                }

                // #4
                foreach (var choice in data.Choices)
                {
                    if ((TAG_CLASS)choice.EntityDef.Class == DefaultRoutineSettings.Instance.ArenaPreferredClass4)
                    {
                        data.Selection = choice;
                        Log.InfoFormat(
                            "[ArenaDraft] Choosing hero \"{0}\" because it matches the fourth preferred arena class.",
                            data.Selection.EntityDef.Name);
                        return;
                    }
                }

                // #5
                foreach (var choice in data.Choices)
                {
                    if ((TAG_CLASS)choice.EntityDef.Class == DefaultRoutineSettings.Instance.ArenaPreferredClass5)
                    {
                        data.Selection = choice;
                        Log.InfoFormat(
                            "[ArenaDraft] Choosing hero \"{0}\" because it matches the fifth preferred arena class.",
                            data.Selection.EntityDef.Name);
                        return;
                    }
                }

                // Choose a random hero.
                data.RandomSelection();

                Log.InfoFormat(
                    "[ArenaDraft] Choosing hero \"{0}\" because no other preferred arena classes were available.",
                    data.Selection.EntityDef.Name);

                return;
            }

            // Normal card choices.
            Log.InfoFormat("[ArenaDraft] Hero: [{0} ({3}) | {1} ({4}) | {2} ({5})].", data.Choices[0].EntityDef.CardId,
                data.Choices[1].EntityDef.CardId, data.Choices[2].EntityDef.CardId, data.Choices[0].EntityDef.Name,
                data.Choices[1].EntityDef.Name, data.Choices[2].EntityDef.Name);

            /*Log.InfoFormat("[ArenaDraft] Current Deck:");
            foreach (var entry in data.Deck)
            {
                Log.InfoFormat("[ArenaDraft] {0} ({1})", entry.CardId, entry.Name);
            }*/

            var actor =
                data.Choices.Where(c => ArenavaluesReader.Get.ArenaValues.ContainsKey(c.EntityDef.CardId))
                    .OrderBy(c => ArenavaluesReader.Get.ArenaValues[c.EntityDef.CardId]).FirstOrDefault();
            if (actor != null)
            {
                data.Selection = actor;
            }
            else
            {
                data.RandomSelection();
            }
        }

I just realized something though, and that the arena value selection is inversed. it should be picking cards with higher value, but it sorts them by lower value, so that's why the card selections are terrible. The ".OrderBy" should be "OrderByDescending" I believe. This was just a porting mistake on my part, and we'll try to get it fixed in the next version.

In the bottom part, you'll see you have access to the current deck, as well as the current choices. You have to use the EntityDef object to get things like CardId and the mana cost, and any other exposed data, but users will be able to developer their own routines that have full customizable systems. What I want to do is use the Python setup so people can just give it a bunch of rules, but once again, just not enough time to fully develop those systems.
 
The bot Had plenty of cards to play but just passed turn and let the enemy build up a defence. also so many cards in my hand so i auto sacced cards upon card getting

Thank you for the log, Can you also please zip and attach that same log you uploaded along with all the logs in your "\Routines\DefaultRoutine\Silverfish\UltimateLogs\" folder?

I see one problem with the current setup, is that all the information in the main log is shared across multiple games, and the SF logs are per game, so it's tricky to match up the data for each. We'll be working on changing the setup of things to make it easier to debug problems.
 
When i start HearthBuddy it wont work. There are no plugins and anything.

Thank you for attaching your log! The error shown is as follows:

System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See <loadFromRemoteSources> Element for more information.

Was the path you were trying to run from a network share location? The "Favorites" folder might be a special folder, so you can try downloading and running from a different path to see if you can get it to work?
 
bot often bugs out when you click the hearthstone window. it will end turn without doing anything

Please don't click or interact with the game while the bot is running. I'll add this to the FAQ, but in order to have human like behavior and not do anything that makes the bot appear obviously bot like, the bot must perform actions the same way a user would. If you click and interact with the game while the bot is running, you will prevent it from being able to do what it's supposed to.

So my key expired. I cant use. Please extend the time

Management will be taking care of this soon. There's nothing I'm able to do for you at this time.
 
Status
Not open for further replies.
Back
Top