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

Unified Trinity Community Edition

Status
Not open for further replies.
so anyone know code and place to put the code to make darks ruleset keep specific items no matter what?

I put this in legendary.dis but it still sells the item

[QUALITY] = "Legendary && [NAME] == "Spectrum"
 
Seems like Tinnvec still enjoys giving support, even after all these years.

Do you lot have a ticket system for the bugs or are you just going through this mess here?
 
Seems like Tinnvec still enjoys giving support, even after all these years.

Do you lot have a ticket system for the bugs or are you just going through this mess here?

Zoo! Wow man long time. Yeah I still uh...love? the diablo botting community.

A Bug/Issue tracking tool would be nice, though I'm not sure if assembla offers them for free
 
well with all the bug reports, I'd like to say things are running quite well for me! Got a few uber hiccups but nothing that can't be tackled on my own. I appreciate the VOLUNTARY effort hti/rrrix (and others) are providing.

Thank you guys, I think most of us appreciate what you're doing and don't expect the world to be fixed overnight. Take a day off.
 
because you author of this shit, stupid bitch.
He's the author, not a magician. Hasty fixes only create more problems, ask Blizzard, they know.

Might be easier to solve it if the bug report included your Class, map and targeted object/npc. Unless you can provide those for the sake of reproducing, you should expect some delay.
 
so anyone know code and place to put the code to make darks ruleset keep specific items no matter what?

I put this in legendary.dis but it still sells the item

[QUALITY] = "Legendary && [NAME] == "Spectrum"

Try

[QUALITY] = Legendary && [NAME] == "Spectrum"

You put " before legendary

Right cause it's not like you made another account and then pretend to support your previous statement.

If this guy have lot of time to lose, it is easier to say the shit to have development's knowledge :rolleyes:
 
code that actually works said:
// Hammer of the ancients spam-attacks no other useless rules that causes lags with various fury generators
if (playerStatus.dCurrentEnergy >= 30 && !bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_HammerOfTheAncients) &&
!playerStatus.bIsIncapacitated )
{
return new GilesPower(SNOPower.Barbarian_HammerOfTheAncients, 12f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 0, SIGNATURE_SPAM);
}

// Wrath of the berserker, elites only (wrath of berserker)
//intell
if (!bOOCBuff && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_WrathOfTheBerserker) && bUseBerserker &&
// Not on heart of sin after Cydaea
targetCurrent.iThisActorSNO != 193077 &&
// Make sure we are allowed to use wrath on goblins, else make sure this isn't a goblin (unless an elite is nearby)
(settings.bGoblinWrath || !targetCurrent.bThisTreasureGoblin || iElitesWithinRange[RANGE_15] >= 1) &&
// If on a boss, only when injured
((targetCurrent.bThisBoss && targetCurrent.iThisHitPoints <= 0.99 && !hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) ||
// If *NOT* on a boss, and definitely no boss in range, then judge based on any elites at all within 30 feet
((!targetCurrent.bThisBoss || hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) &&
(!bAnyBossesInRange || hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) &&
((iElitesWithinRange[RANGE_20] >= 1 || targetCurrent.bThisEliteRareUnique) && (targetCurrent.iThisHitPoints >= 0.30 || playerStatus.dCurrentHealthPct <= 0.99))
)) &&
// Don't still have the buff
!GilesHasBuff(SNOPower.Barbarian_WrathOfTheBerserker) &&
GilesUseTimer(SNOPower.Barbarian_WrathOfTheBerserker, true) && PowerManager.CanCast(SNOPower.Barbarian_WrathOfTheBerserker))
{
if (playerStatus.dCurrentEnergy >= 50)
{
if (targetCurrent.iThisActorSNO == 255996)
Logging.Write("[GilesTrinity] Berserk being used: Act 1 Warden, Odeg!");
else if (targetCurrent.iThisActorSNO == 256000)
Logging.Write("[GilesTrinity] Berserk being used: Act 2 Warden, Sokahr!");
else if (targetCurrent.iThisActorSNO == 256015)
Logging.Write("[GilesTrinity] Berserk being used: Act 3 Warden, Xah'rith!");
else
Logging.Write("[GilesTrinity] Berserk being used!");
bUseBerserker = false;
return new GilesPower(SNOPower.Barbarian_WrathOfTheBerserker, 0f, vNullLocation, iCurrentWorldID, -1, 1, 1, USE_SLOWLY); //intell -- 4, 4
}
else
{
Logging.Write("[GilesTrinity] Berserk ready, waiting for fury...");
bWaitingForSpecial = true;
}
}

this code is from previous glies and not mine. ive edited it a bit
please
please
please

NEVER EVER IMPROVE THIS SKILLS. NEVER EVER INVENT A WHEEL. DON'T MODIFY WHILE ITS WORKING AND DOING x2 MORE EXP\H THEN PRETTY ANYTHING ELSE

//intell -- Other dangerous: Nightmarish, Mortar, Desecrator, Fire Chains, Knockback, Electrified
//if (PowerManager.CanCast(SNOPower.Barbarian_WrathOfTheBerserker)) {
//if (DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Barbarian_WrathOfTheBerserker]).TotalSeconds >= 90)
if (GilesUseTimer(SNOPower.Barbarian_WrathOfTheBerserker, true))
{
//WotB only used on Arcane, Frozen, Jailer, Molten and Electrified+Reflect Damage elites
//if (theseaffixes.HasFlag(MonsterAffixes.ArcaneEnchanted) || theseaffixes.HasFlag(MonsterAffixes.Frozen) ||
//theseaffixes.HasFlag(MonsterAffixes.Jailer) || theseaffixes.HasFlag(MonsterAffixes.Molten) ||
//(theseaffixes.HasFlag(MonsterAffixes.Electrified) && theseaffixes.HasFlag(MonsterAffixes.ReflectsDamage)) ||
//Bosses and uber elites
if (tmp_unit_bThisElite || tmp_unit_bThisRare || tmp_unit_bThisUnique ||tmp_unit_bThisBoss || tmp_iThisActorSNO == 256015 || tmp_iThisActorSNO == 256000 || tmp_iThisActorSNO == 255996 ||
//...or more than 4 elite mobs in range (only elites/rares/uniques, not minions!)
iElitesWithinRange[RANGE_50] > 4)
bUseBerserker = true;
}
else
bUseBerserker = false;

screw all this complicated rules. this makes a bot die

last one includes a lot of useless stuff. tho im too lazy to clean it up
 
Last edited:
fix for picking up all gold CE1.7.1.3

To make the plugin honour your minimum gold stash setting and avoid picking up *all* gold
Version: Released CE v1.7.1.3
File: RefreshDiaObject.cs
Function: private static bool RefreshGilesGold(bool AddToCache)

change this:
Code:
int rangedMinimumStackSize = 0;

to this:
Code:
 int rangedMinimumStackSize = Settings.Loot.Pickup.MinimumGoldStack;


even better is a whole function replacement of this:
Code:
 private static bool RefreshGilesGold(bool AddToCache)
        {
            double iPercentage = 0;
            int rangedMinimumStackSize = 0;
            AddToCache = true;
            // Get the gold amount of this pile, cached if possible
            if (!dictGilesGoldAmountCache.TryGetValue(c_RActorGuid, out c_GoldStackSize))
            {
                try
                {
                    c_GoldStackSize = c_CommonData.GetAttribute<int>(ActorAttributeType.Gold);
                }
                catch
                {
                    DbHelper.Log(TrinityLogLevel.Error, LogCategory.CacheManagement, "Safely handled exception getting gold pile amount for item {0} [{1}]", c_Name, c_ActorSNO);
                    AddToCache = false;
                    //return bWantThis;
                }
                dictGilesGoldAmountCache.Add(c_RActorGuid, c_GoldStackSize);
            }
/*
            // Ignore gold piles that are (currently) too small...
            // Up to 40% less gold limit needed at close range
            if (c_CentreDistance <= 20f)
            {
                iPercentage = (1 - (c_CentreDistance / 20)) * 0.4;
                rangedMinimumStackSize -= (int)Math.Floor(iPercentage * Settings.Loot.Pickup.MinimumGoldStack);
            }
            // And up to 40% or even higher extra gold limit at distant range
            else if (c_CentreDistance >= 30f)
            {
                iPercentage = (c_CentreDistance / 40) * 0.4;
                rangedMinimumStackSize += (int)Math.Floor(iPercentage * Settings.Loot.Pickup.MinimumGoldStack);
            }
*/
			
			// Ignore gold piles that are (currently) too small...
            rangedMinimumStackSize = Settings.Loot.Pickup.MinimumGoldStack;
			int min_cash = 100;	//absolute min cash to consider
			int max_distance = 80;
			if (c_GoldStackSize < min_cash) {
				rangedMinimumStackSize = min_cash;
			} else if (c_CentreDistance >= max_distance) {
				rangedMinimumStackSize = 0;	//too far away
			} else {
				//scale the min stack size based on distance
				//this will enable smaller, local cash values to be picked up
				//while enroute, picking up items or larger amounts
				//better for toons with low pickup range
				int min_range = 6; //anything below this should be collected
				int max_range = 30; //anything beyond this should be at the upper threshold
				int max_cash = Math.Max(min_cash, rangedMinimumStackSize);
				double cash_range = Math.Max(0, c_CentreDistance-min_range);
				double rangedPerc = cash_range/(max_range-min_range); //no ceiling on this to capture distant, high values. twice distance=twice value
				int newMinStack = (int)Math.Floor(rangedPerc * (max_cash-min_cash))+min_cash;
				rangedMinimumStackSize = newMinStack;
				if (c_GoldStackSize >= rangedMinimumStackSize) {
					Logging.Write("[SP] Gold v=" + c_GoldStackSize + " ,d=" + c_CentreDistance + ",w=" + rangedPerc + ",nms="+newMinStack);
				}
			}
			
            // Now check if this gold pile is currently less than this limit
            if (c_GoldStackSize < rangedMinimumStackSize)
            {
                AddToCache = false;
            }

            // Blacklist gold piles already in pickup radius range
            if (c_CentreDistance <= ZetaDia.Me.GoldPickUpRadius)
            {
                hashRGUIDBlacklist3.Add(c_RActorGuid);
                hashRGUIDBlacklist60.Add(c_RActorGuid);
                AddToCache = false;
            }

            return AddToCache;
        }
 
well it seems i can't implement my simple pickup system.

It still picks up everything or not anything at all
 
Try

[QUALITY] = Legendary && [NAME] == "Spectrum"

You put " before legendary

OK thanks for catching that, but now I have done [QUALITY] == Legendary && [NAME] == "Spectrum" and it still isnt working. That should go in legendary.dis should it go in every legendary.dis?

the _Fr _it and _ru as well?
 
Status
Not open for further replies.
Back
Top