Jump to content

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


Recommended Posts

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

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...