Use MM to manage loot

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
Mushroomstamp
Posts: 210
Joined: Wed Oct 27, 2010 11:34 am

Use MM to manage loot

#1 Post by Mushroomstamp » Mon May 23, 2011 12:09 pm

I currently use Lootomatic, but I want different characters to drop different things. Is it at all doable to control loot/drops with MM?

User avatar
Giram
Posts: 191
Joined: Thu Aug 26, 2010 3:34 pm
Location: Finland

Re: Use MM to manage loot

#2 Post by Giram » Mon May 23, 2011 12:31 pm

Lootomatic can set global rules and character specific rules. Pickup item, move mouse over bag icon on backpack (not that icon on lower left corner that opens backback), select looting option for item and press left mouse for global setting and right for character setting.

I don't know what / if there is command to discard items with rombot.

Mushroomstamp
Posts: 210
Joined: Wed Oct 27, 2010 11:34 am

Re: Use MM to manage loot

#3 Post by Mushroomstamp » Mon May 23, 2011 1:07 pm

Wow... don't know how I missed that Lootomatic did character-specific. :oops: Thanks!

User avatar
Giram
Posts: 191
Joined: Thu Aug 26, 2010 3:34 pm
Location: Finland

Re: Use MM to manage loot

#4 Post by Giram » Mon May 23, 2011 1:36 pm

I have been thinking that it would be nice to do somesort of item filter in rombot. That because after crash i usually lose those settings. But if i manage to get items i try to do clean restart. That way those filters stay little longer. Backupping that one file would help little but that would be too much hassle.

Alkaiser
Posts: 222
Joined: Sat Sep 25, 2010 2:03 pm

Re: Use MM to manage loot

#5 Post by Alkaiser » Mon May 23, 2011 3:57 pm

I made a function to throw out any item that was worth less than a specified amount.

Code: Select all

function PurgeJunkInventory(_worth,_FromSlot,_ToSlot)
	if _worth == nil or type( _worth) ~= "number" then _worth = 500 end
	if _FromSlot == nil or type( _FromSlot) ~= "number" then _FromSlot = 91 end
	if _ToSlot == nil or type( _ToSlot) ~= "number" then _ToSlot = 240 end
	local function evalItemFilter(_itemId)
		local itemFilter = {212185,206776,200850,200851,200852,200853,200854,200855,207203,207204,207200,207202,207213,207214,207215,207216}
		for k, v in ipairs(itemFilter) do
			if _itemId == v then return false end
		end
		return true
	end
	inventory:update()
	for item = _FromSlot, _ToSlot, 1 do
		local slotitem = inventory.BagSlot[item];
		if	((slotitem.Available and not slotitem.Empty) and (_worth >= slotitem.Worth) and (slotitem.Worth >= 0.5) and evalItemFilter(slotitem.Id) ) then
			local junkItemName = RoMScript("TEXT('Sys"..slotitem.Id.."_name')")
			if junkItemName ~= nil then
				printf("Throwing out %s.\n",junkItemName)
				RoMScript("PickupBagItem("..slotitem.BagId..")")
				RoMScript("DeleteCursorItem()")
			end
		end
	end
end
But with all the item table update errors I get now since the last patch, it rarely works for me any more. It worked perfectly before patch.
The itemFilter variable is just a list of item id's that you DO NOT want to throw out under any circumstances. Any items worth less than _worth value will be discarded.

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 1 guest