• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • [Quest Behavior] Natfoth's QB MegaThread

    Discussion in 'Archives' started by Natfoth, Dec 17, 2010.

    1. Natfoth

      Natfoth Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,446
      Likes Received:
      37
      Trophy Points:
      0
      Try using BasicInteractWith rather then InteractWith.
       
    2. laria

      laria Well-Known Member

      Joined:
      Jan 15, 2010
      Messages:
      5,386
      Likes Received:
      36
      Trophy Points:
      48
      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)) &amp;&amp; (!IsQuestCompleted(8483))">
              <CustomBehavior File="Escort" QuestId="8483" NpcId="15420" X="9291.544" Y="-6682.769" Z="22.41854" />
          </If>
       
    3. Kickazz006

      Kickazz006 Well-Known Member Moderator

      Joined:
      Jan 15, 2010
      Messages:
      20,567
      Likes Received:
      302
      Trophy Points:
      83
      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 QuestCB 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)) &amp;&amp; (!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:863You are a level 69 Feral Druid
      [8:28:26 PM:880GoalGoalGrind to level 62
      [8:28:27 PM:95Picking up Escape from Umbrafen 9752
      [8:28:27 PM:95GoalPicking up Escape from Umbrafen
      [8:28:27 PM:101Changed POI toTypeQuestPickUp
      [8:28:27 PM:751interact0x1D76AF08
      [8:28:27 PM:784interact done0x1D76AF08
      [8:28:30 PM:577Cleared POI Reason Quest Completed
      [8:28:30 PM:577Cleared POI
      [8:28:31 PM:410ActivityLoading Tile/s
      [8:28:31 PM:410Loading Expansion01_22_33
      [8:28:37 PM:469Unstuck attempt 1
      [8:28:37 PM:469Unstuck attempt 2
      [8:28:37 PM:683Unstuck attempt 3
      [8:28:40 PM:386Unstuck attempt 1
      [8:28:40 PM:386Unstuck attempt 2
      [8:28:40 PM:725Spell_C::CastSpell(76800x00) [1]
      [
      8:28:40 PM:728] -Cat Form
      [8:30:22 PM:73ActivityCombat
      o_O
       

      Attached Files:

      Last edited: Feb 15, 2011
    4. Natfoth

      Natfoth Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,446
      Likes Received:
      37
      Trophy Points:
      0
      Looking into the escort quest now, also laria your bug should be fixed in the next release.
       
    5. vlad0327

      vlad0327 New Member

      Joined:
      Feb 4, 2011
      Messages:
      291
      Likes Received:
      10
      Trophy Points:
      0
      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:123Styx.InvalidObjectPointerExceptionCannot 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:124Cleared POI Reason Exception in Root.Tick()
      [
      18:44:24:124Cleared POI
      [18:44:24:177Start/Stop button pressed.
      [
      18:44:24:182Stop called!
       
    6. Natfoth

      Natfoth Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,446
      Likes Received:
      37
      Trophy Points:
      0
      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.
       
    7. laria

      laria Well-Known Member

      Joined:
      Jan 15, 2010
      Messages:
      5,386
      Likes Received:
      36
      Trophy Points:
      48
      I appreciate your work on all these behaviours. :D

      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.
       
      Last edited: Feb 20, 2011
    8. marcoman

      marcoman Member

      Joined:
      Nov 23, 2010
      Messages:
      60
      Likes Received:
      0
      Trophy Points:
      6
      I would also like to see that defend behavior, there are some quests i really don't know workaround in that kind of situation.
       
    9. Natfoth

      Natfoth Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,446
      Likes Received:
      37
      Trophy Points:
      0
      The escort behavior will be able to do this aswell once everything is worked out in it.
       
    10. Natfoth

      Natfoth Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,446
      Likes Received:
      37
      Trophy Points:
      0
      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.
       
      amaya likes this.
    11. highvoltz

      highvoltz Well-Known Member

      Joined:
      Mar 22, 2010
      Messages:
      1,729
      Likes Received:
      141
      Trophy Points:
      63
      Looking good, keep them coming :)
       
    12. joejoe317

      joejoe317 New Member

      Joined:
      Jan 2, 2011
      Messages:
      341
      Likes Received:
      5
      Trophy Points:
      0
      how would you use acceptquestlog and completequestlog. Are these for the quest pop ups? PLEASE SAY THEY ARE!
       
    13. Natfoth

      Natfoth Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,446
      Likes Received:
      37
      Trophy Points:
      0
      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.
       
    14. joejoe317

      joejoe317 New Member

      Joined:
      Jan 2, 2011
      Messages:
      341
      Likes Received:
      5
      Trophy Points:
      0
      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?
       
    15. Natfoth

      Natfoth Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,446
      Likes Received:
      37
      Trophy Points:
      0
      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.
       
    16. joejoe317

      joejoe317 New Member

      Joined:
      Jan 2, 2011
      Messages:
      341
      Likes Received:
      5
      Trophy Points:
      0
      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.
       
    17. vlad0327

      vlad0327 New Member

      Joined:
      Feb 4, 2011
      Messages:
      291
      Likes Received:
      10
      Trophy Points:
      0
      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.
       
    18. Natfoth

      Natfoth Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,446
      Likes Received:
      37
      Trophy Points:
      0
      Updated the latest version to fix a lot of stuff. Try the new one. Will make a changelog later.
       
    19. vlad0327

      vlad0327 New Member

      Joined:
      Feb 4, 2011
      Messages:
      291
      Likes Received:
      10
      Trophy Points:
      0
      CastSpellOn now works thanks! But no VehicleMover in the 2.0.2 release
       
    20. Tony

      Tony "The Bee" Staff Member Moderator

      Joined:
      Jan 15, 2010
      Messages:
      128,834
      Likes Received:
      571
      Trophy Points:
      113
      thx again for your great work Nat
       

    Share This Page