Page 1 of 1

Slow response times in accepting/completing quests

Posted: Tue Jan 14, 2014 9:39 am
by noobbotter
I was just wondering something. I've noticed that when I use the player:target_NPC followed by AcceptQuestByName or CompleteQuestByName functions, the process for accepting/completing a quest is quite slow as the bot sits there with the chat window up for close to/maybe more than a second before accepting or completing. Is there any way to speed this up or other commands that can be used that are faster? How does the dailynotes addon accept and complete quests so quickly and is there a way to accept/complete indiividually selected quests that quickly with the bot without use of dailynotes?

Re: Slow response times in accepting/completing quests

Posted: Tue Jan 14, 2014 1:54 pm
by rock5
Dailynotes hooks into various things that are either not possible from the bot or very difficult. In the end the bot only spends a small amount of time accepting/completing quests so it's not worth it.

As to going faster, if it goes too fast it can fail, then you would have to add code to deal when it fails. There also has to be a pause between completing the quest and accepting it again (in the case of dailies) or else it fails.

Re: Slow response times in accepting/completing quests

Posted: Tue Jan 14, 2014 3:32 pm
by noobbotter
Ok. thanks Rock.

Re: Slow response times in accepting/completing quests

Posted: Wed Jan 15, 2014 3:09 am
by BlubBlab
I found that interesting in particular for EOJ farming.

Okay I haven't encounter bugs while testing but I found a source for a glitch.
To say it first for all others accepting/completing quests isn't the only thing that take (un)necessary time targeting as well.

So I reduced the waiting to a possible minimum I came across a repeat loop for

Code: Select all

RoMScript("SpeakFrame:IsVisible()")
in accepting/completing quest. I made a while loop from it because it is possible it's already open.(spare some time)

I have always wondered why something like this can fail:

Code: Select all

player:target_NPC("Noreve");
yrest(200)
sendMacro("ChoiceOption(2);")
waitForLoadingScreen(10)
The joke is player:target_NPC("any"); don't care if the SpeakFrame is open it try only once.
Funny thing is their no perfect solution for it, because it wouldn't work with UMM and Rock's mailbox userfunction(found out by testing)

I personally added a exception for the mailbox.

I only wanted you to know if you plan something similar.