• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • [Plugin] Giles Trinity

    Discussion in 'Archives' started by GilesSmith, Sep 5, 2012.

    Thread Status:
    Not open for further replies.
    1. r0sc0

      r0sc0 New Member

      Joined:
      Jan 15, 2010
      Messages:
      410
      Likes Received:
      2
      Trophy Points:
      0
      What i have noticed, it does actually avoid it, we need a wait timer for the area it avoids the pods then runs through the area as giles says we dont think theres a way to detect it. blacklist the specific location of a pod and radius of 5 for each pod then a wait timer of a few seconds 2-5 would be a safe bet
       
    2. Hidden.

      Hidden. New Member

      Joined:
      Sep 2, 2012
      Messages:
      132
      Likes Received:
      1
      Trophy Points:
      0
      Man this is frustrating... if I press the sprint myself so the bot doesn't have to do it... It runs like a dream because it doesn't spam that, so it has the Fury to WW around and smash things. GRRR. I just don't understand how it can only be happening to me and no one else... Nothing has changed :/. I even downgraded DB and Trinity, started from a new install, what the hell changed after the maintenance?
       
    3. Arm

      Arm New Member

      Joined:
      Aug 23, 2012
      Messages:
      214
      Likes Received:
      0
      Trophy Points:
      0
      I've got one stuck points since many trinity realeses. Act3 Stonefort near the wheels that are used to pull up the catapult. He just stands near one of those 3 wheels and does nothing. After some time he leaves the game.
       
    4. Hidden.

      Hidden. New Member

      Joined:
      Sep 2, 2012
      Messages:
      132
      Likes Received:
      1
      Trophy Points:
      0
      Let me explain why I'm so frustrated and keep hoping someone has had the issue and knows how to resolve it...
      If I do nothing for the bot, besides refresh Sprint when it's .5 of a sec from finishing, I do all of act 3 with 0 deaths.

      When I let the bot refresh Sprint (which it spams multiple times, rage draining me), I get 23 deaths per hour -_-...
       
    5. Moley

      Moley New Member

      Joined:
      Jul 15, 2012
      Messages:
      227
      Likes Received:
      0
      Trophy Points:
      0
      Most understand your frustration, Giles reads every post, no need to keep posting the issue again.
       
    6. Symbiotic

      Symbiotic New Member

      Joined:
      Jan 27, 2012
      Messages:
      56
      Likes Received:
      0
      Trophy Points:
      0
      Okay, update time.

      I tried fiddling with the code to make ti easier to read and possibly spam Rend more.

      I changed Rend's default timer to:
      Code:
      {SNOPower.Barbarian_Rend, [B]1100[/B]}, 
      Then I changed the "Rend Spam" code section around (made it simpler):
      Code:
       // Rend spam
      [B]if[/B] (!bBuffsOnly && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Rend) &&
      // Doesn't need CURRENT target to be in range, just needs ANYTHING to be within 9 foot, since it's an AOE!
      (iAnythingWithinRange[RANGE_7] > 0 || targetCurrent.fRadiusDistance <= 7f) &&
      // Bunch of optionals now that go hand in hand with all of the above...
      (
      // Either off the full 1.1s...
      GilesUseTimer(SNOPower.Barbarian_Rend) ||
      // Use rend every 0.25s if there are more enemies in range than when last used rend...
      (iAnythingWithinRange[RANGE_7] > iWithinRangeLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= [B]250[/B]) ||
      // Use rend every 0.25s if current primary target changes...
      (targetCurrent.iThisACDGUID != iACDGUIDLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= [B]250[/B])
      ) &&
      // And make sure we have more than 20 fury.
      playerStatus.dCurrentEnergy >= 20)
      {
      	[B]Logging.Write("Attemping to rend...");[/B]
      	iWithinRangeLastRend = iAnythingWithinRange[RANGE_7];
      	iACDGUIDLastRend = targetCurrent.iThisACDGUID;
      	return new GilesPower(SNOPower.Barbarian_Rend, 0f, playerStatus.vCurrentPosition, iCurrentWorldID, -1, USE_COMBAT_ONLY, USE_SLOWLY);
      }
      I basically removed the Wrath wait check, !bEmergencyAvoidance, lowered some of the times, and got rid of the redundant checks to see if he's high fury (there's no point having those).

      Most importantly, I added that Logging line of code to see when he actually makes it through that check. Lo and behold, on Azmodan, he casted Rend early on:

      [08:27:28.332 N] Attemping to rend...
      [08:27:59.915 N] Attemping to rend...

      He didn't even attempt to cast it again until Az was seemingly dead (right as Az died). It should be noted that I started the fight with no fury, but within seconds, I was at full fury the entire fight duration.

      So, Giles, which if check is failing to make it only enter that check once for the whole fight? Broken timer? Range checker failing? Number of mobs checker failing? "!bBuffsOnly"?

      I'm at a loss.

      EDIT!!! I have an idea. I'm going to nest the If statements and add a Logger comment for each one, that way I know which one it's failing on. Ah ha! Programming without proper break points!
       
      Last edited: Sep 20, 2012
    7. Hidden.

      Hidden. New Member

      Joined:
      Sep 2, 2012
      Messages:
      132
      Likes Received:
      1
      Trophy Points:
      0
      Giles has already answered me, and it was nothing that he can personally do or understand the source of at the moment, so the posts here are in hope that someone else has had the problem and fixed it.
      Giles suggested (besides all the things that I have already tried) to wait for a new DB and Trinity version, however the fact that I seem to be the only one with the problem makes me worry a bit. Also the fact that downgrading DB and Trinity hasn't fixed the issue has the same effect.
       
      Last edited: Sep 20, 2012
    8. Bajne

      Bajne New Member

      Joined:
      Sep 11, 2012
      Messages:
      36
      Likes Received:
      0
      Trophy Points:
      0


      Did you alter any code, mate? Like set down or up some number in a wordpad? :) Just an idea
       
    9. Bazingaw

      Bazingaw New Member

      Joined:
      Jun 17, 2012
      Messages:
      386
      Likes Received:
      4
      Trophy Points:
      0
      @Hidden try this:

      Look for
      Code:
                          // Sprint buff, if same suitable targets as elites, keep maintained for WW users
                          if (!bBuffsOnly && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Sprint) && !playerStatus.bIsIncapacitated && 
                              (
                              // Always keep up if we are whirlwinding 
                              hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind) ||
                              // Or if the target is a goblin
                              (targetCurrent.bThisTreasureGoblin) ||
                              // Or if the target is >16 feet away and we have 50+ fury
                              (targetCurrent.fCentreDistance >= 16f && playerStatus.dCurrentEnergy >= 50)
                              ) &&
                              // If they have battle-rage, make sure it's up
                              (!hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_BattleRage) || (hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_BattleRage) && GilesHasBuff(SNOPower.Barbarian_BattleRage))) &&
                              // Don't already have sprint up
                              !GilesHasBuff(SNOPower.Barbarian_Sprint) &&
                              // The timer is out OR ignore the timer if we don't have sprint
                              (GilesUseTimer(SNOPower.Barbarian_Sprint) || !GilesHasBuff(SNOPower.Barbarian_Sprint)) &&
                              ((playerStatus.dCurrentEnergy >= 40 && !playerStatus.bWaitingForReserveEnergy) || playerStatus.dCurrentEnergy >= iWaitingReservedAmount) && PowerManager.CanCast(SNOPower.Barbarian_Sprint))
                          {
                              return new GilesPower(SNOPower.Barbarian_Sprint, 0f, vNullLocation, iCurrentWorldID, -1, USE_COMBAT_ONLY, USE_SLOWLY);
                          }
      
      replace with
      Code:
                          // Sprint buff, if same suitable targets as elites, keep maintained for WW users
                          if (!bBuffsOnly && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Sprint) && !playerStatus.bIsIncapacitated && 
                              (
                              // Always keep up if we are whirlwinding 
                              hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind) && GilesUseTimer(SNOPower.Barbarian_Sprint) ||
                              // Or if the target is a goblin
                              (targetCurrent.bThisTreasureGoblin) ||
                              // Or if the target is >16 feet away and we have 50+ fury
                              (targetCurrent.fCentreDistance >= 16f && playerStatus.dCurrentEnergy >= 50)
                              ) &&
                              // If they have battle-rage, make sure it's up
                              (!hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_BattleRage) || (hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_BattleRage) && GilesHasBuff(SNOPower.Barbarian_BattleRage))) &&
                              // Don't already have sprint up
                              !GilesHasBuff(SNOPower.Barbarian_Sprint) &&
                              // The timer is out OR ignore the timer if we don't have sprint
                              (GilesUseTimer(SNOPower.Barbarian_Sprint) || !GilesHasBuff(SNOPower.Barbarian_Sprint)) &&
                              ((playerStatus.dCurrentEnergy >= 40 && !playerStatus.bWaitingForReserveEnergy) || playerStatus.dCurrentEnergy >= iWaitingReservedAmount) && PowerManager.CanCast(SNOPower.Barbarian_Sprint))
                          {
                              return new GilesPower(SNOPower.Barbarian_Sprint, 0f, vNullLocation, iCurrentWorldID, -1, USE_COMBAT_ONLY, USE_SLOWLY);
                          }
      
       
    10. MonsterMMORPG

      MonsterMMORPG Member

      Joined:
      Aug 22, 2012
      Messages:
      463
      Likes Received:
      1
      Trophy Points:
      18
      it did not move to the health globe even though health was a way below threshold

      tried to continue fight and result is dead

      how can i make it move to the health globes when below threshold no matter what
       
    11. Symbiotic

      Symbiotic New Member

      Joined:
      Jan 27, 2012
      Messages:
      56
      Likes Received:
      0
      Trophy Points:
      0
      Why'd you quote me in that reply? I did post my numbers. I posted the actual code section.
       
    12. Symbiotic

      Symbiotic New Member

      Joined:
      Jan 27, 2012
      Messages:
      56
      Likes Received:
      0
      Trophy Points:
      0
      Update again!

      Code:
      // Rend spam
      if(!bBuffsOnly && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Rend))
      {
      	//Logging.Write("!Buffs and has ability...");
      
      	if(iAnythingWithinRange[RANGE_7] > 0 || targetCurrent.fRadiusDistance <= 9f)
      	{
      		//Logging.Write("Range and target count...");
      
      		if(GilesUseTimer(SNOPower.Barbarian_Rend) || (iAnythingWithinRange[RANGE_7] > iWithinRangeLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 250) ||
      		(targetCurrent.iThisACDGUID != iACDGUIDLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 250))
      		{
      			Logging.Write("*** Timers ***");
      
      			if(playerStatus.dCurrentEnergy >= 20)
      			{
      				Logging.Write("****** Using Rend ******");
      				iWithinRangeLastRend = iAnythingWithinRange[RANGE_7];
      				iACDGUIDLastRend = targetCurrent.iThisACDGUID;
      				return new GilesPower(SNOPower.Barbarian_Rend, 0f, playerStatus.vCurrentPosition, iCurrentWorldID, -1, USE_COMBAT_ONLY, USE_SLOWLY);
      			}
      		}
      	}
      }
      Obviously noting my Logging function calls. The first two aren't necessary. They work fine (and spam like crazy when something is in range). I had to disable them.

      As for the second-to-last ("*** Timers ***") and last nested if statement ("*** Using Rend ***"), if the second-to-last one passes, the last one always passes right behind it. So no problems there.

      Here are my logs from Az kill:
      [09:56:29.440 N] *** Timers ***
      [09:56:31.182 N] ****** Using Rend ******
      [09:56:32.292 N] *** Timers ***
      [09:56:33.498 N] ****** Using Rend ******
      [09:56:34.623 N] *** Timers ***
      [09:56:34.623 N] ****** Using Rend ******
      [09:56:35.767 N] *** Timers ***
      [09:56:35.767 N] ****** Using Rend ******
      [09:56:36.907 N] *** Timers ***
      [09:56:36.907 N] ****** Using Rend ******

      That repeats until the fight ends.

      HOWEVER, I think I have found the problem. He's not actually USING Rend during those times, he's using Frenzy. At this point, I'm 99% certain the problem lies with the fact that abilities are chosen every 'tick', but when Frenzy is chosen, Rend still passes the check but won't actually be used. I'm guessing this problem is somewhere in GilesPower().

      Phew, this has been driving me crazy, hopefully we can figure out a fix. It can't be as simple as giving Rend higher priority over Frenzy (to an extent) can it, but making sure Rend isn't spamming TOO much, to avoid Frenzy never being used?

      I bet that might work.

      -Sym
       
      Last edited: Sep 20, 2012
    13. Antabuse

      Antabuse New Member

      Joined:
      Jun 11, 2012
      Messages:
      31
      Likes Received:
      0
      Trophy Points:
      0
      Is anyone getting diablo client crashes lately? (past 2 days)..I could bot for 24 hours a day 7 days a week without crashes but once I updated to the last two versions of Giles (without updating DB) I am getting client crashes. Note: I have not modified or changed or added or removed any plugins.
       
    14. rMaC212121

      rMaC212121 New Member

      Joined:
      Sep 15, 2012
      Messages:
      17
      Likes Received:
      0
      Trophy Points:
      0
      Walking straight into molten cores to get loot confirmed. Just watched it happen with two mobs in a row.
       
    15. Hidden.

      Hidden. New Member

      Joined:
      Sep 2, 2012
      Messages:
      132
      Likes Received:
      1
      Trophy Points:
      0
      I did not. Didn't even mess with the configs. I tried fresh installs but to no avail.
       
    16. devadam

      devadam New Member

      Joined:
      Sep 16, 2012
      Messages:
      63
      Likes Received:
      0
      Trophy Points:
      0
      hi giles. i am wizard and i want "braekable object, varil, wood, etc etc" with attack disintegrate beacuse dont figthing this wizard and go auto-attack in figth.



      edit: and gold looting in team figth.

      Like This
      prority first 1 breakeable objects 2 gold
      prority two 3 mobs and elites


      i want prority 1 "mobs and elites"


      sory my english ....
       
      Last edited: Sep 20, 2012
    17. Hidden.

      Hidden. New Member

      Joined:
      Sep 2, 2012
      Messages:
      132
      Likes Received:
      1
      Trophy Points:
      0
      In an effort to visualise the multiple sprint issue I'm having, I've made a little video.
      Pay attention to my rage bar as soon as my sprint buff is about to finish.
      Or... If you've got a good eye, look at the sprint itself, refreshing to max while it's already at max, multiple times.
      Sprint Spam - YouTube
       
    18. Decard_Cain

      Decard_Cain New Member

      Joined:
      Aug 16, 2012
      Messages:
      68
      Likes Received:
      1
      Trophy Points:
      0
      actually watched my bot after your vid and it's doing the same thing. didn't notice it before becuase my fury intake is so high but if you watch right when it casts sprint your fury goes all the way down eveytime. The only time you dont see it is when your surrounded with enough mobs that your generation is faster than the bot can spend it. It does seem to be a set number of times, as your fury generation goes back to normal about half way through the sprint cd. I thought maybe the bot was superspammin WW but I honestly can't tell.

      And yes the bot uses it normally out of combat.

      In conclusion I'm not entirely sure the sprint skill is being spammed but something is being spammed (could be WW) right after sprint is being used.
       
    19. mlemond

      mlemond New Member

      Joined:
      Sep 16, 2012
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      0
      Probably a noob question.... Now that we have prowl that pushes us notifications when a legendary is stashed.... how do i set it up so that legendaries get stashed asap instead of waiting for my backpack to get full. I'm farming leoric's signet, so my bag really never gets "full" during my runs due to all the low level craps blues and yellows that i skip picking up.

      Thanks in advance.
       
    20. Hidden.

      Hidden. New Member

      Joined:
      Sep 2, 2012
      Messages:
      132
      Likes Received:
      1
      Trophy Points:
      0
      It is Sprint, I can actually see the buff going back to full after its already started and yes, I'd you notice in the vid I was in the middle of a group of mobs, so there was no issue, the fury regen was massive enough for it not to matter, but when you get to a group of elites and just that, they pop molten down or something, he drains my fury and walks up and bashes. Kinda ruins the way WW works. As I said, if I null out the bug by refreshing it manually, I get 0 deaths throughout the profile. The bot would be perfect if it wasn't for this bug.
       
    Thread Status:
    Not open for further replies.

    Share This Page