Important Change for Honorbuddy, Demonbuddy and HearthBuddy Lifetime Users

    Greetings Buddies,
    For our long term plans, it is inevitable to do the following changes effective immediately (tomorrow - 18 January 2017). We are changing all existing Demonbuddy and Honorbuddy Lifetime licenses to expire after 2 years of usage.


    read more



Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 39
  1. #21
    Buddy
    Reputation
    Join Date
    14.10.2014
    Posts
    176

    Default


    @shineey
    Honestly I would love to do it, really. I really like the idea of implementing class logic (regardless of spec dps|heal|tank) in a domain specific language like *.simc. It is simple to understand and behaviors are simple to modify/extend. The major limiting factor is amount of free time I have right now. Sorry.
    Last edited by aash; 20.09.2015 at 09:48.

    possessing Ph. D. in Goblin Engineering | aash/HBRelog fork | Singular + SimcraftImpl

  2. #22
    Buddy
    Reputation
    Join Date
    14.11.2014
    Posts
    133

    Default

    No rush! I was just thinking that it would be a great addition. I realize that it would probably be a pretty time-intensive thing to add that functionality. I currently don't have any of those classes/specs, but it would be something good to look forward to sometime in the future for everyone i think. I'd love to try to help if possible. I've done my fair shair of edits to SimcraftImpl, but still can't really tell where the code is that determines what to do with each action or condition. Kane's code seems a bit messy/convoluted for me, or maybe just not commented enough.

  3. #23
    Buddy
    Reputation
    Join Date
    07.08.2011
    Posts
    17

    Default Not working for me :-(

    Ach help me out please? :-)

    Cannot get it to work, my toon just stands till.
    If i change back to singular in class, it starts doing stuff.

    I have downloaded the right zip from github and replaced the files and folders under Honorbuddy\Routines\Singular with the ones from the zip.
    Configured class config -> Generals group -> Override tags changed from singular to simcraftimpl
    I do not have the Simcraft Impl bot installed, just clean HB with built in bots.
    Deleted everything in CompiledAssemblies, just in case.
    I downloaded profiles from archive link, but it does not contain any priest profile.
    So i installed simcraft and imported my character.
    Created a file with same name as my priest - Eldárwén.simc
    Copied the data when importing into the Eldárwén.simc file.

    Attached log where i start combatbot and started attacking a mob, but nothing happens.
    I open class config, change from simcraftimpl to singular.
    Save and close, wupti... now it starts killing.

    What am i doing wrong?

    Kind regards,
    LauW
    Attached Files Attached Files
    "I became insane, with long intervals of horrible sanity."

  4. #24
    Buddy
    Reputation
    Join Date
    14.11.2014
    Posts
    133

    Default

    Quote Originally Posted by Lauw View Post
    Ach help me out please? :-)

    Cannot get it to work, my toon just stands till.
    If i change back to singular in class, it starts doing stuff.

    I have downloaded the right zip from github and replaced the files and folders under Honorbuddy\Routines\Singular with the ones from the zip.
    Configured class config -> Generals group -> Override tags changed from singular to simcraftimpl
    I do not have the Simcraft Impl bot installed, just clean HB with built in bots.
    Deleted everything in CompiledAssemblies, just in case.
    I downloaded profiles from archive link, but it does not contain any priest profile.
    So i installed simcraft and imported my character.
    Created a file with same name as my priest - Eldárwén.simc
    Copied the data when importing into the Eldárwén.simc file.

    Attached log where i start combatbot and started attacking a mob, but nothing happens.
    I open class config, change from simcraftimpl to singular.
    Save and close, wupti... now it starts killing.

    What am i doing wrong?

    Kind regards,
    LauW
    Some possible issues that may be causing the problem you are facing:

    1. The strange characters in the file name
    2. I know that when I was trying to get SimcraftImpl to work with my shadow priest back in March-ish, I had to make significant changes to the .simc file, since some of the conditionals were not implemented. The cycle_targets action is not implemented correctly either, well, it seems to cycle the targets correctly, but the target=1,2,3,etc was definitely not implemented.
    3. In the log, i noticed the lines that say "I dont recognize the option target_if=max:spell_targets.mind_sear_tick" - SimcraftImpl has not implemented the "spell_targets.*" conditional. I work around this by using "active_targets" instead of the "max:spell_targets.*"
    4. There is also "Invalid expression term '&&' - line c:\Users\LauWRené\AppData\Local\Temp\xlabox44.0.cs (116,79) : error CS1525: Invalid expression term '&&'" in your log. go through your simc file and make sure the conditionals only use ONE ampersand instead of two.

  5. #25
    Buddy
    Reputation
    Join Date
    25.01.2015
    Posts
    10

    Default

    @Lauw- I've ran into the same issue with my priest. Did you try the fix shineey talked about ? "3. In the log, i noticed the lines that say "I dont recognize the option target_if=max:spell_targets.mind_sear_tick" - SimcraftImpl has not implemented the "spell_targets.*" conditional. I work around this by using "active_targets" instead of the "max:spell_targets.*"

    I'm trying to edit my simc file but still get tons of errors on the priest.

    Found on my Pally I get the following:

    63578717027.7454>:Compiling Action Lists
    <63578717028.1692>:New Apl: Paladin_Retribution_T17H
    <63578717028.3135>:Loading configuration
    <63578717028.3485>:Configuration successfully loaded.
    <63578717031.5786>:Behaviors created !

    If I figure it out I'll post.

    @Shineey can you post your priest file to kind of point me in the right direction? Github maybe?

  6. #26
    Buddy
    Reputation
    Join Date
    14.11.2014
    Posts
    133

    Default

    Quote Originally Posted by Fubsnoobs View Post
    @Lauw- I've ran into the same issue with my priest. Did you try the fix shineey talked about ? "3. In the log, i noticed the lines that say "I dont recognize the option target_if=max:spell_targets.mind_sear_tick" - SimcraftImpl has not implemented the "spell_targets.*" conditional. I work around this by using "active_targets" instead of the "max:spell_targets.*"

    I'm trying to edit my simc file but still get tons of errors on the priest.

    Found on my Pally I get the following:

    63578717027.7454>:Compiling Action Lists
    <63578717028.1692>:New Apl: Paladin_Retribution_T17H
    <63578717028.3135>:Loading configuration
    <63578717028.3485>:Configuration successfully loaded.
    <63578717031.5786>:Behaviors created !

    If I figure it out I'll post.

    @Shineey can you post your priest file to kind of point me in the right direction? Github maybe?
    Well I currently don't have a priest anymore, but I do have profiles that I know work for a frost DK, WW monk, and BM hunter if you'd like to take a look at those. My Ret pally may still work as well. I still have my priest profile from march, but I don't have a priest to test it on since I don't really enjoy casters. Another point that I should mention, is that any conditions that are appended with ".react" will not function properly. As far as I can tell, the Simcraft API just uses it as a proc conditional and it functions the same if you remove it. So as soon as I start a new simc file from an imported SimulationCraft simc, i do a Find and Replace for ".react" and delete them all. Note: I am saying that I only delete the part that says ".react", not the part that precedes it.

  7. #27
    Buddy
    Reputation
    Join Date
    25.01.2015
    Posts
    10

    Default

    Quote Originally Posted by shineey View Post
    Well I currently don't have a priest anymore, but I do have profiles that I know work for a frost DK, WW monk, and BM hunter if you'd like to take a look at those. My Ret pally may still work as well. I still have my priest profile from march, but I don't have a priest to test it on since I don't really enjoy casters. Another point that I should mention, is that any conditions that are appended with ".react" will not function properly. As far as I can tell, the Simcraft API just uses it as a proc conditional and it functions the same if you remove it. So as soon as I start a new simc file from an imported SimulationCraft simc, i do a Find and Replace for ".react" and delete them all. Note: I am saying that I only delete the part that says ".react", not the part that precedes it.
    Shineey I’d love to take a look at your old priest and other working scripts to try and learn how to edit the imported SIMC files. Thanks for the tip on the .react stuff and thanks for trying to explain to this noob how this program works. I really appreciate your help and time.

    Fubs

  8. #28
    Buddy
    Reputation
    Join Date
    15.01.2010
    Posts
    39

    Default

    hey, my frost mage doesnt use ice nova or comet storm?

  9. #29
    Buddy Store Developer
    Reputation
    Join Date
    29.01.2012
    Age
    24
    Posts
    187

    Default

    Quote Originally Posted by aash View Post
    Provide a way to share code across several bots/plugins/routines.
    Honorbuddy platform does not provide a way to share the code across it's extension sites(bots/plugins/routines), so I should invent some trick here. It is not necessary for the project, I would just copy-paste all the dependencies, but I corius person and I like the idea of reusable code base.
    Normal code reuse in multiple projects is by creating a common core library and including that in the new projects.
    If you want to share code that's only in a plugin to be able to use it in other things then use reflection.

    Say I have this plugin (irrelevant plugin overrides omitted):
    PHP Code:
    namespace Pookthetook.Examples
    {
        public class 
    LoggingPlugin Styx.Plugins.HBPlugin
        
    {
            public 
    override string Name => "Logging Plugin";

            public static 
    void WriteToLog(string message)
            {
                
    Styx.Common.Logging.Write("[LoggingPlugin]: " message);
            }
        }

    Then to use that WriteToLog method from a different plugin, botbase, profile etc:
    PHP Code:
    // Hold the method from the plugin.
    private Action<stringWriteToLogAction;

    // Initialize WriteToLogAction
    private void Initialize()
    {
        var 
    assembly AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(=> a.GetName().Name.Contains("Logging Plugin"));
        var 
    type assembly.GetType("Pookthetook.Examples.LoggingPlugin");
        var 
    methodInfo apiType.GetMethod("WriteToLog"BindingFlags.Public | BindingFlags.Static);
        
    WriteToLogAction = (Action<string>)Delegate.CreateDelegate(typeof(Action<string>), methodInfo);
    }

    // Once initialized, call this to easily use the method from the plugin
    public void WriteToPluginLog(string message)
    {
        
    WriteToLogAction(message);

    When you call WriteToPluginLog after initializing, it would show up with "[LoggingPlugin]: " as a prefix because it's getting called from that separate plugin.
    This example is more work than just writing the same method twice, but is just a simple demo. Defensive coding practices were omitted for brevity as well - in production code it should handle things like the assembly not existing.

    Reflection can be used for all kinds of things like creating instances of classes and more complex code than this.
    It can even be called from a profile by using RunCode.

    That said, reflection is slow and I don't personally suggest requiring dependencies of separate projects. Just wrap everything in a common core project and include it in all others that will use it.
    You said you were curious so I showed you even though I don't recommend it. Maybe you'll find some great use (I personally use it in profiles). Either way, you can check that off your to do list.
    Last edited by pookthetook; 26.09.2015 at 21:28.
    "Anyway, you need people of intelligence on this sort of mission... quest... thing."

    Quote Originally Posted by chinajade View Post
    Thread.Sleep() (and its variants) is pure evil.








  10. #30
    Buddy
    Reputation
    Join Date
    14.10.2014
    Posts
    176

    Default

    @pookthetook
    Using reflection in a such manner involves too much boilerplate code. Reusing classes or the groups of classes is a pain: you should import `em all. I have invented the other way to reuse whole assembly. I will share it later.

    possessing Ph. D. in Goblin Engineering | aash/HBRelog fork | Singular + SimcraftImpl

 

 
Page 3 of 4 FirstFirst 1234 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts
  •