headcrab
-
Posts
93 -
Joined
Reputation Activity
-
headcrab got a reaction from vanbotter in PVP plugins - track enemy players for example
You can also try Battleground Helper plugin - it can track enemy players on battlefields when Radar3D switched on, but there are few nice WoW addons (like HHTD) that can do it much better. But Battleground helper can autofocus enemy healers, visual part is just for fun
-
headcrab got a reaction from conne2 in Can't skin :(
You can try my plugin, it has workaround for skinning bug. Dont tested it in vanilla, but may be will work
-
headcrab got a reaction from ScripterQQ in Fixing the target switch (no more rambo mode)
You can do some research with dnSpy. Download dnSpy.zip, unpack, run and open wManager.dll - and you will see how robot works. New versions are obfuscated, and is impossible to understand what's going on inside, but old are pretty clear (if you know c# or resembling language). Using old and new versions you can find similar places in code and even do patch, for example, change this 45f to 60f. Or understand, is it possible to customize robot with plugin
-
headcrab got a reaction from Matenia in Fixing the target switch (no more rambo mode)
You can do some research with dnSpy. Download dnSpy.zip, unpack, run and open wManager.dll - and you will see how robot works. New versions are obfuscated, and is impossible to understand what's going on inside, but old are pretty clear (if you know c# or resembling language). Using old and new versions you can find similar places in code and even do patch, for example, change this 45f to 60f. Or understand, is it possible to customize robot with plugin
-
headcrab got a reaction from ScripterQQ in Fixing the target switch (no more rambo mode)
45f is hardcoded in FightBG private function.
Do you have decompiler? Try to find old, non-obfuscated robot and open function used in FightBG.StartFight. You will see something like this:
if (woWUnit.Position.DistanceTo(position) > 45f) { Logging.WriteDebug(BlackListSerializable.Icaleodoarea()); return Int128.Zero(); } In old versions you can change this value and recompile, new versions are obfuscated, only byte-patch can help
-
headcrab got a reaction from Matenia in No fish are hooked
You can patch wManager.dll this way:
1) Make shure bot cant find bobber. Go to fishing water and run this c# code in developement tools:
Spell _f = new Spell("Fishing"); for (int i=0; i<10; i++) { _f.Launch(false, false, true); Others.Wait(2000); Logging.Write("Bobber GUID = "+Fishing.SearchBobber()); Lua.LuaDoString("SpellStopCasting()"); Others.Wait(100); } look in the log. If there always this strings, it means bot cant find bobber:
[F] 19:10:33 - [Spell] Cast Fishing (Fishing) 19:10:35 - Bobber GUID = 0 2) try to find minimum wait value to find bobber. Gradually increase 2000 -> 3000 until you see in log non-zero bobber GUID. This code will help you:
Spell _f = new Spell("Fishing"); for (int i=2000; i<3000; i=i+100) { _f.Launch(false, false, true); Others.Wait(i); Logging.Write("Wait:" + i+ " Bobber GUID = "+Fishing.SearchBobber()); Lua.LuaDoString("SpellStopCasting()"); Others.Wait(100); } If found, you can patch program
3) download and install dnSpy (dnSpy.zip)
4) run dnSpy, open wManager.dll and find method wManager.Wow.Bot.Tasks.FishingTask.LoopFish (with many arguments)
You will see obfuscated code, but there is string easy to find. It should looks like this (contains symbols ThreadStart):
5) click on the method in the end of string (name can be different). You will open this method. Find in this method string "Others.Wait". This is place to patch
6) Right click ans select "Edit Method (C#)". As argument type value you found, for example, 2500:
7) Compile, save, and enjoy
Never update your robot, or do this steps again, if updated, and fising not works as before
-
headcrab got a reaction from ScripterQQ in [Battleground] It mounts before buffing
Even better, no need to interrupt, simply remove ground mount for N milliseconds :)
private void mountDelay(int delay) { if (delay == 0) return; string mountName = wManager.wManagerSetting.CurrentSetting.GroundMountName; if (mountName == null) return; new Thread(() => { wManager.wManagerSetting.CurrentSetting.GroundMountName = null; try { Thread.Sleep(delay); } catch (Exception arg) { Logging.WriteError("Exception during nomount: "+arg, true); } finally { wManager.wManagerSetting.CurrentSetting.GroundMountName = mountName; } }).Start(); } Will publish in next plugin version
-
headcrab got a reaction from ScripterQQ in [Battleground] It mounts before buffing
Found proper event (LUA event PLAYER_UNGHOST), new plugin version uploaded. Now you can tune delay in settings
-
headcrab got a reaction from ScripterQQ in [Battleground] It mounts before buffing
My previous solution dont work 100% and i found better (simply dont let to use ground mount for 1st second):
if (state is ResurrectBG) { String mountName = wManager.wManagerSetting.CurrentSetting.GroundMountName; if (mountName == null) return; wManager.Wow.Class.Spell mount = new wManager.Wow.Class.Spell(mountName); for (int i=0; i<10; i++) { System.Threading.Thread.Sleep(100); if (ObjectManager.Me.CastingSpellId == mount.Id) Lua.LuaDoString("SpellStopCasting()"); } } I added it to my Battleground helper plugin, so you can simply install it and select option ResurrectBG pause
-
headcrab got a reaction from arkhan in [Battleground] It mounts before buffing
for me this code helps
static Main(){ robotManager.Events.FiniteStateMachineEvents.OnAfterRunState += (engine,state) => { if (state == null) return; if (state is ResurrectBG) { Usefuls.WaitIsCasting(); Usefuls.WaitIsCasting(); Usefuls.WaitIsCasting(); } }; } just need some pause to cast 2-3 buffs
-
headcrab got a reaction from ScripterQQ in [Battleground] It mounts before buffing
for me this code helps
static Main(){ robotManager.Events.FiniteStateMachineEvents.OnAfterRunState += (engine,state) => { if (state == null) return; if (state is ResurrectBG) { Usefuls.WaitIsCasting(); Usefuls.WaitIsCasting(); Usefuls.WaitIsCasting(); } }; } just need some pause to cast 2-3 buffs
-
headcrab got a reaction from Matenia in No fish are hooked
My code does not loots, just test for SearchBobber. If 2000 not works, it means fisherbot will not work for you, because there is 2000 delay hardcoded in bot. Write it to bugtracker, maybe @Droidz will fix it. Or patch FishingTask class
-
headcrab got a reaction from Matenia in No fish are hooked
Not latency, but 3000 in my code
Spell _f = new Spell("Fishing"); for (int i=0; i<10; i++) { _f.Launch(false, false, true); Others.Wait(3000); Logging.Write("Bobber GUID = "+Fishing.SearchBobber()); Lua.LuaDoString("SpellStopCasting"); Others.Wait(100); } Can you find minimum, maybe 2500 ?
Fishing task not depends on latency, you will have to patch wManager.dll, or wait until @Droidz do it. Thats why i say "bad"
-
headcrab got a reaction from Matenia in No fish are hooked
To find the cause go to fishable water, open developer tools and run this C# code:
Spell Fising = new Spell("Fishing"); for (int i=0; i<20; i++) { Fishing.Launch(false, false, true); Others.Wait(2000); Logging.Write("Bobber GUID = "+Fishing.SearchBobber()); Lua.LuaDoString("SpellStopCasting"); Others.Wait(100); } Write what you see in log. Is there GUID value every time?
-
headcrab got a reaction from xerian in BG join
Ok. Because all want know, i'll write it here.
check AcceptBattlefieldPort is disabled on your server. Open developement tools and run C# code Battleground.JointBattleGroundQueue(32); // this is random BG Thread.Sleep(1000); Battleground.AcceptBattlefieldPortAll(); This starts BG queue, and should accept BG when it ready. If it works, you need no any modifications. If not accepts, LUA function AcceptBattlefieldPort is disabled on your server or works unstable. So, go to step 2
download and install dnSpy
in dnSpy open wManager.dll and find method AcceptBattlefieldPortAll
right click and run menu item "Edit Method (C#)". You will see obfuscated code, but no problem. Find string with Battleground.AcceptBattlefieldPort and comment it
compile and save.
Voila, now your battlegrounder will accept BG with Battlegrounder helper plugin, because it uses alternative method.
Dont update your robot, or do this steps after every update
-
headcrab got a reaction from xan4es in Настроить FightClass
Условия на самом деле разные, посмотри в самый конец. Ну а код - пипец. Вместо этих 4 строчек в скобочках используй метод с сигнатурой:
public void Launch(bool stopMove, bool waitIsCast, bool ignoreIfCast, bool castOnSelf) Думаю, с аргументами тут всё должно быть понятно.
Regen - это время поесть/попить, если задано. Поищи в настройках
-