Jump to content

Wotlk daily quester


Skalikas

Recommended Posts

Bought the bot and decided to create a Wotlk daily questing profile (playing on a private server and using Wrobot for Wotlk).

I just started and I'm already running into a problem with the first quest. Here's the code:

using robotManager.Helpful;
using wManager.Wow.Class;

public sealed class PreparingForTheWorst : QuestGathererClass
{
    public PreparingForTheWorst()
    {
        //  http://www.wowhead.com/quest=11945
        Name = "Preparing for the Worst";
        
        QuestId.Add(11945);

        // Collect 8 items
        Step.AddRange(new[] { 8, 0, 0, 0 });

        // Entry id of game objects to gather
        EntryIdObjects.Add(188164);

        // Positions where you can found game objects    
        HotSpots.Add(new Vector3(3077.732f, 4793.737f, 1.133921f));
        HotSpots.Add(new Vector3(2993.261f, 4866.646f, 0.3964394f));
        HotSpots.Add(new Vector3(2889.96f, 4877.763f, 2.177183f));

    }
}
<?xml version="1.0" encoding="utf-8" ?>
<QuesterProfile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <QuestFile>Daily.cs</QuestFile>
  <QuestsSorted>
    <QuestsSorted NameClass="PreparingForTheWorst" Action="PulseAllInOne" />
  </QuestsSorted>
  <NpcQuest>
    <NPCQuest Id="26213" Name="Utaik" GameObject="false">
      <PickUpQuests>
        <int>11945</int>
      </PickUpQuests>
      <TurnInQuests>
        <int>11945</int>
      </TurnInQuests>
      <Position>
        <X>3140.63</X>
        <Y>4884.43</Y>
        <Z>3.05607</Z>
        <Type>Flying</Type>
      </Position>
    </NPCQuest>
  </NpcQuest>
</QuesterProfile>

The problem is that Bot does nothing when I start it. Everything loads, but the 'Bot State' just goes to 'Quester' and not even trying to go and pick up the quest.

For the sake of testing, I also did the Easy Quest Profile with all the same settings and it was working.

Link to comment
Share on other sites

Did some debugging and found out that Bot determines the quest as 'Completed' and therefore not trying to do it again.

I'm not sure if this is the correct solution, as I cannot find the setting to mark quest as repeatable in C#:

public override bool IsCompleted()
{
    return false;
}

 

Link to comment
Share on other sites

That seems correct. This will just override the method from the parent QuestClass, that gets the information if the quest is completed and return a false statement everytime.
Im sure if you so wish you could customize the method with other conditions to return either a true or false, depending on for example if the quest was already done that day.
 

Link to comment
Share on other sites

2 hours ago, Skalikas said:

Did some debugging and found out that Bot determines the quest as 'Completed' and therefore not trying to do it again.

I'm not sure if this is the correct solution, as I cannot find the setting to mark quest as repeatable in C#:


public override bool IsCompleted()
{
    return false;
}

 

Not tested:
QuestID: 1234

public override bool IsCompleted()
{
    return Lua.LuaDoString<List<int>>("return GetDailyQuestsCompleted();").Contains(1234);
}

You also could add this line in a if block and check if its allready done.

ps: If it wont work with int just replace it with string and change Containts(1234) to Contains("1234")

Link to comment
Share on other sites

5 hours ago, iMod said:

Not tested:
QuestID: 1234


public override bool IsCompleted()
{
    return Lua.LuaDoString<List<int>>("return GetDailyQuestsCompleted();").Contains(1234);
}

You also could add this line in a if block and check if its allready done.

ps: If it wont work with int just replace it with string and change Containts(1234) to Contains("1234")

This returns only the number of quests completed, but not the ids. I looked over the Lua API and it doesn't seem that u can get a list of daily quests completed.

Link to comment
Share on other sites

5 hours ago, Skalikas said:

This returns only the number of quests completed, but not the ids. I looked over the Lua API and it doesn't seem that u can get a list of daily quests completed.

Oh i see, thought it will return the quest id's of the finished quests.
Another idea would be to subscribe to the quest finish event and log the quest id's by your self and clear it after you are done with all of them.

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