• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • RebornBuddy - Limited Beta - FF14:ARR Bot

    Discussion in 'General Discussion Forum' started by mastahg, Nov 8, 2013.

    Thread Status:
    Not open for further replies.
    1. pikachu2003

      pikachu2003 New Member

      Joined:
      Jun 11, 2012
      Messages:
      205
      Likes Received:
      0
      Trophy Points:
      0

      Okay great! Can't wait to try out the new version!
       
    2. Demonsdance

      Demonsdance New Member

      Joined:
      Nov 16, 2013
      Messages:
      12
      Likes Received:
      0
      Trophy Points:
      0
      I used the other rotations to make a PugilistMonk one.
      It works good for basic attack, but its not using the full rotation, only Bootshine, will not go into Twin Snakes.
      It wont use Internal or Strong Wind, could you tell me whats wrong?

      It seems as if sometimes actions caches are not built at the beginning... Twin Snakes and Snap Punch end up missing usually.

      Code:
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Runtime.InteropServices;
      using System.Text;
      using System.Windows.Forms;
      using ff14bot;
      using ff14bot.Enums;
      using ff14bot.Managers;
      using ff14bot.Navigation;
      using ff14bot.Objects;
      using TreeSharp;
      using Action = TreeSharp.Action;
      
      namespace Kupo.Rotations
      {
          public class PugilistMonk : KupoRoutine
          {
              public override int PullRange
              {
                  get { return 5; }
              }
      
              public override ClassJobType[] Class
              {
                  get { return new ClassJobType[]{ClassJobType.Monk, ClassJobType.Pugilist, };}
              }
      
              protected override Composite CreatePull()
              {
                  return new PrioritySelector(
                      r => Actionmanager.InSpellInRangeLOS("Bootshine", Core.Target),
                      new Decorator(r => (r as SpellRangeCheck?) == SpellRangeCheck.ErrorNotInRange, new Action(r => Navigator.MoveTo(Core.Target.Location))),
                      Cast("Bootshine", r => (r as SpellRangeCheck?) == SpellRangeCheck.Success || (r as SpellRangeCheck?) == SpellRangeCheck.ErrorNotInFront)
                  );
      
      
              }
      
              protected override Composite CreateCombat()
              {
                  return new PrioritySelector(
      
                      Cast("Snap Punch", r => Actionmanager.LastSpell.Name == "Twin Snakes"),
                      Cast("Twin Snakes", r => Actionmanager.LastSpell.Name == "Bootshine"),
                      Cast("Bootshine", r=> true)// r => Actionmanager.LastSpellId == 0 || Actionmanager.LastSpell.Name == "Snap Punch" )
                  );
              }
              protected override Composite CreateBuffs()
              {
                  return new PrioritySelector(
                      Apply("Internal Release", r => !Core.Player.HasAura("Internal Release"),r=> Core.Player)
                      );
              }
      
              protected override Composite CreateHeal()
              {
                return new PrioritySelector(
                      Cast("Strong Wind", r => Core.Player.HealthPercent <= 70, r => Core.Player)
                      );
                
              }
          }
      }
      
      How far does the radar recognize mobs? I was thinking that I could make waypoints for FATEs and just add their creature name to the list.
      Though I do learn fast, I have not much idea how to use these codes. So if I could help with something like running around perfecting waypoints for FATEs, then I would.

      Great work anyway, thanks.
       
    3. DanH

      DanH New Member

      Joined:
      Nov 13, 2012
      Messages:
      18
      Likes Received:
      0
      Trophy Points:
      0
      Oh dear :eek: cheers man :D
       
    4. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,330
      Likes Received:
      378
      Trophy Points:
      83
      Hello everyone version 0.0.30 is now ready for testing

      http://mastahg.com/rebornbuddy/RebornBuddy0.0.0.30.zip
       
    5. pikachu2003

      pikachu2003 New Member

      Joined:
      Jun 11, 2012
      Messages:
      205
      Likes Received:
      0
      Trophy Points:
      0
      Move the heal above the combat rotation, that's how I have it on my other routines. Also check your spelling, its Second wind... i think. not strong wind. never played pulgist or monk so I'm not sure.
       
    6. pikachu2003

      pikachu2003 New Member

      Joined:
      Jun 11, 2012
      Messages:
      205
      Likes Received:
      0
      Trophy Points:
      0
      Updated ArcherBard.cs for now .30 version.

      Also tries to use straight shot when the aura straighter shot is up. Well I hope!!!

      Let me know if I'm messing this up Mashtag. Most likely I'm totally messing it up!!! HAHAH

      Cast("Straight Shot", r => Actionmanager.HasSpell("Straight Shot") || Core.Player.HasAura("Straighter Shot")),


      Code:
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using ff14bot;
      using ff14bot.Enums;
      using ff14bot.Managers;
      using ff14bot.Navigation;
      using TreeSharp;
      
      using Action = TreeSharp.Action;
      namespace Kupo.Rotations
      {
          public class ArcherBard : KupoRoutine
          {
              public override int PullRange
              {
                  get { return 20; }
              }
      
              public override ClassJobType[] Class
              {
                  get { return new ClassJobType[]{ClassJobType.Archer, ClassJobType.Bard, };}
              }
              protected override Composite CreatePull()
              {
                  return new PrioritySelector(
                      r=> Actionmanager.InSpellInRangeLOS("Heavy Shot", Core.Target),
                      new Decorator(r => (r as SpellRangeCheck?) == SpellRangeCheck.ErrorNotInRange, new Action(r => Navigator.MoveTo(Core.Target.Location))),
                      Cast("Heavy Shot", r => (r as SpellRangeCheck?) == SpellRangeCheck.Success || (r as SpellRangeCheck?) == SpellRangeCheck.ErrorNotInFront)
                  );
      
      
              }
              protected override Composite CreateHeal()
              {
                return new PrioritySelector(
                      Cast("Cure", r => Core.Player.HealthPercent <= 70, r => Core.Player)
                      );
                
              }
              protected override Composite CreateCombat()
              {
                  return new PrioritySelector(
      				Apply("Venomous Bite"),
                      Cast("Bloodletter", r => Actionmanager.LastSpell.Name == "Straight Shot"),
      				Cast("Misery's End", r => Actionmanager.LastSpell.Name == "Straight Shot"),
                      Cast("Misery's End", r => Actionmanager.LastSpell.Name == "Bloodletter"),
      				Cast("Straight Shot", r => Actionmanager.HasSpell("Straight Shot") || Core.Player.HasAura("Straighter Shot")),
                      Cast("Straight Shot", r => Actionmanager.LastSpell.Name == "Heavy Shot"),
      				Cast("Misery's End", r => Actionmanager.LastSpell.Name == "Heavy Shot"),
                      Cast("Heavy Shot", r =>  true)
      
      
                      );
              }
      
          }
      }
       
    7. SociallyInept

      SociallyInept New Member

      Joined:
      Nov 16, 2013
      Messages:
      6
      Likes Received:
      0
      Trophy Points:
      0
      First of all thanks for this it looks great. Though I cant seem to get it working been trying for a week now the profile creates fine the wp's connect when i hit arc and everything then i load it and nothing he just stands there. Not sure what im doing wrong and I am new to this. I'm running it in windowed and I installed your wizard my pc is updated to net 4.5 and all that any ideas?
       
    8. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,330
      Likes Received:
      378
      Trophy Points:
      83
      Did you add to the list what objects you want it to gather, or mobs to attack?
       
    9. SociallyInept

      SociallyInept New Member

      Joined:
      Nov 16, 2013
      Messages:
      6
      Likes Received:
      0
      Trophy Points:
      0
      yes I added items for the gather function. Ive tried adding them for each node as well as only once. Ive tried it on mesh and waypoint i've played with the refresh delay and node distance to see if that would help everything looks fine as far as I can see i save it load it, it says starting gatherbot but still he just stands there as if its not doing anything at all until i move him around again. Disabled my av and everything to see if that would help even though I had already added it to my allow list not sure has me scratching my head and im usually pretty good about figuring this stuff out

      Is there any in-game option requirments besides being in windowed such as any graphical settings or movement settings I do have my graphics at the lowest atm plus my movement set to legacy type instead of standard though I have played with them as well to see.
       
    10. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,330
      Likes Received:
      378
      Trophy Points:
      83
      Start gatherbot, and then open the profile creator. If doesnt show a red then that means you created the profile poorly and it doesnt know how to get to any of the items you listed for it to gather.
       
    11. SociallyInept

      SociallyInept New Member

      Joined:
      Nov 16, 2013
      Messages:
      6
      Likes Received:
      0
      Trophy Points:
      0
      Alright I figured it out it was rather simple I forgot to add the target I only added the item to collect. Sorry for that. Guess ill have to tweak it a bit now hes looking rather odd id spot him anyhow. Ill support this app and let you know if I find any actual problems next time. Thanks for you work on this project and the quick reply as well. Personally this will be the first time used a app like this never been into them but in my short time in this game ive hand farmed so many thousands of shards for crafting like 5k just yesterday alone and already out again. Almost makes me want to eat a bullet and i thought Korean mmo's were grindy so this is app is definitely a relief
       
    12. Demonsdance

      Demonsdance New Member

      Joined:
      Nov 16, 2013
      Messages:
      12
      Likes Received:
      0
      Trophy Points:
      0
      When I load my old waypoints and start the bot, it crashes, is this expected?

      On a side note, character not trying to get out of sight stuff so far...
       
    13. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,330
      Likes Received:
      378
      Trophy Points:
      83

      Old mesh profiles are not supported as the format has changed.

      Please provide a log file if you are still having issues.
       
    14. pikachu2003

      pikachu2003 New Member

      Joined:
      Jun 11, 2012
      Messages:
      205
      Likes Received:
      0
      Trophy Points:
      0
      Okay for the life of me... I can't get it to Apply Raging Strike and Hawk's Eye. I even copied and past the format for Raging Strike from your Thum/BLM rotation. Any help wold be greatly appreciated!! :)

      Here my current Archer/Bard.

      Buffs - Protect, Raging Stikes, Hawk's Eye, and Bloodbath when less than 80% health.

      Heals - Cure less than 70% and Second wind when less than 50%

      DOTS - Venomous Bite and Fracture.


      Code:
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using ff14bot;
      using ff14bot.Enums;
      using ff14bot.Managers;
      using ff14bot.Navigation;
      using TreeSharp;
      
      using Action = TreeSharp.Action;
      namespace Kupo.Rotations
      {
          public class ArcherBard : KupoRoutine
          {
              public override int PullRange
              {
                  get { return 10; }
              }
      
              public override ClassJobType[] Class
              {
                  get { return new ClassJobType[]{ClassJobType.Archer, ClassJobType.Bard, };}
              }
              protected override Composite CreatePull()
              {
                  return new PrioritySelector(
                      //Checking to see if we're in range -- If not, move to the location
                      new Decorator(
                          r => Actionmanager.InSpellInRangeLOS("Heavy Shot", Core.Target) == SpellRangeCheck.ErrorNotInRange,
                          new Action(r => Navigator.MoveTo(Core.Target.Location))),
      
                      //Checking to see if we're not facing the target -- If not, face it
                      new Decorator(
                          r => Actionmanager.InSpellInRangeLOS("Heavy Shot", Core.Target) == SpellRangeCheck.ErrorNotInFront,
                          new Action(r => Core.Target.Face())),
      
                      //We'll open with a Heavy Shot for heavy
                      Cast("Heavy Shot", r => Actionmanager.InSpellInRangeLOS("Heavy Shot", Core.Target) == SpellRangeCheck.Success)
                  );
              }
      	protected override Composite CreateCombatBuffs()
      		{
      	    return new PrioritySelector(
      		//Dem deepz
      		Apply("Raging Strikes"),
      		Apply("Hawk's Eyes"),
      		Apply("Bloodbath", r => Core.Player.HealthPercent <= 80, r => Core.Player),
      		Apply("Protect", r => !Core.Player.HasAura("Protect"),r=> Core.Player)
      			);
      		}
              protected override Composite CreateHeal()
              {
                  return new PrioritySelector(
      		Cast("Second Wind", r => Core.Player.HealthPercent <= 50, r => Core.Player),
                      Cast("Cure", r => Core.Player.HealthPercent <= 70, r => Core.Player)
                      );
                
              }
              protected override Composite CreateCombat()
              {
                  return new PrioritySelector(
                      //Apply DOTS
      		Apply("Venomous Bite"),
      		Apply("Fracture"),
                      //Combat rotation
                      Cast("Bloodletter", r => Actionmanager.LastSpell.Name == "Straight Shot"),
      		Cast("Misery's End", r => Actionmanager.LastSpell.Name == "Straight Shot"),
                      Cast("Misery's End", r => Actionmanager.LastSpell.Name == "Bloodletter"),
                      Cast("Straight Shot", r => Actionmanager.LastSpell.Name == "Heavy Shot"),
      		Cast("Misery's End", r => Actionmanager.LastSpell.Name == "Heavy Shot"),
                      Cast("Heavy Shot", r =>  true)
      
      
                      );
              }
      
          }
      }
       
    15. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,330
      Likes Received:
      378
      Trophy Points:
      83
      try
      Code:
      		Apply("Hawk's Eyes",r=> true, r=>Core.Player),
      
       
    16. pikachu2003

      pikachu2003 New Member

      Joined:
      Jun 11, 2012
      Messages:
      205
      Likes Received:
      0
      Trophy Points:
      0
      That one lined caused these errors.. Apply("Hawk's Eye",r=> true, r=>Core.Player),

      [06:41:51.700 D] System.NullReferenceException: Object reference not set to an instance of an object.
      at ..(Character )
      at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
      at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
      at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
      at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
      at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
      at ..( )
      at ..(Object )
      at TreeSharp.Action.RunAction(Object context)
      at TreeSharp.Action.<Execute>d__0.MoveNext()
      at TreeSharp.Composite.Tick(Object context)
      at TreeSharp.Decorator.<Execute>d__0.MoveNext()
      at TreeSharp.Composite.Tick(Object context)
      at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
      at TreeSharp.Composite.Tick(Object context)
      at ..()
      [06:41:51.713 D] System.NullReferenceException: Object reference not set to an instance of an object.
      at ..(Character )
      at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
      at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
      at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
      at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
      at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
      at ..( )
      at ..(Object )
      at TreeSharp.Action.RunAction(Object context)
      at TreeSharp.Action.<Execute>d__0.MoveNext()
      at TreeSharp.Composite.Tick(Object context)
      at TreeSharp.Decorator.<Execute>d__0.MoveNext()
      at TreeSharp.Composite.Tick(Object context)
      at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
      at TreeSharp.Composite.Tick(Object context)
      at ..()

      The logs didn't contain useful info as the visual output which talks about specific lines in KupoRoutine.cs - This is for Raging Strike

      Code:
      [06:48:56.421 D] System.NullReferenceException: Object reference not set to an instance of an object.
         at Kupo.Extensions.GetCachedAuraByName(GameObject unit, String auraName, Boolean myAura) in c:\Buddy\Routines\Kupo\KupoRoutine.cs:line 331
         at Kupo.Extensions.HasAura(GameObject unit, String aura, Boolean isMyAura, Int32 msLeft) in c:\Buddy\Routines\Kupo\KupoRoutine.cs:line 379
         at Kupo.KupoRoutine.<>c__DisplayClass1b.<Apply>b__19(Object ret) in c:\Buddy\Routines\Kupo\KupoRoutine.cs:line 248
         at TreeSharp.Decorator.CanRun(Object context)
         at TreeSharp.Decorator.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.Decorator.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at ..()
      [06:48:57.805 D] Stop called!
      [06:48:57.806 Q] Bot Stopped! Reason: Pushed the stop button.
      [06:48:57.828 D] System.NullReferenceException: Object reference not set to an instance of an object.
         at Kupo.Extensions.GetCachedAuraByName(GameObject unit, String auraName, Boolean myAura) in c:\Buddy\Routines\Kupo\KupoRoutine.cs:line 331
         at Kupo.Extensions.HasAura(GameObject unit, String aura, Boolean isMyAura, Int32 msLeft) in c:\Buddy\Routines\Kupo\KupoRoutine.cs:line 379
         at Kupo.KupoRoutine.<>c__DisplayClass1b.<Apply>b__19(Object ret) in c:\Buddy\Routines\Kupo\KupoRoutine.cs:line 248
         at TreeSharp.Decorator.CanRun(Object context)
         at TreeSharp.Decorator.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.Decorator.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at ..()
      
       
    17. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,330
      Likes Received:
      378
      Trophy Points:
      83
      Did you paste it wrong...?
       
    18. pikachu2003

      pikachu2003 New Member

      Joined:
      Jun 11, 2012
      Messages:
      205
      Likes Received:
      0
      Trophy Points:
      0
      I don't think so, here's the complete CS file.

      Code:
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using ff14bot;
      using ff14bot.Enums;
      using ff14bot.Managers;
      using ff14bot.Navigation;
      using TreeSharp;
      
      using Action = TreeSharp.Action;
      namespace Kupo.Rotations
      {
          public class ArcherBard : KupoRoutine
          {
              public override int PullRange
              {
                  get { return 10; }
              }
      
              public override ClassJobType[] Class
              {
                  get { return new ClassJobType[]{ClassJobType.Archer, ClassJobType.Bard, };}
              }
              protected override Composite CreatePull()
              {
                  return new PrioritySelector(
                      //Checking to see if we're in range -- If not, move to the location
                      new Decorator(
                          r => Actionmanager.InSpellInRangeLOS("Heavy Shot", Core.Target) == SpellRangeCheck.ErrorNotInRange,
                          new Action(r => Navigator.MoveTo(Core.Target.Location))),
      
                      //Checking to see if we're not facing the target -- If not, face it
                      new Decorator(
                          r => Actionmanager.InSpellInRangeLOS("Heavy Shot", Core.Target) == SpellRangeCheck.ErrorNotInFront,
                          new Action(r => Core.Target.Face())),
      
                      //We'll open with a Heavy Shot for heavy
                      Cast("Heavy Shot", r => Actionmanager.InSpellInRangeLOS("Heavy Shot", Core.Target) == SpellRangeCheck.Success)
                  );
              }
      				protected override Composite CreateCombatBuffs()
      		{
      			return new PrioritySelector(
      				//Dem deepz
      				Apply("Raging Strikes",r=> true, r=>Core.Player),
      				Apply("Hawk's Eye",r=> true, r=>Core.Player),
      				Apply("Bloodbath", r => Core.Player.HealthPercent <= 80, r => Core.Player),
      				Apply("Protect", r => !Core.Player.HasAura("Protect"),r=> Core.Player)
      			);
      		}
              protected override Composite CreateHeal()
              {
                return new PrioritySelector(
      				Cast("Second Wind", r => Core.Player.HealthPercent <= 50, r => Core.Player),
                      Cast("Cure", r => Core.Player.HealthPercent <= 70, r => Core.Player)
                      );
                
              }
              protected override Composite CreateCombat()
              {
                  return new PrioritySelector(
      				Apply("Venomous Bite"),
      				Apply("Fracture"),
                      Cast("Bloodletter", r => Actionmanager.LastSpell.Name == "Straight Shot"),
      				Cast("Misery's End", r => Actionmanager.LastSpell.Name == "Straight Shot"),
                      Cast("Misery's End", r => Actionmanager.LastSpell.Name == "Bloodletter"),
                      Cast("Straight Shot", r => Actionmanager.LastSpell.Name == "Heavy Shot"),
      				Cast("Misery's End", r => Actionmanager.LastSpell.Name == "Heavy Shot"),
                      Cast("Heavy Shot", r =>  true)
      
      
                      );
              }
      
          }
      }
      In the visual display, it has this

      Code:
      [07:00:17.569 D] DoAction Spell 97 1073796868
      [07:00:18.918 D] System.NullReferenceException: Object reference not set to an instance of an object.
         at Kupo.Extensions.GetCachedAuraByName(GameObject unit, String auraName, Boolean myAura) in c:\Buddy\Routines\Kupo\KupoRoutine.cs:line 331
         at Kupo.Extensions.HasAura(GameObject unit, String aura, Boolean isMyAura, Int32 msLeft) in c:\Buddy\Routines\Kupo\KupoRoutine.cs:line 379
         at Kupo.KupoRoutine.<>c__DisplayClass1b.<Apply>b__19(Object ret) in c:\Buddy\Routines\Kupo\KupoRoutine.cs:line 248
         at TreeSharp.Decorator.CanRun(Object context)
         at TreeSharp.Decorator.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.Decorator.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
         at TreeSharp.Composite.Tick(Object context)
         at ..()
       
    19. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,330
      Likes Received:
      378
      Trophy Points:
      83
    20. pikachu2003

      pikachu2003 New Member

      Joined:
      Jun 11, 2012
      Messages:
      205
      Likes Received:
      0
      Trophy Points:
      0
    Thread Status:
    Not open for further replies.

    Share This Page