kolton / d2bot-with-kolbot

d2bot game manager by D3STROY3R with kolbot libs by kolton for d2bs
346 stars 334 forks source link

Lowgold Identify : How to Identify magic/rare items before selling them. #1128

Open Zeruph opened 5 years ago

Zeruph commented 5 years ago

Hello :D,

I can't figure out how to make it identify magic/rare before selling them. I would like to make all my item get identify with tomeofidentify when LowGold is true.

            583 town.js
                           switch (result.result) {
            // Items for gold, will sell magics, etc. w/o id, but at low levels
            // magics are often not worth iding.

Thank you in advance for your help.

DarkHorseDre commented 5 years ago

if you put lowgold = nnnnn in your config you can set the lowgold level and it id's before selling IIRC

Zeruph commented 5 years ago

I think I fixed my issue by adding a this.identifyItem(item, tome); to line 574. // Items for gold, will sell magics, etc. w/o id, but at low levels // magics are often not worth iding. case 4:
Misc.itemLogger("Sold", item); item.sell();
and now

       case 4:          
                  this.identifyItem(item, tome);                
                  Misc.itemLogger("Sold", item);
               item.sell();

He identify any items before selling it now. Thank you for your reply.

I manage to also change the price by square that the lowgold accept to pick before selling it making it a bit more "picky".

Line 73 in pickit.js if (unit.getItemCost(1) / (unit.sizex * unit.sizey) >= 2000) //The original sizex/sizey value is 10

DarkHorseDre commented 5 years ago

Cool. I dont think I needed to do this as my pickit forced an id, so I never saw it sell an item without id'ing.. good work. This should be part of the lowgold functionality as it results in more gold per sold item.

also, when cainid (or standard id'ing) is enabled the bot drops items, so I changed my town.js to sell instead - this means more trips to shop but means you always have gold. just comment out the else in that case section for 'drop item'. it will hold onto the item until the next shop visit.

agreed lowgold sells craps so you fill inventory and only get 500 gold lol - worth changing

Zeruph commented 5 years ago

Yeah the cain ID is a good idea too. I love gold :P. Thank you for your replies:D Right now my last issue with lowgold is that it gathers all the gold with these lines I think, (for examples in countess it gather all the gold in towerlevel 5 ) and I don't want to change my pickit range.

// If total gold is less than 10k pick up anything worth 10 gold per // square to sell in town. if (rval.result === 0 && Town.ignoredItemTypes.indexOf(unit.itemType) === -1 && me.gold < Config.LowGold && unit.itemType !== 39) { // Gold doesn't take up room, just pick it up if (unit.classid === 523) { return { result: 4, line: null }; } but Im not sure how to restrain it from taking under a certain amount. If you got any idea ;) Thank you in advance.

DarkHorseDre commented 5 years ago

have you set gold in your pickit or is it ignoring it? [name] == gold # [gold] >= 200

Zeruph commented 5 years ago

It is ignoring it, it's set to over 2000

DarkHorseDre commented 5 years ago

ah so that if statement says pickup gold if its there as it doesnt take up space.

classid 523 = gold

so change this line: if (stats.classid === 523) { if (!item.getStat(14) || item.getStat(14) < stats.gold) { print("ÿc7Picked up " + stats.color + (item.getStat(14) ? (item.getStat(14) - stats.gold) : stats.gold) + " " + stats.name); return true; } } to if (unit.classid === 523 && stats.gold >= 200) {

to stop it taking gold below 200

Zeruph commented 5 years ago

It did stop gathering all the low gold, thank you for that :D But for the countess, it still goes to gather all the gold in the towerlevel5.

DarkHorseDre commented 5 years ago

thats weird - are you sure you're not loading a pickit with gold entry overriding?

afaik countess gold isn't handled differently - mine skips if pickit entries specify a higher amount

Zeruph commented 5 years ago

No I rechecked, my gold entry is >= 3000, it also happen with mephisto too, I see it gather gold without logging it.

DarkHorseDre commented 5 years ago

ok paste your config to pastebin then paste the link here plz