What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

[Quest Behavior] Natfoth's QB MegaThread

Thx for these :) it makes creating profiles alot easier. But can you make another one like use spell on but then with use macro on? or at least that we can use a text. There is a dwarven quest were you need to /whistle to the rams running around. Something like this perhaps?


<CustomBehavior File="UseMacro" QuestId="xxx" Macro="/Whistle" NpcId="xxx" NumOfTimes="4" HpLeftAmount="70" MinRange="14" X="-1694.702" Y="1310.653" Z="19.7822" />
 
Is there any updates/fixes coming up soon?


Regards,
Nick.
 
Another one that should be needed is forced pickup and forced handin, bot runs to questgiver (mine is dwarf at airfield) he runs to questgiver but gets in combatmode because of HB. Doesn't want to pick up the quest.
 
im currently in the process of making a Uldum questing profile, and having to use custom behaviors. I'm VERY new to crating profile part, but picking it up pretty quickly. Currently tryin to get my guy to the usegame object one to work on the Smoke in Their Eyes quest. I been tryin to dang hours to get it to use the Brazier Torch but just wont. Any help would be great!

Here is what i have

<CustomBehavior File="UseGameObject" QuestId="27923" ObjectId="63027" NumOfTimes="1" X="-11104.9" Y="-1313.148" Z="10.806" />
 
Last edited:
I was just able to get it to work with the useitem one, had to scan another profile to find an example
 
I guess becouse of my custem class I have to add WaitTime

<CustomBehavior File="UseItemOn" QuestId="25370" ItemId="53009" NpcId="39921" WaitTime="9000" NumOfTimes="1" HpLeftAmount="40000" X="5681.915" Y="-3444.433" Z="1588.441" />
 
rizarjay said:
But it's not an item? How would that work?

Agreed. I believe Natfoth misspoke, and meant the UseObject variant of the built-in <Objective> element.

He'll have to actually confirm or deny his intent, but until then this will be my assumption. :D


On another note...
Its probably a very bad idea to have 'two ways' to accomplish the same goal like this. I would defer to the built-in one, unless the <CustomBehavior> variant adds significant additional value.

Even if there were differences, it would be smart to fold the missing behavior into the other, and eliminate one of them. Makes no difference to me which one is eliminated, but I believe one of these mechanisms needs to go.

This is not a slight in any way to Natfoth--from a user-base perspective, such duplication creates unnecessary burden, documentation, maintenance, and confusion.


cheers,
chinajade
 
Last edited:
Code:
[1:57:41 AM:39] Cleared POI
[1:57:41 AM:505] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Styx.Bot.Quest_Behaviors.BasicInteractWith..ctor(Dictionary`2 args) in c:\BH\Quest Behaviors\BasicInteractWith.cs:line 27
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType)
   at System.RuntimeMethodHandle.InvokeConstructor(Object[] args, SignatureStruct signature, RuntimeTypeHandle declaringType)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at Bots.Quest.QuestOrder.ForcedCodeBehavior..ctor(String file, Dictionary`2 args)
   at QuestBot.Actions.ForcedBehaviorExecutor.a(OrderNode A_0)
   at QuestBot.Actions.ForcedBehaviorExecutor.b.a()
   at TreeSharp.Composite.Tick(Object context)
   at QuestBot.Actions.ForcedBehaviorExecutor.b.a()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.a.b()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.a.b()
   at TreeSharp.Composite.Tick(Object context)
   at Styx.Logic.BehaviorTree.TreeRoot.b()
[1:57:41 AM:505] Cleared POI
[1:57:41 AM:850] Start/Stop button pressed.
<PickUp QuestName="Fear No Evil" GiverName="Injured Stormwind Infantry" QuestId="28809" GiverId="951" />
<CustomBehavior File="BasicInteractWith" QuestId="28809" NpcId="50047" MoveTo="1" />

With the latest version =)

Thanks again for these! :D

any help on these? or just bugged atm

hi, can anybody tell me if basicinteractwith is fully broken or is it my code :) ty
 
Agreed. I believe Natfoth misspoke, and meant the UseObject variant of the built-in <Objective> element.

He'll have to actually confirm or deny his intent, but until then this will be my assumption. :D


On another note...
Its probably a very bad idea to have 'two ways' to accomplish the same goal like this. I would defer to the built-in one, unless the <CustomBehavior> variant adds significant additional value.

Even if there were differences, it would be smart to fold the missing behavior into the other, and eliminate one of them. Makes no difference to me which one is eliminated, but I believe one of these mechanisms needs to go.

This is not a slight in any way to Natfoth--from a user-base perspective, such duplication creates unnecessary burden, documentation, maintenance, and confusion.


cheers,
chinajade

I'm not sure how UseObject would work either.. I need to cast something from a tradeskill onto an item, like casting an enchant on something in my bags or on my character
 
Getting this error:
Code:
[13:26:43:894] Picking up Good Help is Hard to Find : 14069
[13:26:44:194] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Styx.Bot.Quest_Behaviors.BasicInteractWith..ctor(Dictionary`2 args) in c:\Users\Nicolaj Jakobsen\Desktop\HB & GB\HB clean\Quest Behaviors\BasicInteractWith.cs:line 27
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType)
   at System.RuntimeMethodHandle.InvokeConstructor(Object[] args, SignatureStruct signature, RuntimeTypeHandle declaringType)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at Bots.Quest.QuestOrder.ForcedCodeBehavior..ctor(String file, Dictionary`2 args, XElement element)
[13:26:44:194] Unable to compile CustomBehavior for tag: <CustomBehavior File="BasicInteractWith" QuestId="14069" NpcId="34830" MoveTo="1" />
[13:26:44:194] Honorbuddy stopped
[13:26:44:194] Stop called!
[13:26:44:229] ThreadAbortException caught inside.
[13:26:44:229] System.Threading.ThreadAbortException: Thread was being aborted.
   at Styx.Logic.BehaviorTree.TreeRoot.b()
   at Styx.Logic.BehaviorTree.TreeRoot.a()
[13:26:44:229] ThreadAbortException caught outside.
[13:26:44:230] System.Threading.ThreadAbortException: Thread was being aborted.
   at Styx.Logic.BehaviorTree.TreeRoot.a()

My quest order look like this:
Code:
 <QuestOrder>
     <If Condition="Me.Race==WoWRace.Goblin">
        <PickUp QuestName="Good Help is Hard to Find" QuestId="14069" GiverName="Foreman Dampwick" GiverId="34872" />
<CustomBehavior File="BasicInteractWith" QuestId="14069" NpcId="34830" MoveTo="1" />
        <TurnIn QuestName="Good Help is Hard to Find" QuestId="14069" TurnInName="Foreman Dampwick" TurnInId="34872" />
 </If>
</QuestOrder>
 
bump bump, this is why we dont have any quest profiles, nobody Want to help...
 
Code:
Could not generate any hotspots for quest To Steal From Thieves. Please place a quest override for this quest.

How do i do this override?

Questorder is:
<PickUp QuestName="To Steal From Thieves" QuestId="26428" GiverName="Genavie Callow" GiverId="4486" />
<Objective QuestName="To Steal From Thieves" QuestId="26428" Type="CollectItem" ItemId="5830" CollectCount="1" />
<Objective QuestName="To Steal From Thieves" QuestId="26428" Type="CollectItem" ItemId="5832" CollectCount="1" />
<Objective QuestName="To Steal From Thieves" QuestId="26428" Type="CollectItem" ItemId="5831" CollectCount="1" />
<TurnIn QuestName="To Steal From Thieves" QuestId="26428" TurnInName="Genavie Callow" TurnInId="4486" />

I've done som quick searching but i only found solutions to the old questing system.


Edit:
<Quest Name="To Steal From Thieves" Id="26428">

<Objective Type="CollectItem" ItemId="5830" CollectCount="1">
<CollectFrom>
<Mob Name="Marcel Dabyrie" Id="4481" />
</CollectFrom>
<Hotspots>
<Hotspot X="-1056.001" Y="-2818.495" Z="42.04172" />
</Hotspots>
<Objective Type="CollectItem" ItemId="5832" CollectCount="1">
<CollectFrom>
<Mob Name="Fardel Dabyrie" Id="4479" />
</CollectFrom>
<Hotspots>
<Hotspot X="-1054.421" Y="-2839.774" Z="42.02087" />
</Hotspots>
<Objective Type="CollectItem" ItemId="5831" CollectCount="1">
<CollectFrom>
<Mob Name="Kenata Dabyrie" Id="4480" />
</CollectFrom>
<Hotspots>
<Hotspot X="-998.1653" Y="-2893.409" Z="63.63837" />
</Hotspots>
</Objective>
</Objective>
</Objective>
</Quest>

Did not fix my issue
 
Last edited:
Is there a quest behaviour, or some other way to handle, attacking an npc until it turns from unfriendly to friendly? Theres a few "beat up until they submit" type quests something like this could be used for.
 
ladygamer said:
hi, can anybody tell me if basicinteractwith is fully broken or is it my code

Getting this error:
Code:
[13:26:43:894] Picking up Good Help is Hard to Find : 14069
[13:26:44:194] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Styx.Bot.Quest_Behaviors.BasicInteractWith..ctor(Dictionary`2 args) in c:\Users\Nicolaj Jakobsen\Desktop\HB & GB\HB clean\Quest Behaviors\BasicInteractWith.cs:line 27
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType)
   at System.RuntimeMethodHandle.InvokeConstructor(Object[] args, SignatureStruct signature, RuntimeTypeHandle declaringType)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at Bots.Quest.QuestOrder.ForcedCodeBehavior..ctor(String file, Dictionary`2 args, XElement element)
[13:26:44:194] Unable to compile CustomBehavior for tag: <CustomBehavior File="BasicInteractWith" QuestId="14069" NpcId="34830" MoveTo="1" />
[13:26:44:194] Honorbuddy stopped
[/QUOTE]
 
Change "NpcId" to "NpcID", and please submit a bugtracker for it.  The key should be "NpcId" to keep it consistent with other parts of Honorbuddy, or the CustomBehavior needs to accept both variants.

I've placed a warning on the [I][U][wiki]Honorbuddy Custom Behavior: BasicInteractWith[/wiki][/U][/I] page.  The new Custom Behavior Wiki pages are still being written, and it will take some time.  Thank you for your patience about this.


[quote=moojouhoo]bump bump, this is why we dont have any quest profiles, nobody Want to help... [/quote]

Its not because we don't want to, its because we're not online as much as you, apparently.  After seeing these issues, it takes us a while to figure out what's wrong, also.  So, please just demonstrate some patience.  If you are in that big of a hurry, you need to invest your own time to figure things out.


cheers,
chinajade
 
awqawq said:
Did not fix my issue

The override you found is close, but malformed. <Objective> is not nestable.

Try reworking it like this:
Code:
<Quest Name="To Steal From Thieves" Id="26428">
    <Objective Type="CollectItem" ItemId="5830" CollectCount="1">
        <CollectFrom>
            <Mob Name="Marcel Dabyrie" Id="4481" />
        </CollectFrom>
        <Hotspots>
            <Hotspot X="-1056.001" Y="-2818.495" Z="42.04172" />
        </Hotspots>
    </Objective>

    <Objective Type="CollectItem" ItemId="5832" CollectCount="1">
        <CollectFrom>
            <Mob Name="Fardel Dabyrie" Id="4479" />
        </CollectFrom>
        <Hotspots>
            <Hotspot X="-1054.421" Y="-2839.774" Z="42.02087" />
        </Hotspots>
    </Objective>

    <Objective Type="CollectItem" ItemId="5831" CollectCount="1">
        <CollectFrom>
            <Mob Name="Kenata Dabyrie" Id="4480" />
        </CollectFrom>
        <Hotspots>
            <Hotspot X="-998.1653" Y="-2893.409" Z="63.63837" />
        </Hotspots>
    </Objective>
</Quest>
 
bjsaust said:
Is there a quest behaviour, or some other way to handle, attacking an npc until it turns from unfriendly to friendly? Theres a few "beat up until they submit" type quests something like this could be used for.

I've always been curious about this one, too. Have you tried treating the mob as a simple hostile (e.g., Kill Task)? The WoWclient will force Honorbuddy to break off attacking when the mob turns friendly. The question is... "does the underlying Honorbuddy behavior consider the mob 'killed'?" when that happens.

What is the behavior you observed if you do this?

Please respond with your findings, such that we can document it in the appropriate places in the Wiki.

thanks!
chinajade
 
Invalid amount of Args!
Unable to compile CustomBehavior for tag: <CustomBehavior File="WaitTimer" QuestId="27003" WaitTime="300000" />
 
Back
Top