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

[Plugin] Giles Trinity

Status
Not open for further replies.
for those complaining about rend not being used enough. open GilesTrinity.cs in something like notepad++ or just notepad. these are the settings i use..

note: this is using version 1.4.9.1.

line 4649:
{SNOPower.Barbarian_Rend, 3000},​
change this to
{SNOPower.Barbarian_Rend, 200},​

line 5073 5098:
// Rend spam
if (!bBuffsOnly && !bAvoidanceEmergency && 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) &&
// *DON'T* use rend if we currently have wrath/earthquake/call available & needed but need to save up energy energy
(!bWaitingForSpecial || playerStatus.dCurrentEnergy >= 75) &&
// Bunch of optionals now that go hand in hand with all of the above...
(
// Either off full 4 second or so cooldown...
GilesUseTimer(SNOPower.Barbarian_Rend) ||
// ... or ability to spam rend every 0.5 seconds if more enemies in range than when last used rend...
(iAnythingWithinRange[RANGE_7] > iWithinRangeLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 500) ||
// ... or ability to spam rend every 1.2 seconds if current primary target changes...
(targetCurrent.iThisACDGUID != iACDGUIDLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 1200) ||
// ... or ability to spam rend every 1.6 seconds with almost full fury
(playerStatus.dCurrentEnergyPct >= 0.85 && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 1600) ||
// ... or ability to spam rend every 2.2 seconds with a lot of fury
(playerStatus.dCurrentEnergyPct >= 0.65 && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 2200)
) &&
// And finally, got at least 20 energy
playerStatus.dCurrentEnergy >= 20)
{
iWithinRangeLastRend = iAnythingWithinRange[RANGE_7];
iACDGUIDLastRend = targetCurrent.iThisACDGUID;
return new GilesPower(SNOPower.Barbarian_Rend, 0f, playerStatus.vCurrentPosition, iCurrentWorldID, -1, USE_COMBAT_ONLY, USE_SLOWLY);
}
change this to
// Rend spam
if (!bBuffsOnly && !bAvoidanceEmergency && 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) &&
// *DON'T* use rend if we currently have wrath/earthquake/call available & needed but need to save up energy energy
(!bWaitingForSpecial) &&
// Bunch of optionals now that go hand in hand with all of the above...
(
// Either off full 4 second or so cooldown...
GilesUseTimer(SNOPower.Barbarian_Rend) ||
// ... or ability to spam rend every 0.5 seconds if more enemies in range than when last used rend...
(iAnythingWithinRange[RANGE_7] > iWithinRangeLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 200) ||
// ... or ability to spam rend every 1.2 seconds if current primary target changes...
(targetCurrent.iThisACDGUID != iACDGUIDLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 200) ||
// ... or ability to spam rend every 1.6 seconds with almost full fury
(playerStatus.dCurrentEnergyPct >= 0.85 && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 200) ||
// ... or ability to spam rend every 2.2 seconds with a lot of fury
(playerStatus.dCurrentEnergyPct >= 0.65 && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 200)
) &&
// And finally, got at least 20 energy
playerStatus.dCurrentEnergy >= 20)
{
iWithinRangeLastRend = iAnythingWithinRange[RANGE_7];
iACDGUIDLastRend = targetCurrent.iThisACDGUID;
return new GilesPower(SNOPower.Barbarian_Rend, 0f, playerStatus.vCurrentPosition, iCurrentWorldID, -1, USE_COMBAT_ONLY, USE_SLOWLY);
}​

i didnt actually bother testing a lot of numbers, some of the logic can even be removed completely.. i just wanted a quick fix because i was getting in a lot of situations where rend was on nothing for 2+ seconds which can easily cause a death. i believe you have to restart demonbuddy for the changes in the .cs file to take effect.

hope it helps some people
 
Last edited:
Bit of a fail on Trinity at the moment... On my WW Barb, it spams sprint for all the Rage that I have in my bar. It will spam it 3-4 times to empty out my bar, then goes in and attacks with a normal attack instead of using WW cos there's no rage left. Tips?

Edit: This only happens in combat, it doesn't happen when running to a location.
 
Last edited:
Bit of a fail on Trinity at the moment... On my WW Barb, it spams sprint for all the Rage that I have in my bar. It will spam it 3-4 times to empty out my bar, then goes in and attacks with a normal attack instead of using WW cos there's no rage left. Tips?

You could always check out previous versions to see if one fits your needs better.
 
I couldn't find it, but how does the order stash work exactly? Does it order all the loot from each stash page? Does it put highest scored loot in the first stash tab?
 
Bit of a fail on Trinity at the moment... On my WW Barb, it spams sprint for all the Rage that I have in my bar. It will spam it 3-4 times to empty out my bar, then goes in and attacks with a normal attack instead of using WW cos there's no rage left. Tips?

Edit: This only happens in combat, it doesn't happen when running to a location.

There is no fail on the trinity. Usually the fail is user error and Im sure this is the case also as my WW barbs run totally fine and I run 4 of them.
 
I'm not sure what I could possibly do to make that happen... There are no options to set up for that kind of thing so erm... What could I have possibly done wrong?

Also... Apart from that bug... A suggestion to make WW live a lot better... Could you make it so that after he pops sprint, if he has enough fury to WW, to make him go a certain amount up and to the sides to make sure he gets his Hurricanes off? Most of the time he pops it and doesn't move far enough to actually make use of it...
 
Hey Giles,
had an idea about keeping vision quest buff alive for constant mana increase on witch doctor.
Code:
                    // Vision Quest Buff - Always up in Combat
                    if (hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_Firebomb) && !GilesHasBuff(Zeta.Internals.Actors.SNOPower.Witchdoctor_Passive_VisionQuest) || GilesHasBuff(Zeta.Internals.Actors.SNOPower.Witchdoctor_Passive_VisionQuest(Zeta.PowerKeys.CooldownTime < 3)
                    {
                        return new GilesPower(SNOPower.Witchdoctor_Firebomb, 35f, vNullLocation, iCurrentWorldID, -1, USE_COMBAT_ONLY, USE_SLOWLY);
                    }

You will no doubt want to expand on the spells that trigger Vision Quest, basicly my setup it spams Zombie bears i want it to keep visionquest up with 1 cast of firebomb.
then when cooldown has 2 sec remaining recast. I know the cooldown code isnt correct its just an example.

Also if you can add this
if it detects that we are using Spirit Barrage && Unit Name: WD_spiritBarrageRune_turret_ghost-30031 ActorSNO: 181867, Distance: 19.8854 IS There don't cast again, you basically only want to cast when that isn't there and were in combat, i think i see it casting a fair amount of times as if its just spirit barrage.This should free WD up with a bit more mana if it isnt spamming spiritBarrage
 
Last edited:
for those complaining about rend not being used enough. open GilesTrinity.cs in something like notepad++ or just notepad. these are the settings i use..

note: this is using version 1.4.9.1.

line 4649:
{SNOPower.Barbarian_Rend, 3000},​
change this to
{SNOPower.Barbarian_Rend, 200},​

line 5073 5098:
// Rend spam
if (!bBuffsOnly && !bAvoidanceEmergency && 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) &&
// *DON'T* use rend if we currently have wrath/earthquake/call available & needed but need to save up energy energy
(!bWaitingForSpecial || playerStatus.dCurrentEnergy >= 75) &&
// Bunch of optionals now that go hand in hand with all of the above...
(
// Either off full 4 second or so cooldown...
GilesUseTimer(SNOPower.Barbarian_Rend) ||
// ... or ability to spam rend every 0.5 seconds if more enemies in range than when last used rend...
(iAnythingWithinRange[RANGE_7] > iWithinRangeLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 500) ||
// ... or ability to spam rend every 1.2 seconds if current primary target changes...
(targetCurrent.iThisACDGUID != iACDGUIDLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 1200) ||
// ... or ability to spam rend every 1.6 seconds with almost full fury
(playerStatus.dCurrentEnergyPct >= 0.85 && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 1600) ||
// ... or ability to spam rend every 2.2 seconds with a lot of fury
(playerStatus.dCurrentEnergyPct >= 0.65 && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 2200)
) &&
// And finally, got at least 20 energy
playerStatus.dCurrentEnergy >= 20)
{
iWithinRangeLastRend = iAnythingWithinRange[RANGE_7];
iACDGUIDLastRend = targetCurrent.iThisACDGUID;
return new GilesPower(SNOPower.Barbarian_Rend, 0f, playerStatus.vCurrentPosition, iCurrentWorldID, -1, USE_COMBAT_ONLY, USE_SLOWLY);
}
change this to
// Rend spam
if (!bBuffsOnly && !bAvoidanceEmergency && 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) &&
// *DON'T* use rend if we currently have wrath/earthquake/call available & needed but need to save up energy energy
(!bWaitingForSpecial) &&
// Bunch of optionals now that go hand in hand with all of the above...
(
// Either off full 4 second or so cooldown...
GilesUseTimer(SNOPower.Barbarian_Rend) ||
// ... or ability to spam rend every 0.5 seconds if more enemies in range than when last used rend...
(iAnythingWithinRange[RANGE_7] > iWithinRangeLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 200) ||
// ... or ability to spam rend every 1.2 seconds if current primary target changes...
(targetCurrent.iThisACDGUID != iACDGUIDLastRend && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 200) ||
// ... or ability to spam rend every 1.6 seconds with almost full fury
(playerStatus.dCurrentEnergyPct >= 0.85 && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 200) ||
// ... or ability to spam rend every 2.2 seconds with a lot of fury
(playerStatus.dCurrentEnergyPct >= 0.65 && DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_Rend]).TotalMilliseconds >= 200)
) &&
// And finally, got at least 20 energy
playerStatus.dCurrentEnergy >= 20)
{
iWithinRangeLastRend = iAnythingWithinRange[RANGE_7];
iACDGUIDLastRend = targetCurrent.iThisACDGUID;
return new GilesPower(SNOPower.Barbarian_Rend, 0f, playerStatus.vCurrentPosition, iCurrentWorldID, -1, USE_COMBAT_ONLY, USE_SLOWLY);
}​

i didnt actually bother testing a lot of numbers, some of the logic can even be removed completely.. i just wanted a quick fix because i was getting in a lot of situations where rend was on nothing for 2+ seconds which can easily cause a death. i believe you have to restart demonbuddy for the changes in the .cs file to take effect.

hope it helps some people

I tried to edit it as you stated but i got
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6005,13) : error CS1519: Invalid token 'return' in class, struct, or interface member declaration
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6005,24) : error CS1520: Method must have a return type
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6005,48) : error CS1001: Identifier expected
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6005,50) : error CS1031: Type expected
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6005,66) : error CS1519: Invalid token ',' in class, struct, or interface member declaration
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6013,24) : error CS1518: Expected class, delegate, enum, interface, or struct
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6016,33) : error CS1518: Expected class, delegate, enum, interface, or struct
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6033,49) : error CS1518: Expected class, delegate, enum, interface, or struct
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6033,166) : error CS1518: Expected class, delegate, enum, interface, or struct
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6038,13) : error CS0116: A namespace cannot directly contain members such as fields or methods
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6039,9) : error CS1022: Type or namespace definition, or end-of-file expected
 
I tried to edit it as you stated but i got
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6005,13) : error CS1519: Invalid token 'return' in class, struct, or interface member declaration
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6005,24) : error CS1520: Method must have a return type
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6005,48) : error CS1001: Identifier expected
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6005,50) : error CS1031: Type expected
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6005,66) : error CS1519: Invalid token ',' in class, struct, or interface member declaration
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6013,24) : error CS1518: Expected class, delegate, enum, interface, or struct
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6016,33) : error CS1518: Expected class, delegate, enum, interface, or struct
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6033,49) : error CS1518: Expected class, delegate, enum, interface, or struct
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6033,166) : error CS1518: Expected class, delegate, enum, interface, or struct
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6038,13) : error CS0116: A namespace cannot directly contain members such as fields or methods
[03:20:58.243 N] Compiler Error: c:\Users\TonyiMac\Desktop\Demonbuddy 1.0.958.227\Plugins\GilesTrinity\GilesTrinity.cs(6039,9) : error CS1022: Type or namespace definition, or end-of-file expected

make sure you replace the lines exactly, my first guess is you either missed, or kept an extra }

edit: read through to find the problem, in the rend spam logic copy pasting barbarian added a space so it became barbar ian, remove the space and it should be fine
 
Last edited:
I wonder if unstuckme plugin will cause conflict with trinity plugin, should I get rid of it? Perhaps running both unstuckme and trinity plugins may cause more stuck for the bot ?
 
Has anyone the same problem, that the bot starts the salvage routine and stucks/standing still?

Code:
[12:36:57.929 D] [GilesTrinity] GSDebug: Stash routine ending sequence...
[12:36:57.960 D] [GilesTrinity] GSDebug: Stash routine finished.
[12:37:00.773 D] [GilesTrinity] GSDebug: Sell routine started.
[12:37:06.570 D] [GilesTrinity] GSDebug: Sell routine ending sequence...
[12:37:06.601 D] [GilesTrinity] GSDebug: Sell routine finished.
[12:37:09.648 D] [GilesTrinity] GSDebug: Salvage routine started.
[12:37:09.679 D] Navigator.Clear
[12:37:09.679 D] Generating path to Town Portal (Possible) - <379.0132, 421.9469, 0.3321455>
[12:37:09.695 D] Raycast path generated.
[12:37:09.695 D] Generated path to <379.0132, 421.9469, 0.3321455> (Town Portal (Possible)) with 1 hops.
[12:37:10.679 D] [GilesTrinity] GSDebug: Salvage routine started.

if i click "Stop" "Start" he is one the move again.

edit:
disabled "unstuckMe!" plugin. maybe that was the fault.
 
Last edited:
I wonder if unstuckme plugin will cause conflict with trinity plugin, should I get rid of it? Perhaps running both unstuckme and trinity plugins may cause more stuck for the bot ?
Has anyone the same problem, that the bot starts the salvage routine and stucks/standing still?

Code:
[12:36:57.929 D] [GilesTrinity] GSDebug: Stash routine ending sequence...
[12:36:57.960 D] [GilesTrinity] GSDebug: Stash routine finished.
[12:37:00.773 D] [GilesTrinity] GSDebug: Sell routine started.
[12:37:06.570 D] [GilesTrinity] GSDebug: Sell routine ending sequence...
[12:37:06.601 D] [GilesTrinity] GSDebug: Sell routine finished.
[12:37:09.648 D] [GilesTrinity] GSDebug: Salvage routine started.
[12:37:09.679 D] Navigator.Clear
[12:37:09.679 D] Generating path to Town Portal (Possible) - <379.0132, 421.9469, 0.3321455>
[12:37:09.695 D] Raycast path generated.
[12:37:09.695 D] Generated path to <379.0132, 421.9469, 0.3321455> (Town Portal (Possible)) with 1 hops.
[12:37:10.679 D] [GilesTrinity] GSDebug: Salvage routine started.

if i click "Stop" "Start" he is one the move again.

edit:
disabled "unstuckMe!" plugin. maybe that was the fault.

To both of you I may say: UnstuckMe! caused a problem while starting up DB to me. After deleting the respective files it worked again. If you use Giles Trinity, there is an unstucker included for recent versions.
 
when a elite explodes after a kill, i tries to loot to fast and takes damage. While a few releases ago this was not the case. What happend and how to change it back, saves in my case a few deaths a day.
 
when a elite explodes after a kill, i tries to loot to fast and takes damage. While a few releases ago this was not the case. What happend and how to change it back, saves in my case a few deaths a day.

get better gear imo. dieing once in a while is inevitable.
 
Hey, is there any way to test the notifications? I've added the key to config, dropped a legendary on the ground and the bot picked it up and I hadn't receive any notification :s
 
anyone having prob with seven sided strike triggering out of the range of mobs? any solution for tat?
 
I went back to 222 with the 1.4.9 and its better, not perfect but better.
Are some of the problems coming from the new DB and not the new giles?
Is everyone posting using 222 or 227 ?
Will post DB version in future post.


hey WD peps got a 50 I would like to bot to 60....build that will work with giles?
 
Status
Not open for further replies.
Back
Top