Hey all, I've tried looking up how to make my own profile on here and I keep on getting directed to a ZapRecorder but when I try downloading the plugin, it won't let me download it for some reason after I log in. I also was able to download the plugin from another thread but the plugin wouldn't load in honorbuddy. I kept on getting an error code. Is there any way that someone can help me out? If so, I'll be down to post free profiles weekly here for everyone to use. It seems like there isn't enough free ones available which I completely understand but we are all here to help each other out as well which I'm not above doing.
Hey GZueS! I recently asked the same question and was pointed in a pretty good direction. I do agree more documentation is needed for people to create their own profiles, so I have something that is a WIP. Here's a link to the post mentioned above: https://www.thebuddyforum.com/threads/guide-for-making-your-own-gather-profiles.405008/
Hey Frenemy! Thank you for your quick response. I briefly looked at the thread you linked above and it does have more and actual helpful information on there. I'm at work right now so I can't actually do anything with all this. Once I review all of the info and work on my own profile, would you want to work together some time to share some information, profiles, and other projects that we would like to eventually work on? It seems like there is a lot of activity on these forums but not much with actual help on working on these profiles.
I don't mind coordinating efforts at all. I'm just a bit busy here and there with my daughter. She's 3mo, but such a handful sometimes!
Your best bet is to just read the default profiles written by EchoTiger. And then try and think to yourself how they work. Here are some generic snippets I use to make most of my profiles unless they are more specific. Code: <!-- Short Snippets --> <!-- Most Useful to me --> <!-- Interact --> <CustomBehavior File="InteractWith" MobId="251676" X="768.5938" Y="3579.904" Z="141.5099" /> <!--Inline Log Quote--> <CustomBehavior File="RunCode" Code="Bots.Professionbuddy.PBLog.Log(System.Windows.Media.Colors.Lime, "[ZephyrMMO]: ", System.Windows.Media.Colors.MintCream, " ChangeME ");" /> <!--UseItem--> <CustomBehavior File="Misc\RunLua" Lua="UseItemByName(110560);" WaitTime="10000" /> <!-- Use [WoD] Garrison Hearthstone --> <CustomBehavior File="Misc\RunLua" Lua="UseItemByName(140192);" WaitTime="10000" /> <!-- Use [Legion] Dalaran Hearthstone --> <CustomBehavior File="Misc\RunLua" Lua="UseItemByName(141605);" WaitTime="10000" /> <!-- Use [Legion] Flight Master's Whistle --> <CustomBehavior File="UseItem" ItemId="139893" WaitTime="1337" /> <!--FlyTo--> <CustomBehavior File="FlyTo" X="" Y="" Z="" /> <!--PickUp--> <PickUp Nav="Fly" QuestName="Quest Name" QuestId="1337" GiverName="NPC Name" GiverId="1" X="" Y="" Z="" /> <!--TurnIn--> <TurnIn Nav="Fly" QuestName="Quest Name" QuestId="1337" TurnInName="NPC Name" TurnInId="1" X="" Y="" Z="" /> <!--WaitTime--> <CustomBehavior File="WaitTimer" WaitTime="2000" /> <!--Taxi--> <CustomBehavior File="TaxiRide" MobId="12345" DestName="Orgrimmar" WaitTime="1000" /> <!--PopupBox--> <CustomBehavior File="UserDialog" QuestId="40715" AllowBotStop="True" SoundCue="Exclamation" SoundCueInterval="150" ExpiryTime="300" ExpiryAction="InputEnabled_Continue" Text="Choose an artifact weapon.\n\nIf you do not choose within 5minutes, the bot will pick the one appropriate for your current specialization." /> <!--DoWhen--> <CustomBehavior File="Hooks\DoWhen" UseWhen="HasItem(1234)" ActivityName="NameME" AllowUseWhileFlying="False" AllowUseWhileMounted="False"> </CustomBehavior> <!-- Delete Items --> <If Condition="HasItem(129178)" > <CustomBehavior File="UseItem" ItemId="129178" /> </If> <If Condition="HasItem(129178)" > <CustomBehavior File="DeleteItems" Ids="129178" /> </If> <!--Smelting Obsidium--> <While Condition="GetItemCount(53038) > 1 && MiningSkill.CurrentValue > 424"> <CustomBehavior File="Misc\RunLua" Lua="for i=1,GetNumTradeSkills() do if GetTradeSkillInfo(i)=='Smelt Obsidium' then DoTradeSkill(i,GetItemCount('Obsidium Ore')/2) break end end " /> <CustomBehavior File="WaitTimer" WaitTime="15000"/> </While> <!--Smelting Elementium--> <While Condition="GetItemCount(52185) > 1 && MiningSkill.CurrentValue > 474"> <CustomBehavior File="Misc\RunLua" Lua="for i=1,GetNumTradeSkills() do if GetTradeSkillInfo(i)=='Smelt Elementium' then DoTradeSkill(i,GetItemCount('Elementium Ore')/2) break end end " /> <CustomBehavior File="WaitTimer" WaitTime="15000"/> </While> <!--Smelting Pyrite--> <While Condition="GetItemCount(52183) > 1 && MiningSkill.CurrentValue > 524"> <CustomBehavior File="Misc\RunLua" Lua="for i=1,GetNumTradeSkills() do if GetTradeSkillInfo(i)=='Smelt Pyrite' then DoTradeSkill(i,GetItemCount('Pyrite Ore')/2) break end end " /> <CustomBehavior File="WaitTimer" WaitTime="15000"/> </While> <CustomBehavior File="Misc\RunLua" Lua="CloseTradeSkill()" /> <!--PursueUnit--> <PursuitList> <PursueUnit Id="92957" PursueWhen="(UNIT.Z >= 371 && Me.Z >= 160) || (UNIT.Z > 141 && Me.Z < 160)" /> <!-- Only use the one the bot can easily navigate to. The zeppelin-boat-thing slowly descends so we're detecting the two stop positions. --> </PursuitList> <!--ReloadProfile--> <CustomBehavior File="RunCode"> <![CDATA[ Logging.Write(System.Windows.Media.Colors.DeepSkyBlue, "[ProfileBase]: Reloading profile."); ProfileManager.LoadNew(ProfileManager.XmlLocation); ]]> </CustomBehavior> <!--Long Snippets--> <Follow> <!--Start--> <CustomBehavior File="RunCode"> <![CDATA[ var ethelPoi = ObjectManager.GetObjectsOfType<WoWUnit>().FirstOrDefault(x => x.Entry == 107726); Random rnd = new Random(); while (ethelPoi != null && !QuestDone(42590)) { while (ethelPoi.Distance > 6) { Navigator.MoveTo(ethelPoi.Location); await Coroutine.Yield(); } WoWMovement.ClickToMove(WoWMathHelper.CalculatePointInFront(ethelPoi.Location, ethelPoi.Rotation, 3.5f)); await Coroutine.Wait(rnd.Next(2000, 2500), () => ethelPoi.IsMoving); if (!ethelPoi.IsMoving) { WoWMovement.ClickToMove(WoWMathHelper.CalculatePointBehind(ethelPoi.Location, ethelPoi.Rotation, 2.5f)); await Coroutine.Sleep(2000); } else await Coroutine.Sleep(rnd.Next(500, 1000)); await Coroutine.Yield(); } ]]> </CustomBehavior>