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.
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.
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 ^^
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
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] }