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!

Simcraft Implemented, a Raidbot Derivate with Integrated Combat

BM it should not delay barrage, mine fires it off pretty much on cool down. Not sure why yours would not go off.
SV aoe black arrow is going to be delayed often, it depends on how many ToTH procs you get. This is because it is better to use Arcane shot during ToTH then it is to use blackarrow.

SV aoe priority before casting Black Arrow
Explosive Shot (Lock and Load Proc)
Barrage
Arcane Shot (Thrill of The Hunt Proc)
Explosive Shot (None Proc)
so if any of these skills are available it will do them before casting black arrow so you probably are getting a lot of procs.

Thanks for the attention and the clarification, Wolf.
 
Very sorry guys, unfortunately real life caught up to me and i wont be able to maintain this.
If anyone wants to take over msg me
 
Very sorry guys, unfortunately real life caught up to me and i wont be able to maintain this.
If anyone wants to take over msg me

Oh noes :(

Why not put it on the HB store for ppl who want to write their own apls. You would just need to put some work into it if something breaks with an wow/hb update and could earn some money with it.
I would be happy to spent ~20 bucks for this.
 
Very sorry guys, unfortunately real life caught up to me and i wont be able to maintain this.
If anyone wants to take over msg me

:'( I'm sorry to hear that! Is this a permanent situation or just for the time-being?
 
Very sorry guys, unfortunately real life caught up to me and i wont be able to maintain this.
If anyone wants to take over msg me

Noooo...the best routine for hunter I've ever used. I have others that are paid, but none of them had / have the same performance. without doubt the best. I'll play with this as far as possible, after that I will have to return to the paid less performance.

:(:(:(:(:(:(
 
:'( I'm sorry to hear that! Is this a permanent situation or just for the time-being?

Its a combination of factors and one of them is me not playing wow anymore so i guess its pretty permanent.

Noooo...the best routine for hunter I've ever used. I have others that are paid, but none of them had / have the same performance. without doubt the best. I'll play with this as far as possible, after that I will have to return to the paid less performance.

:(:(:(:(:(:(

For the classes that it does work its actually quite complete, unless honorbuddy breaks the most basic apis it should work until the next xpac ^^
 
Has anyone been using this since the bans? Know if it is safe i.e. not doing things a person could not actually do?
 
Not really sure how I load the simc file, do I change the name to .xml and load it as a profile?
 
Has anyone been using this since the bans? Know if it is safe i.e. not doing things a person could not actually do?

Given some very recent changes in Enyo's displaying bot information ("Overlay" now being used instead of chat output) and some other changes, along with conversations happening around LUA call safety, I'd assume a couple of things in SimCraft are currently iffy. Not that it will cause more detection by players, but it may be easier for Blizz to show proof of botting once you've been reported.

Those things should be very easy to remove from the code.

I'm not the right person to take over core developer, I don't have the basic honorbuddy coding skill needed. I could make some basic changes like removing LUA chat code. If someone else is interested in taking over the bot code I think you'd have some folks like myself interested in doing some contributory development. If no one else feels able to do it I'll look into taking over the Git but would need other people examining the code and making any major changes at least until I got myself up to speed (it isn't a language I've used before and I was never a coder by profession, just occasional code hacker).

Another option would be for a routine to incorporate the code, which is already available. Nothing has the DPS output of this profile and modifying routines was very easy for people who are able to read the SimulationCraft syntax.

Thanks for your work Kane. I hope you didn't get your account nuked for doing this? Either way, I hope you enjoyed the pizza :)

I won't be able to look into working on it for a couple of days. If it turns out to be easy enough to take over I'll talk to Kane this weekend about it. If anyone else is interested in maintaining it as a free bot base and has the knowledge to do so, please feel free to, I would rather not.
 
Heads up to the Author.

You may want to remove the following global variables in your Lua calls as they are considered a big no no.

Code:
1) var be = LuaGet<int>("ret,_,_ = UnitPower(\"player\", SPELL_POWER_SHADOW_ORBS); return ret;", 0);
2) return LuaGet<String>("direction = GetEclipseDirection(); return direction;", 0);
3) () => LuaGet<int>("spellDmg = GetSpellBonusDamage(3); return spellDmg;", 0));
4) () => LuaGet<double>("mastery, coefficient = GetMasteryEffect(); return mastery/100", 0));

And any of the Chat output stuff ;)
 
Last edited:
Heads up to the Author.

You may want to remove the following global variables in your Lua calls as they are considered a big no no.

Code:
1) var be = LuaGet<int>("ret,_,_ = UnitPower(\"player\", SPELL_POWER_SHADOW_ORBS); return ret;", 0);
2) return LuaGet<String>("direction = GetEclipseDirection(); return direction;", 0);
3) () => LuaGet<int>("spellDmg = GetSpellBonusDamage(3); return spellDmg;", 0));
4) () => LuaGet<double>("mastery, coefficient = GetMasteryEffect(); return mastery/100", 0));

And any of the Chat output stuff ;)


Can we remove any of those wulf or does the developer have to?
 
Its a combination of factors and one of them is me not playing wow anymore so i guess its pretty permanent.



For the classes that it does work its actually quite complete, unless honorbuddy breaks the most basic apis it should work until the next xpac ^^



Kane is there anyway you can remove all the LUA one last thing before you abandon this project please and thank you so much for this.
 
We have the sources, so we can remove them. I'm not sure which (if any) are considered "safe" nor do I know yet how to replace the ones that are needed for bot usage vs. chat output with safe calls.

I've started a thread to see if I can get assistance from the dev community for us to take over replacing these calls here:

https://www.thebuddyforum.com/honor...-scrubbing-simcraft-bot-base.html#post1910368

But if someone already has the knowledge needed on replacing Lua calls with HB API calls, the source being available means they have the tools needed to do it unless coding HB API calls requires any binary compilation.
 
This

Code:
1) var be = LuaGet<int>("ret,_,_ = UnitPower(\"player\", SPELL_POWER_SHADOW_ORBS); return ret;", 0);
2) return LuaGet<String>("direction = GetEclipseDirection(); return direction;", 0);
3) () => LuaGet<int>("spellDmg = GetSpellBonusDamage(3); return spellDmg;", 0));
4) () => LuaGet<double>("mastery, coefficient = GetMasteryEffect(); return mastery/100", 0));

to

Code:
1) var be = LuaGet<int>("return UnitPower(\"player\", SPELL_POWER_SHADOW_ORBS);", 0);
2) return LuaGet<String>("return GetEclipseDirection();", 0);
3) () => LuaGet<int>("return GetSpellBonusDamage(3);", 0));
4) StyxWoW.Me.Mastery

Would be a good start.
 
So its not actually the lua calls but putting stuff into global scope variables, how about locals ?
Removing Lua completely is pretty much impossible without sacrificing accuracy
 
I tried to move chat output to HB logging window:
I cant test it at the moment.. is this correct?

I did all the changes for chat output and the things wulf said and attached a .zip.

Anyone willing to test it and give feedback? View attachment simpl-master_edited.zip
Code:
SimcraftTop.cs:
public static void RegisterHotkeys()
        {
            HotkeysManager.Register("Simcraft Pause",
                SimCSettings.currentSettings.Execution.key,
                SimCSettings.currentSettings.Execution.mod,
                hk =>
                {
                    IsPaused = !IsPaused;
                    if (IsPaused)
                    {
                        [COLOR="#FF0000"]//LuaDoString("print('Execution Paused!')");[/COLOR]
		       [COLOR="#008000"]Write("Execution Paused!");[/COLOR]
                        // Make the bot use less resources while paused.
                        TreeRoot.TicksPerSecond = 5;
                    }
                    else
                    {
                        [COLOR="#FF0000"]//LuaDoString("print('Execution Resumed!')");[/COLOR]
			[COLOR="#008000"]Write("Execution Resumed!");[/COLOR]
                        // Kick it back into overdrive!
                        TreeRoot.TicksPerSecond = 8;
                    }
                });
            HotkeysManager.Register("Simcraft AOE",
                SimCSettings.currentSettings.Aoe.key,
                SimCSettings.currentSettings.Aoe.mod,
                hk =>
                {
                    _aoeEnabled = !_aoeEnabled;
		   [COLOR="#008000"] if (_aoeEnabled)
                    {
                        Write("AOE disabled!");
                    }
                    else
                    {
                        Write("AOE enabled!");
                    }[/COLOR]
                   [COLOR="#FF0000"] //LuaDoString("if _G[\"kane_aoe\"] == true then _G[\"kane_aoe\"] = nil; print('AOE enabled'); else _G[\"kane_aoe\"] = true; print('AOE disabled') end");[/COLOR]
                });
            HotkeysManager.Register("Simcraft Cooldowns",
                SimCSettings.currentSettings.Cooldowns.key,
                SimCSettings.currentSettings.Cooldowns.mod,
                hk =>
                {
                    _cdsEnabled = !_cdsEnabled;
					if (_cdsEnabled)
                    [COLOR="#008000"]{
                        Write("CDs disabled!");
                    }
                    else
                    {
                        Write("CDs enabled!");
                    }[/COLOR]
                    [COLOR="#FF0000"]//LuaDoString("if _G[\"kane_cds\"] == true then _G[\"kane_cds\"] = nil; print('Cds enabled') else _G[\"kane_cds\"] = true; print('Cds disabled') end");
[/COLOR]

                });
        }

SimCraftImpl.cs:
Code:
public void toggle_hkvar(String name)
        {
            if (!hotkeyVariables.ContainsKey(name)) hotkeyVariables[name] = false;
            hotkeyVariables[name] = !hotkeyVariables[name];
            [COLOR="#FF0000"]//LuaDoString("_G[\"sc_" + name + "\"] = " + hotkeyVariables[name] + "; print('" + name + " => " +
            //            hotkeyVariables[name] + "');");[/COLOR]
            //true then _G[\""+name+"\"] = nil; print('Cds enabled') else _G[\""+name+"\"] = true; print('Cds disabled') end");
            [COLOR="#008000"]Write("Toggled " + name + " to :" + hotkeyVariables[name]);[/COLOR]
}
 
Last edited:
I tried to move chat output to HB logging window:
I cant test it at the moment.. is this correct?

I did all the changes for chat output and the things wulf said and attached a .zip.

Anyone willing to test it and give feedback? View attachment 173812
Code:
SimcraftTop.cs:
public static void RegisterHotkeys()
        {
            HotkeysManager.Register("Simcraft Pause",
                SimCSettings.currentSettings.Execution.key,
                SimCSettings.currentSettings.Execution.mod,
                hk =>
                {
                    IsPaused = !IsPaused;
                    if (IsPaused)
                    {
                        [COLOR="#FF0000"]//LuaDoString("print('Execution Paused!')");[/COLOR]
		       [COLOR="#008000"]Write("Execution Paused!");[/COLOR]
                        // Make the bot use less resources while paused.
                        TreeRoot.TicksPerSecond = 5;
                    }
                    else
                    {
                        [COLOR="#FF0000"]//LuaDoString("print('Execution Resumed!')");[/COLOR]
			[COLOR="#008000"]Write("Execution Resumed!");[/COLOR]
                        // Kick it back into overdrive!
                        TreeRoot.TicksPerSecond = 8;
                    }
                });
            HotkeysManager.Register("Simcraft AOE",
                SimCSettings.currentSettings.Aoe.key,
                SimCSettings.currentSettings.Aoe.mod,
                hk =>
                {
                    _aoeEnabled = !_aoeEnabled;
		   [COLOR="#008000"] if (_aoeEnabled)
                    {
                        Write("AOE disabled!");
                    }
                    else
                    {
                        Write("AOE enabled!");
                    }[/COLOR]
                   [COLOR="#FF0000"] //LuaDoString("if _G[\"kane_aoe\"] == true then _G[\"kane_aoe\"] = nil; print('AOE enabled'); else _G[\"kane_aoe\"] = true; print('AOE disabled') end");[/COLOR]
                });
            HotkeysManager.Register("Simcraft Cooldowns",
                SimCSettings.currentSettings.Cooldowns.key,
                SimCSettings.currentSettings.Cooldowns.mod,
                hk =>
                {
                    _cdsEnabled = !_cdsEnabled;
					if (_cdsEnabled)
                    [COLOR="#008000"]{
                        Write("CDs disabled!");
                    }
                    else
                    {
                        Write("CDs enabled!");
                    }[/COLOR]
                    [COLOR="#FF0000"]//LuaDoString("if _G[\"kane_cds\"] == true then _G[\"kane_cds\"] = nil; print('Cds enabled') else _G[\"kane_cds\"] = true; print('Cds disabled') end");
[/COLOR]

                });
        }

SimCraftImpl.cs:
Code:
public void toggle_hkvar(String name)
        {
            if (!hotkeyVariables.ContainsKey(name)) hotkeyVariables[name] = false;
            hotkeyVariables[name] = !hotkeyVariables[name];
            [COLOR="#FF0000"]//LuaDoString("_G[\"sc_" + name + "\"] = " + hotkeyVariables[name] + "; print('" + name + " => " +
            //            hotkeyVariables[name] + "');");[/COLOR]
            //true then _G[\""+name+"\"] = nil; print('Cds enabled') else _G[\""+name+"\"] = true; print('Cds disabled') end");
            [COLOR="#008000"]Write("Toggled " + name + " to :" + hotkeyVariables[name]);[/COLOR]
}
worked fine, captain. would by an overlay. For control without anything appearing is scrambled.
 
Back
Top