Jump to content

Recommended Posts

Hello,

I would like to script quest: https://tbc-twinhead.twinstar.cz/?quest=380 but problem is that when I do so, it will go and start killing 10x "Young Night Web Spider".
And even when it is done and this one objective of quest is done, it is still killing them so bot never reach second hotspot to kill other type of mobs.

I'm using Quest module, quest is done in following way: 
FdBI8yh.png

 

Is there any way how I can tell "Go and kill MobID 1504 10x times and after that go and kill MobID 1505 8x times"? Or something like: "Go and kill MobID 1504 until 1st objective is done and after that go and kill MobID 1505 until 2nd objective is done"?

Or is there any better way how to achieve this?

Link to comment
Share on other sites

Create 2 quests with the same id, but different names (so you can pulse both steps), then set the objective count 1 to whatever number the first kill requires in your questlog (8, for example), and on the second quest, you set objective count 2 to 6. Set all other objective counts to 0.

 

Now you can pulse both steps that each contain different information on where and what to kill. 

Link to comment
Share on other sites

2 hours ago, Matenia said:

Create 2 quests with the same id, but different names (so you can pulse both steps), then set the objective count 1 to whatever number the first kill requires in your questlog (8, for example), and on the second quest, you set objective count 2 to 6. Set all other objective counts to 0.

 

Now you can pulse both steps that each contain different information on where and what to kill. 

eOYwLfw.png

I'm afraid objective count does not work on TBC as when I'm at that settings is says: 999 - UNUSED ON THIS VERSION

Link to comment
Share on other sites

7 hours ago, iMod said:

If i'm not wrong you have to split the quest into parts and change the "is complete condition" to your requirements.

This sounds good, but what would be condition code for that? How can I formulate condition to check for this?

Link to comment
Share on other sites

It may say that, but it definitely 100% works. If you set the objective count and set it to autodetect false, it will work. I've been using it on TBC for quite a while.

Link to comment
Share on other sites

1 hour ago, Matenia said:

It may say that, but it definitely 100% works. If you set the objective count and set it to autodetect false, it will work. I've been using it on TBC for quite a while.

Where can I set "autodetect" to false? Only things I can set to True/False is:

  • Not required in quest log
  • PickUp quest on item
  • Repeatable quest

But nothing as autodetect there.

Link to comment
Share on other sites

Look at the XML file it generates. Looks like this and works fine:

<ObjectiveCount1>0</ObjectiveCount1>
<ObjectiveCount2>1</ObjectiveCount2>
<ObjectiveCount3>0</ObjectiveCount3>
<ObjectiveCount4>0</ObjectiveCount4>
<ObjectiveCount5>0</ObjectiveCount5>
<AutoDetectObjectiveCount1>false</AutoDetectObjectiveCount1>
<AutoDetectObjectiveCount2>false</AutoDetectObjectiveCount2>
<AutoDetectObjectiveCount3>false</AutoDetectObjectiveCount3>
<AutoDetectObjectiveCount4>false</AutoDetectObjectiveCount4>
<AutoDetectObjectiveCount5>false</AutoDetectObjectiveCount5>

 

Link to comment
Share on other sites

1 hour ago, Matenia said:

Look at the XML file it generates. Looks like this and works fine:


<ObjectiveCount1>0</ObjectiveCount1>
<ObjectiveCount2>1</ObjectiveCount2>
<ObjectiveCount3>0</ObjectiveCount3>
<ObjectiveCount4>0</ObjectiveCount4>
<ObjectiveCount5>0</ObjectiveCount5>
<AutoDetectObjectiveCount1>false</AutoDetectObjectiveCount1>
<AutoDetectObjectiveCount2>false</AutoDetectObjectiveCount2>
<AutoDetectObjectiveCount3>false</AutoDetectObjectiveCount3>
<AutoDetectObjectiveCount4>false</AutoDetectObjectiveCount4>
<AutoDetectObjectiveCount5>false</AutoDetectObjectiveCount5>

 

ah, so directly in XML. But still even if I would do it in XML like u suggest, I think bot will not know what mob it needs to kill to get objective 1 complete or objective 2 complete.

In meanwhile I split quest into 2 and I'm using Complete conditions: 
return Quest.IsObjectiveComplete(1, 380);
return Quest.IsObjectiveComplete(2, 380);

It seems to be working fine.

Link to comment
Share on other sites

What you're doing is essentially the same thing I suggested, except I wanted you to fill in the complete condition in XML, whereas you use C#.

You'll still need 2 pulses for 2 different quests, both of which have a different objective that needs completing. Each quest then has a different target entry set.

Link to comment
Share on other sites

6 hours ago, Matenia said:

What you're doing is essentially the same thing I suggested, except I wanted you to fill in the complete condition in XML, whereas you use C#.

You'll still need 2 pulses for 2 different quests, both of which have a different objective that needs completing. Each quest then has a different target entry set.

I decided to select 2 quests and two pulses, because I can see there one big benefit - if both mobs share same location, if it would be just one quest, it will kill all mobs in the are until whole quest is complete. So it might kill a lot of mobs.

When I did split into 2 quests and each quest contains only one type of mobs, then it will kill those and after that it will no longer kill them(unless there will be body pull), and it will move to 2nd part of quest and kill other mobs for 2nd objective.

But anyway thank you for your ideas, I think your approach is also very valid and it really depends on circumstances(are mobs hostile or neutral, placement of mobs, ...) what approach is better. I'm pretty sure I will use your approach on other quests.

Link to comment
Share on other sites

You still haven't understood me. You did exactly what I wanted you to do. 2 separate quests you can pulse (with the same quest id, but different target entries for different mobs). 

The only difference is you're using C# to directly checking for objective count on the quest objectives, I suggested you use XML to do so.

I guess I should've posted a longer example to make it more clear.

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