Skip to content
View in the app

A better way to browse. Learn more.

WRobot

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[ToTown] Unable to reach the vendor, blacklist it 120 minutes

Featured Replies

Hello,

this seems to happen much more frequent since a week or so. Sometimes wRobot is unable to make a path to a vendor / repair and therefore blacklists it. In the past I only experienced such a behavior at places with overall bad path finding like Nijel's Point or Booty Bay, but now even basic NPCs get blacklisted from time to time. It's not even consistent for specific NPCs (example below). Seems kinda random or maybe depended of the range to that NPC.

For example Innkeeper Allison (Stormwind): 

At 12:24:08 the bot went to Innkeeper Allison and sold / bought successfully

At 12:31:01, when the bot tries to go to town again, Innkeeper Allison gets blacklisted

"Blacklist Npc/Node if unable to make full path" is disabled.

 

Have there been changes to the path finding recently?

 

 

20 Mai 2018 09H19.log.html

HumanMasterPlugin has its own database with NPC coordinates.
Reapler has the code for the original here: https://github.com/reapler/WoWDb-Manager-

The problem is, that the NPC isn't reachable at its original coordinates. Whenever HMP triggers a vendor run it temporarily empties your NPC DB (wRobot) and adds the necessary NPCs from WowDb335.
The NPC then gets blacklisted. I haven't really found a solution for HMP knowing about blacklist happening and blacklisting the NPC itself, so it happens repeatedly. @Droidz blacklist event handling, maybe?

I could technically move the NPC coordinates in the database a bit and see if wRobot could then reach them. Or you could do it using DBeaver, which allows you to access an SQLite database and make modifications.
If you give me the corrected coordinates, I'll include it in future updates for the plugin.

https://i.imgur.com/PHwWP4T.jpg

 

Edited by Matenia

I think than when "[HumanMasterPlugin] ..... is in our way, attacking!" he stop "GoToTask.ToPositionAndIntecractWith(vendor...)" (with the Fight.StartFight(...)), when "ToPositionAndIntecractWith" return false, WRobot check why, and he check "if (Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && !Conditions.IsAttackedAndCannotIgnore)" before to blacklist, but IsAttackedAndCannotIgnore return false and WRobot blacklist vendor.

To unblacklist vendor (add you own condition, check if you are in smart pull):

robotManager.Events.LoggingEvents.OnAddLog += delegate(Logging.Log log)
        {
            if (!log.Text.Contains("[ToTown] Unable to reach the vendor, blacklist it 120 minutes (you can disable this NPC in NPC DB tab 'Tools')."))
                return;
            foreach (var n in NpcDB.ListNpc)
            {
                n.BlackList(-1);
            }
        };

Or make copy of npcdb before to start fight (in smartpull) and restaure copy after fight

(but yes I need to add blacklist events)

1 minute ago, FNV316 said:

I gave it a try without HMP, but still experienced vendors being blacklisted from time to time.

17:59:13 & 18:06:06

22 Mai 2018 17H56.log.html

17:59:13 - [ToTown] Unable to reach the vendor, blacklist it 120 minutes (you can disable this NPC in NPC DB tab 'Tools').
[D] 17:59:13 - [Quester] RunCode[1]: wManager.Wow.Helpers.NpcDB.ListNpc.Clear();
Logging.Write("[FNV Quester] dumping NPC DB");
QuesterSettings.Initialize();

Logging.Write("Remove blacklisted quest items");

for (int i = 0; i < 10; i++)
{
Logging.Write("Debug " + i );

if(wManager.wManagerSetting.CurrentSetting.DoNotSellList.Contains("Small Brown Pouch") || wManager.wManagerSetting.CurrentSetting.DoNotSellList.Contains("Small Red Pouch") || wManager.wManagerSetting.CurrentSetting.DoNotSellList.Contains("Small Blue Pouch") || wManager.wManagerSetting.CurrentSetting.DoNotSellList.Contains("Small Green Pouch") || wManager.wManagerSetting.CurrentSetting.DoNotSellList.Contains("Small Black Pouch"))
{

wManager.wManagerSetting.CurrentSetting.DoNotSellList.Remove("Small Brown Pouch");
wManager.wManagerSetting.CurrentSetting.DoNotSellList.Remove("Small Red Pouch");
wManager.wManagerSetting.CurrentSetting.DoNotSellList.Remove("Small Blue Pouch");
wManager.wManagerSetting.CurrentSetting.DoNotSellList.Remove("Small Green Pouch");
wManager.wManagerSetting.CurrentSetting.DoNotSellList.Remove("Small Black Pouch");
}

else
{
break;
}

}
17:59:13 - [FNV Quester] dumping NPC DB

Yep, you deleted the vendor list - wRobot couldn't find the vendor anymore and blacklisted it. I think at 18:06:06 it's because wRobot can't reach it for some reason due to currently swimming (?).
Anyway, the specific vendors in Njiel's Point, you can just PM me the correct coordinates for and I'll correct them in HMP. I will also try to implement what Droidz suggested, but that will take me a while with testing included and all.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.