Page 1 of 1

Clearing Loot Ignore List?

Posted: Sun May 01, 2011 12:32 pm
by runesdailies
Hi, first post :D
Just curious, is there a way to clear the loot ignore list by a function or perhaps some could tell me the name of the list data structure that it uses so i can create the function. I had a quick browse through the files but no luck.
The reason for this is i wish to create a function to make looting slightly more efficient in multiple mob situations. I have a bot running in an area where mobs of 3 are common and these mobs tend to stun often which often interupt the looting function. As a result, its added to the loot ignore list without ever having looted. And this occurs multiple times, making it somewhat inefficient.
So what i have done is to try and make it such that the bot loots (or at least checks) the mobs after combat twice (or more).
Hes an extract of what im using:

Code: Select all

<onLeaveCombat>
 player:lootAll();
 changeProfileOption("LOOT_IGNORE_LIST_SIZE", 0);
 changeProfileOption("LOOT_IGNORE_LIST_SIZE", 5);
 player:lootAll();
Its pretty simple but not very elegant, and it does cause a slight delay time.
Im just clearing the list and then instructing the bot to loot again, to check again for any corpses it may have placed on ignore.

I wish to create a function that can set the number of times you wish to check the same bodies in the area, but would like an easy way to clear the ignore list.
EDIT: I forgot to ask, does anyone know where i can find all the item type parameters, that can be used for "INV_AUTOSELL_TYPES_NOSELL", cheers

Re: Clearing Loot Ignore List?

Posted: Sun May 01, 2011 2:43 pm
by rock5
If you set LOOT_ALL to true and LOOT_IN_COMBAT to false in your profile it should loot all out of combat so shouldn't be interrupted by a stun. Have you tried that?

You can find all the item types in the itemtypestable.lua file in the cache folder.

Re: Clearing Loot Ignore List?

Posted: Sun May 01, 2011 3:42 pm
by runesdailies
rock5 wrote:If you set LOOT_ALL to true and LOOT_IN_COMBAT to false in your profile it should loot all out of combat so shouldn't be interrupted by a stun. Have you tried that?
Yeah I have, I set my profile to this by default, but it doesnt seem to work for whatever reason.
Typically if theres a group of 3 attacking the bot, if theres a period of a few seconds between the death of one mob and the engaging of the combat of another (usually due to the stun) itll not loot the corpse on combat end.

Re: Clearing Loot Ignore List?

Posted: Sun May 01, 2011 7:44 pm
by rock5
runesdailies wrote:
rock5 wrote:If you set LOOT_ALL to true and LOOT_IN_COMBAT to false in your profile it should loot all out of combat so shouldn't be interrupted by a stun. Have you tried that?
Yeah I have, I set my profile to this by default, but it doesnt seem to work for whatever reason.
Typically if theres a group of 3 attacking the bot, if theres a period of a few seconds between the death of one mob and the engaging of the combat of another (usually due to the stun) itll not loot the corpse on combat end.
If LOOT_IN_COMBAT is false it wouldn't loot the body if you're still in combat. It should kill all the mobs attacking it first, then loot all the bodies. Isn't it looting all the bodies at the end?

You can try using LOOT_AGAIN in your profile. Just set to the number of millisecond you want to try again at, eg. 3000 will try to loot again after 3 seconds if the first time failed.

Re: Clearing Loot Ignore List?

Posted: Sun May 01, 2011 11:47 pm
by runesdailies
rock5 wrote:If LOOT_IN_COMBAT is false it wouldn't loot the body if you're still in combat. It should kill all the mobs attacking it first, then loot all the bodies. Isn't it looting all the bodies at the end?
Yep, that should be the case, and maybe i should have specified that the bot does not try to loot whilst in combat(the appropriate behaviour). Only after combat it loots.

So after the death of a mob, the micromacro console window outputs "Looting target in distance xx" and if still in combat it will output "Loot skipped because of aggro." This is then followed by "Clearing Target"
Everything seems to be fine as is, but from what i can tell during the stun, it will place the body on the ignore list (cant be sure) so it is never looted at all. The problem is that the bot places certain bodies on the loot ignore list when it shouldnt. I created that workaround to wipe the ignore list so it checks and loots all bodies, and it works fine.
rock5 wrote:You can try using LOOT_AGAIN in your profile. Just set to the number of millisecond you want to try again at, eg. 3000 will try to loot again after 3 seconds if the first time failed.
Wasnt aware this existed, I'll try it out, but not sure if it will do what im looking for. Does LOOT_AGAIN search for all bodies and try to loot over, or just loots the body that it failed to loot.

Re: Clearing Loot Ignore List?

Posted: Mon May 02, 2011 1:38 am
by rock5
runesdailies wrote:So after the death of a mob, the micromacro console window outputs "Looting target in distance xx" and if still in combat it will output "Loot skipped because of aggro." This is then followed by "Clearing Target"
So you are saying that after combat is finished and you are heading toward a body to loot, if a mob aggros you, it stops going to loot and fight the mob? This is as intended. But you think it doesn't try to loot the body again? I'll see if i can find why that happens.
runesdailies wrote:Wasnt aware this existed, I'll try it out, but not sure if it will do what im looking for. Does LOOT_AGAIN search for all bodies and try to loot over, or just loots the body that it failed to loot.
LOOT_AGAIN is for each time it loots, it will try again after the specified time if it failed to loot. This is ideal if you want to bypass the stun effect I think.

Re: Clearing Loot Ignore List?

Posted: Mon May 02, 2011 1:54 am
by rock5
Looks like it does add it to the ignore list if aggroed.

Could you test a fix for me?

After these lines at around line 1587 of player.lua,

Code: Select all

		if self.TargetPtr ~= 0 then -- Target's still there.
			self:loot()
Insert these lines,

Code: Select all

			if self:findEnemy(true, nil, evalTargetDefault) then
				-- not looting because of aggro
				return
			end
So it looks like this

Code: Select all

		if self.TargetPtr ~= 0 then -- Target's still there.
			self:loot()
			if self.Battling  and self:findEnemy(true, nil, evalTargetDefault) then
				-- not looting because of aggro
				return
			end

Re: Clearing Loot Ignore List?

Posted: Mon May 02, 2011 4:43 am
by runesdailies
Ah i think i see what the code does, if the player is engaged in combat and can detect an enemy target, then return so that it doesnt update the ignore list, unless out of combat.
I tested for about 40 minutes, and i can confirm that it looted everything (more accurately it ATTEMPTED to loot everything, only one body it moved over to and failed to loot, though this is a non-issue).
Thanks for the help and the fix. Ill have it continue to run and give an update if anything unusual occurs.

Re: Clearing Loot Ignore List?

Posted: Sun May 29, 2011 3:07 am
by Mushroomstamp
This little modification greatly improved my Pasper's Shrine script. Though it's still not 100%... probably about 90-95%. I think it might be due to lag though. Is there a way for me find out for sure?

Re: Clearing Loot Ignore List?

Posted: Sun May 29, 2011 4:22 am
by rock5
What exactly happens?

You could try using debugging.

Re: Clearing Loot Ignore List?

Posted: Sun May 29, 2011 1:55 pm
by Mushroomstamp
Sorry... should have searched for the debug command and posted that in the first place...
don't loot reason: self.TargetPtr == 0
Modified section of player.lua;

Code: Select all

		if self.TargetPtr ~= 0 then -- Target's still there.
			self:loot()
			if self.Battling  and self:findEnemy(true, nil, evalTargetDefault) then
				-- not looting because of aggro
				return
			end
Loot options;

Code: Select all

		<option name="LOOT"             value="true" />
		<option name="LOOT_ALL"			value="true" />
		<option name="LOOT_AGAIN"		value="2000" />
		<option name="LOOT_IN_COMBAT"   value="false" />
		<option name="LOOT_DISTANCE"    value="400" />
		<option name="LOOT_PAUSE_AFTER" value="0" />		<!-- probability in % for a short rest -->
		<option name="DEBUG_LOOT" 		value="true" /> 

Re: Clearing Loot Ignore List?

Posted: Sun May 29, 2011 8:11 pm
by rock5
It seems to mean the target is no longer there.

Are you saying there is a lootable body there but it doesn't loot because self.TargetPtr == 0?

That doesn't make sense sorry.

Re: Clearing Loot Ignore List?

Posted: Sun May 29, 2011 9:07 pm
by Mushroomstamp
Yeah, there's a lootable body there, and that's the only message I get. Perhaps the error message is not for the unlooted body, but for another that WAS looted?

Could the error message be from LOOT_AGAIN?
EDIt;
Just quoted out LOOT_AGAIN with no change.

It does throw the error sometimes just as a body is disappearing after being looted. I'm going to try the OP's method of clearing the ignore list & see if that gets it done 100%.

EDIT;
No good... didn't even seem to affect things. I added;

Code: Select all

	changeProfileOption("LOOT_IGNORE_LIST_SIZE", 0)
to my onLoad section for the waypoint file, and have;

Code: Select all

     player:lootAll()
in onLeaveCombat. Still randomly leaves bodies unlooted.

Re: Clearing Loot Ignore List?

Posted: Mon May 30, 2011 6:03 am
by rock5
Maybe you have something else, like an addon, that is clearing your target.

Re: Clearing Loot Ignore List?

Posted: Mon May 30, 2011 10:36 am
by Mushroomstamp
Only Addons are;
Advance Auction House, Lootomatic, ComeOnIn, DailyNotes, MonsterCardToolTip, pbinfo, RoMail2, scrutinzer, Streamline, TonkManager, WoWMap, WoWMapInstances, yGather

The more I watch it, the more it seems like the error message is for one of the bodies that I HAVE looted and it's just completely ignoring the unlooted body.... just watched it not loot a Boss and continue on, with no error message. >=(

Re: Clearing Loot Ignore List?

Posted: Mon May 30, 2011 11:12 am
by Giram
Have you set lootomatic to loot bosses? That addon will by default ignore autoloot on bosses.

Re: Clearing Loot Ignore List?

Posted: Mon May 30, 2011 12:54 pm
by Mushroomstamp
Yes, lootomatic is set to loot everything, including bosses... that's only the second time I've seen it skip a boss.

Re: Clearing Loot Ignore List?

Posted: Thu Oct 04, 2012 12:41 pm
by Sasuke
same problem anyone redolve it?