Jump to content

Quest Turn-Ins Not really working all that well


BrewingCoder

Recommended Posts

I'm really having a heck of a time having turn-ins work properly.  This is using the 3.3.5a client, wotlk version of wRobot, and am using it against a plain AzerothCore server as well as against ChromieCraft.

Whenever the interacting NPC has more than one quest, or a quest you have but have not completed, or really any other combo besides a single quest option, the bot just tries over, and over, and over again.

I've disabled all adons, so there's nothing that is impacting the UI.  

image.thumb.png.4814d2b8c0c0e145afc45f9ca96e1599.png

 

 

Does anyone have any suggestions how to get this to be a bit more stable?  This particular bot has been here for over 5 minutes attempting to turnin this quest.  In the process it has accepted "Plainstrider Menace" by accident, making the process even more confusing for it 😛

 

Edited by BrewingCoder
fixed name in image
Link to comment
Share on other sites

I actually have the lua code to turn in quests,etc.  But doesn't that mean taking an what is essence a show up and complete quest and turning it into 3-4 different statements in the Sorted region?  

 

I mean basically these 3 lines of lua code do it 100% of the time.  The bot only does it like 10% 😕

 

Link to comment
Share on other sites

  • 2 months later...

whered

On 10/7/2021 at 10:56 PM, Sye24 said:

try something like this 

using robotManager.Helpful;
using System;
using System.ComponentModel;
using wManager.Events;
using wManager.Wow.Helpers;

public static class QuestCompleteHelper
{
    public static void Start()
    {
        OthersEvents.OnSelectQuestRewardItem += _QuestCompleteHandler;
    }

    public static void Stop()
    {
        OthersEvents.OnSelectQuestRewardItem -= _QuestCompleteHandler;
    }

    private static void _QuestCompleteHandler(CancelEventArgs cancelable)
    {
        try
        {
            cancelable.Cancel = true;
            Lua.LuaDoString(@"
              if ( not QuestFrameRewardPanel:IsVisible() or QuestFrameRewardPanel:IsVisible() == nil ) then
            local gossipTable = {GetGossipActiveQuests()}
            local numOptions = table.getn(gossipTable)/4
            local nameIndex, completeIndex = 1, 4
            for i=1,numOptions do
              if gossipTable[completeIndex] == 1 then
                SelectGossipActiveQuest(i);
                CompleteQuest();
                GetQuestReward(1);
              end
            nameIndex, completeIndex = nameIndex + 4, completeIndex + 4
            end 
            return");
        }
        catch (Exception ex)
        {
            Logging.Write("QuestCompleteHelper > bug " + ex);
        }
    }
}

 

where'd i put this?

Link to comment
Share on other sites

getting this error message when trying to use it, its in the plugin folder.

[E] 13:04:39.465 -  dfsg gfds gfds#2: The operation has timed out
[E] 13:04:39.465 - fzegfzefezsfdsfsdfsdfdsfsdBytes
[E] 13:04:39.496 - Quester.Bot > Pulse(): System.NullReferenceException: Object reference not set to an instance of an object.
   at Quester.Bot.Bot.Pulse(Boolean loadSettingsProfile, String profile)

Link to comment
Share on other sites

  • 2 weeks later...

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...