I tried the Escort-Behaviour and i get: Code: [08:31:28:207] System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) at System.ThrowHelper.ThrowArgumentOutOfRangeException() at System.Collections.Generic.List`1.get_Item(Int32 index) at Styx.Bot.Quest_Behaviors.Escort.<CreateBehavior>b__5(Object ) in c:\Users\Sam\Downloads\hb2_BETA\Quest Behaviors\Escort.cs:line 100 at TreeSharp.Action.RunAction(Object context) at TreeSharp.Action..MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.Decorator..MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector..MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector..MoveNext() at TreeSharp.Composite.Tick(Object context) at QuestBot.Actions.ForcedBehaviorExecutor..MoveNext() at TreeSharp.Composite.Tick(Object context) at QuestBot.Actions.ForcedBehaviorExecutor..MoveNext() at TreeSharp.Composite.Tick(Object context) at QuestBot.Actions.ForcedBehaviorExecutor..MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector..MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector..MoveNext() at TreeSharp.Composite.Tick(Object context) at Styx.Logic.BehaviorTree.TreeRoot.() Part from my profile: Code: <If Condition="(HasQuest(8483)) && (!IsQuestCompleted(8483))"> <CustomBehavior File="Escort" QuestId="8483" NpcId="15420" X="9291.544" Y="-6682.769" Z="22.41854" /> </If>
when I use Escort.. it FollowsNpc it just fine, but after the initial combat sequence, it doesn't want to *always* attack stuff. I have to back my toon up 5-10 yards and then the CB kicks in. and sometimes not even then PHP: <!-- Escort Quest, CB currently has issues <PickUp QuestName="Escape from Umbrafen" QuestId="9752" GiverName="Kayra Longmane" GiverId="17969" X="-931.8848" Y="5283.565" Z="23.89816" /> <If Condition="((HasQuest(9752)) && (!IsQuestCompleted(9752)))" > <CustomBehavior File="Escort" QuestId="9752" NpcId="17969" X="-931.8848" Y="5283.565" Z="23.89816" /> </If> <TurnIn QuestName="Escape from Umbrafen" QuestId="9752" TurnInName="Ysiel Windsinger" TurnInId="17841" X="-143.4519" Y="5533.816" Z="31.06601" /> --> Zangar Escort quest from the Umbrafen Tribe section. I tried 1.1.0.0 version, and the HB-shipped version PHP: [8:28:23 PM:863] You are a level 69 Feral Druid [8:28:26 PM:880] Goal: Goal: Grind to level 62 [8:28:27 PM:95] Picking up Escape from Umbrafen : 9752 [8:28:27 PM:95] Goal: Picking up Escape from Umbrafen [8:28:27 PM:101] Changed POI to: Type: QuestPickUp [8:28:27 PM:751] interact: 0x1D76AF08 [8:28:27 PM:784] interact done: 0x1D76AF08 [8:28:30 PM:577] Cleared POI - Reason Quest Completed [8:28:30 PM:577] Cleared POI [8:28:31 PM:410] Activity: Loading Tile/s [8:28:31 PM:410] Loading Expansion01_22_33 [8:28:37 PM:469] Unstuck attempt 1 [8:28:37 PM:469] Unstuck attempt 2 [8:28:37 PM:683] Unstuck attempt 3 [8:28:40 PM:386] Unstuck attempt 1 [8:28:40 PM:386] Unstuck attempt 2 [8:28:40 PM:725] Spell_C::CastSpell(768, 0, 0x0, 0) [1] [8:28:40 PM:728] -Cat Form [8:30:22 PM:73] Activity: Combat
CastSpellOn not working. my profile part PHP: <CustomBehavior File="CastSpellOn" QuestId="25167" SpellId="56641" NpcId="39251" NumOfTimes="3" X="-1041.979" Y="-4726.71" Z="15.58202" /> debug log output PHP: [18:44:24:123] Styx.InvalidObjectPointerException: Cannot read a descriptor on an invalid object. at Styx.WoWInternals.WoWObjects.WoWObject.[T](UInt32 field) at Styx.WoWInternals.WoWObjects.WoWObject.[T](Int32 offsetIndex) at Styx.WoWInternals.WoWObjects.WoWUnit.get_Flags() at Styx.WoWInternals.WoWObjects.WoWUnit.( flags) at Styx.WoWInternals.WoWObjects.WoWUnit.get_CanSelect() at Styx.WoWInternals.WoWObjects.WoWUnit.Target() at Styx.Bot.Quest_Behaviors.CastSpellOn.CastSpell() in c:\dl\Honorbuddy 2.0.0.4075\Quest Behaviors\CastSpellOn.cs:line 229 at Styx.Bot.Quest_Behaviors.CastSpellOn.<CreateBehavior>b__b(Object ) in c:\dl\Honorbuddy 2.0.0.4075\Quest Behaviors\CastSpellOn.cs:line 203 at TreeSharp.Action.RunAction(Object context) at TreeSharp.Action..MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.Decorator..MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector..MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector..MoveNext() at TreeSharp.Composite.Tick(Object context) at QuestBot.Actions.ForcedBehaviorExecutor..MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector..MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector..MoveNext() at TreeSharp.Composite.Tick(Object context) at Styx.Logic.BehaviorTree.TreeRoot.() [18:44:24:124] Cleared POI - Reason Exception in Root.Tick() [18:44:24:124] Cleared POI [18:44:24:177] Start/Stop button pressed. [18:44:24:182] Stop called!
V1.2.0 - Updated all of the behaviors to use the Arg Checking system - UseItemOn now has a Range as optional - NoCombatVehicle will redo the quest if it was not completed on the first round - Added a Kill Mob X Times behavior for those pesky kill any mob quests (Supports up to 3 Mobs) - UseItemTargetLocation now has Multiple Times - UseItemTargetLocation now has a Min Range (Optional) - UseItemOn can now support dead targets (Optional) - CombatUseItem is no longer Hard coded to my worgen profile - Vehicle Behavior LUA should be working fully again - UseItemOn can now be used to "Capture" mobs or used when mob is at x% HP - UseItemOn will now support Ranged Targets, Such as Shooting Birds down. - WaitTimer will now accept an Optional QuestID - Added GoalText and StatusText to all of the behaviors - Lots of behaviors will repeat now if QuestID > 0, leave the QuestID out if you only want it do it once.
I appreciate your work on all these behaviours. Why does UseItemOn.cs only have: Code: {"ItemId",null}, {"Range",null}, {"NpcId",null}, {"NpcId2",null}, {"NpcId3",null}, {"NumOfTimes",null}, {"HpLeftAmount",null}, {"InCombatHPUse",null}, {"FactionID",null}, {"WaitTime",null}, {"QuestId",null}, {"X",null}, {"Y",null}, {"Z",null}, but CombatUseItemOn has an additional? Code: public int HasAura { get; set; } There are quests, where you dont get into combat and still need to check buffs on the enemy If you have Quests, where you more or less stay where you are and have to protect an object from being destroyed or an npc from getting killed by incoming attackers, escort behaviour isn't the one to use. It considers the quest to be done when you arrive at a location i think. So it just stands there, letting the quest fail and in the end you likely die from the incoming waves of attackers yourself. I'd love to see something like: Defend.cs Arguments: NPC/Object-ID to protect Type= NPC/Object Location: X Y Z Targeting, in case you can influence it, should be primary on those that are attacking the npc/object that needs to be defended. In case you fail, it would be nice to abandon that quest and retake it. So maybe an additional questgiver argument (with optional location) might be useful as well.
I would also like to see that defend behavior, there are some quests i really don't know workaround in that kind of situation.
V2.0 - Massive Massive changes to the behaviors, They are all now fully converted to use a new far fast and use better methods then what was used in the past - All behaviors now use a Progressive Scanning feature like HB does rather then just searching nearby once you reach the location. This will make all behaviors faster - All behaviors now go off a new timer system so that they will always defend themselves, Except the NoCombat behaviors that are designed not to engage combat - All behaviors are rewritten, however very few changes to the profiles should occure - NoCombatVehicle has been merged so it should now use SpellIndex rather then the SpellID, so that you can just do the Button Bar Number For easier use - Greatly Updated the logic of all behaviors to be far smarter and more advanced then they were before - Documentation has been added to every behavior - Updated all Status and Goal Messages to match that of HB's and to include better information - All Behaviors that use item now use the HB API to do so - Will spit out the Name of the item being used, Npcs that it is attacking, and spells being casted for easier understanding This is just a test release, please report all and any bugs to this thread and I will fix them up ASAP. Thanks ~ Natfoth.
how would you use acceptquestlog and completequestlog. Are these for the quest pop ups? PLEASE SAY THEY ARE!
AcceptQuest has been put into Complete Log, but it is for "In the Field" Quests that you turn in on the spot rather then running back.
so they are for the ones that pop up, however you are still able to get them from an npc... i know there are a few like that in stv.... But from what i gathered, they are not for just quest pop ups that do not have an assigned npc to that particular quest, kind of like some of the quests in deepholm... Are my assumptions correct?
You are able to use it even if there is no NPC assigned to it. As long as it is in your log and it says Click to Complete then it will work. Regardless if a NPC is hooked up to it or not.
Oh ok, do you think the popup quests that need to be clicked on to accept will ever be added, if so, is that more of a integration into hb, or is that something a custom behavior should take care of? I remember researching it, and i found some of the script stuff for the popups, but when i couldnt get it to accept by running any scripts.
VehicleMover does not work. goes to the XYZ and then stops profile execution with no errors in the log. the next tag in the profile is simply never executed.