Jump to content

Level Based Repair NPC (Quester)


Recommended Posts

Hello, I'm working on a Quester profile (initially it was a Grinder, but I switched to Quester in order to have more features). For example I forced the bot to use my own repair NPCs and it works pretty good.

The problem is I have a grind zone in Duskwood which is near to Stranglethorn Vale, and I can't put the STV Repair because it will go there if "ToTown" or repair, and dies in loop since mobs are way too high level. So I used another repair, in Duskwood, far but safer.
Now once I finish with the Duskwood zone, I need to move to STV, so this time I have the appropriate level but I don't have the repair NPC in the list (to prevent going there when low level) and this makes the bot stuck without a city, because if I don't add the repair vendor in STV, when I need repair or even better I force "ToTown", it does nothing, like there are no option available.
So just to make a test I added manually the repair npc in the northern STV and worked perfectly, it went to repair and when forced ToTown it was going there. But I can't keep the NPC in the list since the beginning, so I was thinking about forcing adding it through a code after a certain level, i.e. level 30. Is it possible somehow? Or any other suggestion about this issue, how to assign specific NPCs to a certain level range? Thanks for reading.

Link to comment
Share on other sites

Hello, start to use only NPC of your profile:

(use step "RunCode" to run all code)

wManager.Wow.Helpers.NpcDB.AcceptOnlyProfileNpc = true;

It is not easy way, but add NPC with C# code like this (use this code when you change zone to select good npc for current level/zone):

        wManager.Wow.Helpers.NpcDB.ListNpc.RemoveAll(n => n.CurrentProfileNpc); // Remove in NPCDB all Npc added on current profile 

        var npcRepair = new wManager.Wow.Class.Npc // Npc repair info
        {
            Name = "Npc name",
            Entry = 1234,
            Faction = wManager.Wow.Class.Npc.FactionType.Neutral,
            ContinentId = wManager.Wow.Enums.ContinentId.Azeroth,
            Position = new robotManager.Helpful.Vector3(1, 2, 3),
            CanFlyTo = true,
            Type = wManager.Wow.Class.Npc.NpcType.Repair,
        };
        wManager.Wow.Helpers.NpcDB.AddNpc(npcRepair, false, true); // Add npc repair to npcdb


        var npcVendor = new wManager.Wow.Class.Npc // Npc vendor info
        {
            Name = "Npc name",
            Entry = 1234,
            Faction = wManager.Wow.Class.Npc.FactionType.Neutral,
            ContinentId = wManager.Wow.Enums.ContinentId.Azeroth,
            Position = new robotManager.Helpful.Vector3(1, 2, 3),
            CanFlyTo = true,
            Type = wManager.Wow.Class.Npc.NpcType.Vendor,
        };
        wManager.Wow.Helpers.NpcDB.AddNpc(npcVendor, false, true); // Add npc vendor to npcdb

If you want force WRobot to go to vendor/repair:

wManager.Wow.Bot.States.ToTown.ForceToTown = true;

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...