What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

[Plugin] Giles Combat Replacer

Code:
[09:40:31.117 D] Successfully generated path from {X=273,Y=388} to {X=292,Y=495} in 00:00:00.0510207 with 108(11) hops
[09:40:31.117 D] Client path generated.
[09:40:31.117 D] Generated path to <3398.2, 730.6555, 0.1000009> () with 11 hops.
[09:40:33.818 D] [WorldObjectHandler] Blacklisting a destructible [Clicky_LootType2_DemonTrooper_B_Frosty_Corpse_01-54536] with no physics mesh.
[09:40:33.818 V] Blacklisting 4B6E0070 for 00:10:00
[09:40:36.521 D] [WorldObjectHandler] Blacklisting a world object [TriggerSphereOneShot-54567] because it was an unknown object type.
[09:40:36.521 V] Blacklisting 4B8D0034 for 00:10:00
[09:40:41.464 D] Teleporter
[09:40:41.465 D] Shielding
[09:40:41.465 D] Molten
[09:40:41.466 D] Minion
[09:40:48.111 D] Rare
[09:40:48.112 D] Vortex
[09:40:48.112 D] Teleporter
[09:40:48.113 D] Shielding
[09:40:48.113 D] Molten
[09:40:49.464 D] Teleporter
[09:40:49.465 D] Shielding
[09:40:49.465 D] Molten
[09:40:49.466 D] Minion
[09:40:49.473 D] Teleporter
[09:40:49.473 D] Shielding
[09:40:49.474 D] Molten
[09:40:49.474 D] Minion
[09:41:02.095 D] [WorldObjectHandler] Blacklisting a world object [HirelingHeadstone-55501] because it was an unknown object type.
[09:41:02.095 V] Blacklisting 4F33004A for 00:10:00
[09:41:26.612 D] [WorldObjectHandler] Blacklisting a container [Clicky_LootType2_DemonTrooper_B_Frosty_Corpse_01-56537] because we never want to open it.
[09:41:26.612 V] Blacklisting 533F007C for 00:10:00
[09:41:29.472 D] System.AccessViolationException: Could not read bytes from 00000008 [299]!
   bei Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
   bei Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
   bei Zeta.Internals.Actors.ACD.[](ACD , Int32 )
   bei Zeta.Internals.Actors.ACD.GetAttribute[T](Int32 attribute)
   bei Zeta.Internals.Actors.ACD.GetAttribute[T](ActorAttributeType attributeType)
   bei Zeta.Internals.Actors.ACDItem.get_Gold()
   bei GilesWorldObjectHandler.GilesLootTargetingProvider.CalculateWeight(DiaObject n)
   bei System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   bei System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   bei System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   bei GilesWorldObjectHandler.GilesLootTargetingProvider.GetObjectsByWeight()
   bei Zeta.CommonBot.Targeting.Pulse()
   bei Zeta.CommonBot.Logic.BrainBehavior.()
[09:41:35.382 D] [WorldObjectHandler] Blacklisting a container [Clicky_LootType2_DemonTrooper_B_Frosty_Corpse_01-56726] because we never want to open it.
[09:41:35.382 V] Blacklisting 53FC0065 for 00:10:00
[09:41:38.162 D] [WorldObjectHandler] Blacklisting a world object [TriggerSphereOneShot-56800] because it was an unknown object type.
[09:41:38.162 V] Blacklisting 5446003A for 00:10:00
[09:41:40.492 D] [WorldObjectHandler] Blacklisting a world object [rmpt_FloorExplosion_directional-56748] because it was an unknown object type.
[09:41:40.492 V] Blacklisting 54120021 for 00:10:00

dunno if this one is on DB or combatreplacer but this error seems to be related to the bot skipping loot all the time.
 
Thanks for the great plugin!

However even with the temp fix I still have problems with looting aftercombat, especially after fighting a champion pack where it takes longer. At some point the bot kills the pack and continues without even trying to loot. If i manually drag the bot to where items dropped, it start picking them up. That is quite strange. I noticed this even on packs where no avoidance is needed. Today I watched the bot for an hour or so and he missed like 30-40% of all loot, which is huge, especially on champ hunting.
Also while looting if the bot is attacked, he stops looting, start chasing the target and then most of the time does not come back for the loop, or even if it does, for some reason does not see the loot and leave it on the ground.

Another problem I've noticed is that if I use War Cry + Battle Rage combo, my Rend is being used at least twice less often than if I use War Cry alone. And yes I changed the line with how often the Rend should be used. It may sound stupid but it seems that the bot is focusing on using fury buffed with the 30% bonus and "forgets" about casting Rend.

Other than that it is great plugin and I really hope it gets fixed soon, especially the loot problem.
 
Last edited:
can you add an option which will prioritize shrine clicking instead of fighting

also please add 30 sec monster blacklisting feature
 
can you add an option which will prioritize shrine clicking instead of fighting

also please add 30 sec monster blacklisting feature

search

Code:
if (!Blacklist.Contains(thisthing.RActorGuid, BlacklistFlags.Loot))
                {
                    bool bUseThis = false;
                    switch (thisthing.ActorSNO)
                    {
                        case 138989:
                            // health pool
                            if (iMyCachedHealth <= .7)
                                bUseThis = true;
                            return;
                        case 176074:
                            // protection shrine
                            if (bAlwaysClick || iElitesWithinRange > 0)
                                bUseThis = true;
                            return;
                        case 176076:
                            // protection shrine
                            if (bAlwaysClick || iElitesWithinRange > 0)
                                bUseThis = true;
                            return;
                        case 176077:
                            // frenzied shrine
                            bUseThis = true;
                            break;
                    }
                    if (bUseThis)
                    {
                        try
                        {
                            thisthing.Interact();
                            Blacklist.Add(thisthing, BlacklistFlags.Loot, TimeSpan.FromMinutes(10.0));
                        }
                        catch { }
                    }


replace with

Code:
 if (!Blacklist.Contains(thisthing.RActorGuid, BlacklistFlags.Loot))
                {
                   
                        try
                        {
                            thisthing.Interact();
                            Blacklist.Add(thisthing, BlacklistFlags.Loot, TimeSpan.FromMinutes(10.0));
                        }
                        catch { }
                }
 
search

Code:
if (!Blacklist.Contains(thisthing.RActorGuid, BlacklistFlags.Loot))
                {
                    bool bUseThis = false;
                    switch (thisthing.ActorSNO)
                    {
                        case 138989:
                            // health pool
                            if (iMyCachedHealth <= .7)
                                bUseThis = true;
                            return;
                        case 176074:
                            // protection shrine
                            if (bAlwaysClick || iElitesWithinRange > 0)
                                bUseThis = true;
                            return;
                        case 176076:
                            // protection shrine
                            if (bAlwaysClick || iElitesWithinRange > 0)
                                bUseThis = true;
                            return;
                        case 176077:
                            // frenzied shrine
                            bUseThis = true;
                            break;
                    }
                    if (bUseThis)
                    {
                        try
                        {
                            thisthing.Interact();
                            Blacklist.Add(thisthing, BlacklistFlags.Loot, TimeSpan.FromMinutes(10.0));
                        }
                        catch { }
                    }


replace with

Code:
 if (!Blacklist.Contains(thisthing.RActorGuid, BlacklistFlags.Loot))
                {
                   
                        try
                        {
                            thisthing.Interact();
                            Blacklist.Add(thisthing, BlacklistFlags.Loot, TimeSpan.FromMinutes(10.0));
                        }
                        catch { }
                }


what will blacklisting to 30seconds exactly do?

Also does anyone how to adjust the potion timer? Sometimes after the bot uses potion and the cool down goes away the bot won't use the potion again?
 
search

Code:
if (!Blacklist.Contains(thisthing.RActorGuid, BlacklistFlags.Loot))
                {
                    bool bUseThis = false;
                    switch (thisthing.ActorSNO)
                    {
                        case 138989:
                            // health pool
                            if (iMyCachedHealth <= .7)
                                bUseThis = true;
                            return;
                        case 176074:
                            // protection shrine
                            if (bAlwaysClick || iElitesWithinRange > 0)
                                bUseThis = true;
                            return;
                        case 176076:
                            // protection shrine
                            if (bAlwaysClick || iElitesWithinRange > 0)
                                bUseThis = true;
                            return;
                        case 176077:
                            // frenzied shrine
                            bUseThis = true;
                            break;
                    }
                    if (bUseThis)
                    {
                        try
                        {
                            thisthing.Interact();
                            Blacklist.Add(thisthing, BlacklistFlags.Loot, TimeSpan.FromMinutes(10.0));
                        }
                        catch { }
                    }


replace with

Code:
 if (!Blacklist.Contains(thisthing.RActorGuid, BlacklistFlags.Loot))
                {
                   
                        try
                        {
                            thisthing.Interact();
                            Blacklist.Add(thisthing, BlacklistFlags.Loot, TimeSpan.FromMinutes(10.0));
                        }
                        catch { }
                }

thanks

can you also explain what does this mean

u.Distance <= 9f
 
can some1 post there updated .cs file, i cant get mine right.
 
The bot gets stuck and tries to attack the Fire spitting parts of Tower of the Cursed in the ciggarc act 3 champ hunting profile. They are a part of the landscape and it just keeps tryin to kill em.
 
yes same here, it hits the goblin, chases it, hits it, chases it then leaves it alone :/
 
lol i buy a maximus for enchantress and sometime the bot keep attacking the daemon -.- its hard to fix? :D

Check the FAQ in my signature (I think I already helped you, but others may be interested!)

can some1 post there updated .cs file, i cant get mine right.

What are you trying to change in the cs file? I'll help you if I know what you want changed

The bot gets stuck and tries to attack the Fire spitting parts of Tower of the Cursed in the ciggarc act 3 champ hunting profile. They are a part of the landscape and it just keeps tryin to kill em.
You can check the FAQ in my signature too, but I'll post the full fix here in case anyone else needs it!

Open giles monster priority or giles combat replacer and add this number to the blacklist.
185391

to be more specific, find THIS for giles combat replacer
Code:
// Special blacklist for things like ravens, templar/scoundrel/enchantress in town etc. etc. that should never be attacked
        private static readonly List<int> listActorSNOIgnoreBlacklist = new List<int> { 
            5840, 111456, 5013, 5014, 205756, 205746, 4182, 4183, 4644, 4062, 4538, 52693, 162575, 2928, 51291, 51292, 
            96132, 90958, 90959, 80980, 51292, 51291, 2928, 3546, 129345, 81857, 138428, 81857, 60583, 170038, 174854, 190390, 
            194263, 5482, 174900, 219702, 221225, 87189, 90072, 107031, 106584, 186130, 187265, 201426, 201242, 200969, 201423, 
            201438, 201464, 201454, 108012, 103279, 89578, 74004, 84531, 84538, 89579, 190492, 209133, 6318, 107705, 105681, 89934, 
            89933, 182276, 117574, 182271, 182283, 182278, 128895, 81980, 82111, 81226, 81227, 107067, 103217, 105763, 110959, 106749,
            107107, 107112, 106731, 107752, 107829, 90321, 107828, 121327, [COLOR="#FF0000"]185391[/COLOR]
         };

and add the number in red
 
Really smooth combat routine, I feel it's a bit more efficient than Belphegor, but on the other hand seems to have some looting issues that Belphegor doesn't. I'm sure you're on top of it seeing as this has been talked about a lot.

I would like to suggest a more consistent use of Rend now that everyone is using it. Maybe one should just increase the priority?
 
My toon doesn't seem to use his Health potions. playing barb and all he does is spam Revenge on low hp. Health potion is not on CD or anything.. ? I've reinstalled the plugin and tried without success
 
Atm baelphagor is better for WD play. This one simply does not use all skills. ( Does not use Acid cloud, zombie dogs, hex etc... the few i have tried, may be more) It definitely attacks shit faster which can be seen when using rain of toads. I have no doubt this could be better than baelph with some more work. If you need a guinea pig for WD testing/feedback just PM me because I would love this to work awesome with a WD.
 
I love this guy. He makes me smile since 1hour. I can't stop it!

!I LOVE YOU!
 
Anyone else having issues with this and VM? My barb running in normal windows uses frenzy really well, moves around good, etc.. but my barb using VMware doesn't really ever use frenzy... he will usually take quite a few hits before even attacking back, using revenge/rend. He also will mostly just leap, sit there and use rend, without really running around much. Out of combat he does just fine running around, getting loot, etc. but in combat he sometimes just stands around taking hits, not using frenzy, not being smart at all..

I've tried changes in this thread
http://www.thebuddyforum.com/demonb...escombatreplacer-temporary-till-hes-back.html

but I don't think they really helped...

anyone have a idea? :/
 
You can lower the Rend timer even more in this line:

Code:
{SNOPower.Barbarian_Rend, 2000}

Just replace 2000 with the number of milliseconds for the internal CD in the combat routine. For what it's worth, he actually sets it to 1.5 seconds anyway when you have a lot of Fury by default. Just be careful to not go too low otherwise you'll never ever use Frenzy.

EDIT: Actually now that I think about it, what's likely happening is that you are getting a ton of Revenge procs, because right now Revenge has higher priority than Rend. If you want to change the priority, then simply move the code for Rend above the code for Revenge. In other words, swap:

Code:
// Revenge used off-cooldown
                    if (!bBuffsOnly && !bMeIncapacitated && powerHotbarAbilities.Contains(SNOPower.Barbarian_Revenge) && fDistanceFromTarget <= 15f &&
                        DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Revenge]).TotalMilliseconds >= dictAbilityRepeatDelay[SNOPower.Barbarian_Revenge] && 
                        PowerManager.CanCast(SNOPower.Barbarian_Revenge))
                    {
                        return new GilesPower(SNOPower.Barbarian_Revenge, 15f, vNullLocation, iCurrentWorldID, -1, USE_COMBAT_ONLY, FOR_SLOW_USE);
                    }
                    // Rend when enough enemies within close range
                    if (!bBuffsOnly && !bMeIncapacitated && fDistanceFromTarget <= 13f && 
                        powerHotbarAbilities.Contains(SNOPower.Barbarian_Rend) &&
                        (DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= dictAbilityRepeatDelay[SNOPower.Barbarian_Rend] ||
                        // Ability to spam rend every 1.7 seconds if you have high fury
                        (iMyCachedPrimaryPercent >= 0.7 && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 1500)) &&
                        iMyCachedPrimaryResource >= 30)
                    {
                        return new GilesPower(SNOPower.Barbarian_Rend, 13f, new Vector3(vCurrentTargetPosition.X, vCurrentTargetPosition.Y, vCurrentTargetPosition.Z + iThisHeight), iCurrentWorldID, -1, USE_COMBAT_ONLY, FOR_SLOW_USE);
                    }

with this:

Code:
// Rend when enough enemies within close range
                    if (!bBuffsOnly && !bMeIncapacitated && fDistanceFromTarget <= 13f && 
                        powerHotbarAbilities.Contains(SNOPower.Barbarian_Rend) &&
                        (DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= dictAbilityRepeatDelay[SNOPower.Barbarian_Rend] ||
                        // Ability to spam rend every 1.7 seconds if you have high fury
                        (iMyCachedPrimaryPercent >= 0.7 && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 1500)) &&
                        iMyCachedPrimaryResource >= 30)
                    {
                        return new GilesPower(SNOPower.Barbarian_Rend, 13f, new Vector3(vCurrentTargetPosition.X, vCurrentTargetPosition.Y, vCurrentTargetPosition.Z + iThisHeight), iCurrentWorldID, -1, USE_COMBAT_ONLY, FOR_SLOW_USE);
                    }

// Revenge used off-cooldown
                    if (!bBuffsOnly && !bMeIncapacitated && powerHotbarAbilities.Contains(SNOPower.Barbarian_Revenge) && fDistanceFromTarget <= 15f &&
                        DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Revenge]).TotalMilliseconds >= dictAbilityRepeatDelay[SNOPower.Barbarian_Revenge] && 
                        PowerManager.CanCast(SNOPower.Barbarian_Revenge))
                    {
                        return new GilesPower(SNOPower.Barbarian_Revenge, 15f, vNullLocation, iCurrentWorldID, -1, USE_COMBAT_ONLY, FOR_SLOW_USE);
                    }

Made both changes. Much better!
 
bot tries to attack falling fireballs in act 3. Anybody now number of that ? So that i can blacklist it as well?
 
i feel like my monk avoids things occasionally. he will evade at 1st then say screw it and goes in whether or not theres 5 arcanes in there or not.

i have my arcane avoidance set to avoid at max hp. anyway i can keep him away from them til their gone?

EDIT: i believe its because techically he does avoid it by running 10 yards away but RIGHT after he runs back and attacks
i disabled all avoidances in combatreplacer and im using Debuffevasion with my radius of things like 15 yards. going to see if it helps at all
 
Last edited:
Back
Top