Jump to content

headcrab

Members
  • Posts

    93
  • Joined

Reputation Activity

  1. Thanks
    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
     
     
  2. Like
    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 
     
  3. Like
    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
  4. Like
    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
  5. Like
    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
  6. Like
    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
  7. Like
    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
  8. Like
    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
  9. Like
    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
  10. Like
    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
  11. Like
    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
  12. Like
    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
  13. Like
    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"
  14. Like
    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?
  15. Like
    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
  16. Thanks
    headcrab got a reaction from xan4es in Настроить FightClass   
    Условия на самом деле разные, посмотри в самый конец. Ну а код - пипец. Вместо этих 4 строчек в скобочках используй метод с сигнатурой:
    public void Launch(bool stopMove, bool waitIsCast, bool ignoreIfCast, bool castOnSelf) Думаю, с аргументами тут всё должно быть понятно.
    Regen - это время поесть/попить, если задано. Поищи в настройках
  17. Like
    headcrab got a reaction from bizza in Авто БГ   
    Сделал поиск вражеских хилов по таймеру 
     
×
×
  • Create New...