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.
I have something, like this, duno why ;/

[16:59:16.531 Q] [Trinity][CacheManagement]System.AccessViolationException: Could not read bytes from 00000008 [299]!
w Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
w Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
w Zeta.Internals.Actors.ACD.[](ACD , Int32 )
w Zeta.Internals.Actors.ACD.GetAttribute[T](Int32 attribute)
w Zeta.Internals.Actors.ACD.GetAttribute[T](ActorAttributeType attributeType)
w Zeta.Internals.Actors.DiaUnit.get_IsHidden()
w GilesTrinity.GilesTrinity.RefreshGilesUnit(Boolean AddToCache)
w GilesTrinity.GilesTrinity.RefreshStepMainObjectType(Boolean& AddToCache)
w GilesTrinity.GilesTrinity.CacheDiaObject(DiaObject freshObject)
w GilesTrinity.GilesTrinity.RefreshCacheMainLoop()
 
picking health globes while fighting monsters results in death. getting stuck in nothingness

You can turn that off, very first page of settings for giles, just untick "attempt to collect health globes".

ill roll back to v0.45 unified to get previous values until something is done.

Please do, there's enough complaining in this thread.

I have something, like this, duno why ;/

[16:59:16.531 Q] [Trinity][CacheManagement]System.AccessViolationException: Could not read bytes from 00000008 [299]!
w Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
w Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
w Zeta.Internals.Actors.ACD.[](ACD , Int32 )
w Zeta.Internals.Actors.ACD.GetAttribute[T](Int32 attribute)
w Zeta.Internals.Actors.ACD.GetAttribute[T](ActorAttributeType attributeType)
w Zeta.Internals.Actors.DiaUnit.get_IsHidden()
w GilesTrinity.GilesTrinity.RefreshGilesUnit(Boolean AddToCache)
w GilesTrinity.GilesTrinity.RefreshStepMainObjectType(Boolean& AddToCache)
w GilesTrinity.GilesTrinity.CacheDiaObject(DiaObject freshObject)
w GilesTrinity.GilesTrinity.RefreshCacheMainLoop()

Its been reported about 73 times over the last 2-3 pages. They know about it, and its nothing bad, calm down.
 
Hey. Why i need to turn "Min-Distance before Kite" to 0 in every bot? If there is any number 1+ every bot running crazy between mobs and doing nothing for seconds. Tested on barb, monk, sorc, dh.
 
What do you have item sell score placed at? I have mine at 80/22/20 and seems to be selling everything. Is the community version different than the old version? Thanks
 
bug report:
On latest version, it still is picking up every gold pile, ignoring the settings on trinity to pickup 1000+ gold only I've set..
 
What do you have item sell score placed at? I have mine at 80/22/20 and seems to be selling everything. Is the community version different than the old version? Thanks

New version is much tighter than original Giles, the default values may even be a little high for some peoples' taste, but they're about right for me

bug report:
On latest version, it still is picking up every gold pile, ignoring the settings on trinity to pickup 1000+ gold only I've set..

Yet again, this has been reported many many many many many many times within the last couple pages, please catch up on the thread a little before blindly posting
 
Fluid gold range

Hi, I have a potential contribution to make that could also be useful for others with a low pickup radius.

I modified the gold collection code as below to use scaled values for the minimum stash value rather than absolute granular values. The simple idea is to linear scale the minimum stash size based on distance so that smaller closer stacks are also collected and also much larger stacks further away are also collected. After watching my bot for a while, it seems more natural as your bot takes minor diverts to collect stacks enroute to somewhere just like you would playing by hand. It could probably use some more UI variables but I hope it proves useful

HTH,
!sp

Based on Version 1.7.1.2 as I have probs with 1.7.1.3
Code:
private static bool RefreshGilesGold(bool bWantThis, ACD tempCommonData, out int iCurrentMinimumStackSize, out double iPercentage)
        {
            iPercentage = 0;
            bWantThis = true;
            // Get the gold amount of this pile, cached if possible
            if (!dictGilesGoldAmountCache.TryGetValue(c_RActorGuid, out c_GoldStackSize))
            {
                try
                {
                    c_GoldStackSize = tempCommonData.GetAttribute<int>(ActorAttributeType.Gold);
                }
                catch
                {
                    Logging.WriteDiagnostic("[Trinity] Safely handled exception getting gold pile amount for item " + c_Name + " [" + c_ActorSNO.ToString() + "]");
                    bWantThis = false;
                    //return bWantThis;
                }
                dictGilesGoldAmountCache.Add(c_RActorGuid, c_GoldStackSize);
            }
            // Ignore gold piles that are (currently) too small...
            iCurrentMinimumStackSize = Settings.Loot.Pickup.MinimumGoldStack;
			int min_cash = 100;	//absolute min cash to consider
			int max_distance = 80;
			if (c_GoldStackSize < min_cash) {
				iCurrentMinimumStackSize = min_cash;
			} else if (c_CentreDistance >= max_distance) {
				iCurrentMinimumStackSize = 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, iCurrentMinimumStackSize);
				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;
				iCurrentMinimumStackSize = newMinStack;
				if (c_GoldStackSize >= iCurrentMinimumStackSize) {
					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 < iCurrentMinimumStackSize)
            {
                bWantThis = false;
                //return bWantThis;
			}
            // Blacklist gold piles already in pickup radius range
            if (c_CentreDistance <= ZetaDia.Me.GoldPickUpRadius)
            {
                hashRGUIDBlacklist3.Add(c_RActorGuid);
                hashRGUIDBlacklist60.Add(c_RActorGuid);
                bWantThis = false;
                return bWantThis;
            }
            //tmp_ThisGilesObjectType = GilesObjectType.Gold;
            //bWantThis = true;
            return bWantThis;
        }
 
Hi, I have a potential contribution to make that could also be useful for others with a low pickup radius.

I modified the gold collection code as below to use scaled values for the minimum stash value rather than absolute granular values. The simple idea is to linear scale the minimum stash size based on distance so that smaller closer stacks are also collected and also much larger stacks further away are also collected. After watching my bot for a while, it seems more natural as your bot takes minor diverts to collect stacks enroute to somewhere just like you would playing by hand. It could probably use some more UI variables but I hope it proves useful

HTH,
!sp

Excellent idea !!!
 
Could anyone using the latest version of this plug-in (v. 1.7.1.3) and the Trinity Rules with Scripting tell me whether I need to change the item rules file in Demonbuddy's settings tab? If so, then where is the appropriate file for this? Is it included with the plug-in itself, or is it found elsewhere?
 
Another tweak:

The loot pickup range for items can easily be exceeded when your toon is moving really fast, such as when you've got multiple movement buffs on such as Sprint+Movement Shrine or Leap. I've also tweaked the pickup distance for Legendaries to hopefully always get those (this could prove too far under testing).

In function RefreshGilesItem.

Find the code between this:
Code:
// Ignore it if it's not in range yet - allow legendary items to have 15 feet extra beyond our profile max loot radius
and this:
Code:
if (c_CentreDistance > (iCurrentMaxLootRadius + fExtraRange))

and replace the interim code with this:
Code:
	   //!sp - loot range extension range for legendaries
            if (iKeepLootRadiusExtendedFor > 0) {
                fExtraRange = 30f;
	}
            if (c_ItemQuality >= ItemQuality.Rare4)
            {
                fExtraRange = iCurrentMaxLootRadius; //!sp - double range for Rares
            }
            if (c_ItemQuality >= ItemQuality.Legendary)
            {
                fExtraRange = 10*iCurrentMaxLootRadius; //!sp - mega range for Legendaries
            }
 
How i can configure the plugin to not collect rare two-handed weapons (Crossbows, bows, Axes, etc...) and shields?
 
Forgot to say that introducing this means you can drop the "Wait for loot to drop" delay right down to the minimum as your toon will run back if there's anything of value.

Another tweak:

The loot pickup range for items can easily be exceeded when your toon is moving really fast, such as when you've got multiple movement buffs on such as Sprint+Movement Shrine or Leap. I've also tweaked the pickup distance for Legendaries to hopefully always get those (this could prove too far under testing).

In function RefreshGilesItem.

Find the code between this:
Code:
// Ignore it if it's not in range yet - allow legendary items to have 15 feet extra beyond our profile max loot radius
and this:
Code:
if (c_CentreDistance > (iCurrentMaxLootRadius + fExtraRange))

and replace the interim code with this:
Code:
	   //!sp - loot range extension range for legendaries
            if (iKeepLootRadiusExtendedFor > 0) {
                fExtraRange = 30f;
	}
            if (c_ItemQuality >= ItemQuality.Rare4)
            {
                fExtraRange = iCurrentMaxLootRadius; //!sp - double range for Rares
            }
            if (c_ItemQuality >= ItemQuality.Legendary)
            {
                fExtraRange = 10*iCurrentMaxLootRadius; //!sp - mega range for Legendaries
            }
 
Does anyone else have the issue of the bot ignoring the pickup timer? I often see it pickup things exactly as the name becomes visible on the screen, much faster than a human could unless frantically clicking.
 
got some errors here some times.already did a fresh install of db but no success.

[10:52:37.567 Q] [Trinity][CacheManagement]System.AccessViolationException: Could not read bytes from 00000418 [299]!
by Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
by Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
by Zeta.Internals.Actors.ACD.[](ACD , Int32 )
by Zeta.Internals.Actors.ACD.GetAttribute[T](Int32 attribute)
by Zeta.Internals.Actors.ACD.GetAttribute[T](ActorAttributeType attributeType)
by Zeta.Internals.Actors.DiaUnit.get_IsInvulnerable()
by GilesTrinity.GilesTrinity.RefreshGilesUnit(Boolean AddToCache)
by GilesTrinity.GilesTrinity.RefreshStepMainObjectType(Boolean& AddToCache)
by GilesTrinity.GilesTrinity.CacheDiaObject(DiaObject freshObject)
by GilesTrinity.GilesTrinity.RefreshCacheMainLoop()
[10:57:58.974 Q] [Trinity][CacheManagement]System.AccessViolationException: Could not read bytes from 00000418 [299]!
by Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
by Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
by Zeta.Internals.Actors.ACD.[](ACD , Int32 )
by Zeta.Internals.Actors.ACD.GetAttribute[T](Int32 attribute)
by Zeta.Internals.Actors.ACD.GetAttribute[T](ActorAttributeType attributeType)
by Zeta.Internals.Actors.DiaUnit.get_IsHidden()
by GilesTrinity.GilesTrinity.RefreshGilesUnit(Boolean AddToCache)
by GilesTrinity.GilesTrinity.RefreshStepMainObjectType(Boolean& AddToCache)
by GilesTrinity.GilesTrinity.CacheDiaObject(DiaObject freshObject)
by GilesTrinity.GilesTrinity.RefreshCacheMainLoop()

CacheManagement]System.NullReferenceException: Object reference not set to an instance of an object.
by Zeta.Internals.Actors.DiaUnit.get_IsUntargetable()
by GilesTrinity.GilesTrinity.RefreshGilesUnit(Boolean AddToCache)
by GilesTrinity.GilesTrinity.RefreshStepMainObjectType(Boolean& AddToCache)
by GilesTrinity.GilesTrinity.CacheDiaObject(DiaObject freshObject)
by GilesTrinity.GilesTrinity.RefreshCacheMainLoop()
 
I have my bots set to use giles filters and scripted rules but stuff doesnt seem to be running against Giles old rules. At least not his rare armor rules.
 
Status
Not open for further replies.
Back
Top