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

How to get started?

iamzero

New Member
Joined
Nov 5, 2013
Messages
22
Reaction score
0
I do have quite a bit of programming/scripting knowledge so I know that I'm capable of learning how to write profiles for DB, but I'm having a hard time find a good resource of commands, attributes, methods, etc. All I've been able to do is look at profiles and try to understand how they work and for the most-part, I think I could write one (slowly, but doable). There are 2 things that come to mind that I do have trouble with though, and they both stem from the same point: collecting information.

Code:
<While condition="not (
           CurrentWorldId == 283552)">
      <UseWaypoint questId="1" waypointNumber="51" />

This piece of code contains both things that I have trouble with. No matter what information I look at, I cannot find that WorldID, nor can I find that waypointNumber. I see a waypoint when I dump the alt-3 (i think) but that number doesn't match what's in the profile and the profile works, so clearly I'm missing something.

That's a specific issue that I'm sure I could solve on my own if someone could point me to a wiki or some sort of documentation that explains how to write scripts and what the various method, etc are.

Thanks in advance!
 
Last edited:
Id like to learn and understand the codes as well.
I tried asking one of the MODS but was pointed here to ask.

Anyone know a centralize Code list, Attribute, Properties, and functionality.
Basically anything that can help people to get started in since DB has their own code.

TIA :D
 
Obviously the most commonly used profile tags can be found here All available profile tags


To view all the profile tags that come standard with demonbuddy, Browse the Demonbuddy Reference (Visual Studio -- Object Browser) and navigate to Zeta.Bot.Profile.Common

If and While tags..
The If tag will run all contained nodes when condition passes.
The While tag will run all contained nodes checking the condition before advancing and looping when it reaches the end, when condition fails then the tag will end.

Conditions taken from Zeta.Bot.ConditionParser Namespace
Code:
bool ActorExistsAt(int actorId, float x, float y, float z, float radius)
int GetBackpackItemCount(int itemId)
int GetStackCount(Zeta.Game.Internals.Actors.SNOPower buffPower)
int GetStackCount(int buffPowerId)
int GetStashedItemCount(int itemId)
bool HasBackpackItem(int itemId)
bool HasBuff(int snoPowerId)
bool HasBuff(Zeta.Game.Internals.Actors.SNOPower power)
bool HasQuest(int questId)
bool HasStashedItem(int itemId)
bool IsActiveQuest(int questId)
bool IsActiveQuestAndStep(int questId, int stepId)
bool IsActiveQuestStep(int stepId)
bool IsSceneLoaded(int sceneId)
bool MarkerExistsAt(int markerHash, float x, float y, float z, float radius)
int NephalemValorCount()
bool SceneIntersects(int sceneId, float x, float y)

The condition may have multiple conditions using the keywords "and/or"
Code:
<If condition="(HasQuest(99999) [B]and [/B]HasBackpackItem(222222)) [B]or [/B](HasQuest(88888) [B]and [/B]GetBackpackItemCount(11111)>1)">

</If>

The condition may use false syntax "not/!="
Code:
<If condition="(GetBackpackItemCount(11111) [B]!=[/B] 0) or ([B]not[/B] HasQuest(99999))">

</If>

The above methods are not the only conditions accepted inside the condition attribute..

Zeta.Game.ZetaDia (And properties such as Me, ActInfo, etc)
Code:
<If condition="ZetaDia.IsInTown">
<While condition="ZetaDia.ActInfo.ActiveBounty">
<If condition="Me.IsInBossEncounter">
Browse the Demonbuddy reference of Zeta.Game.ZetaDia to get an idea of possible logical properties usable in conditions.

Finally, plugins can add additional profile tags. See QuestTools for examples.

Hope that helps some..
 
I cannot find that WorldID

Select 'Info Dumping' tab and click the refresh button in the world group. It seems this has to be done while the bot is not running. It should give u the current world id.

nor can I find that waypointNumber.

A while back I went thru each one and mapped the number to a place name (for adventure mode), here's the thread https://www.thebuddyforum.com/demon...apping.html?highlight=adventure+mode+waypoint

wiki or some sort of documentation that explains how to write scripts and what the various method

I agree with HerbFunk that its best if you learn how to browse the Zeta namespace in either VisualStudio object browser or an application that can let you explore and search compiled code with reflection. Another way is to set up a project in VisualStudio and add Demonbuddy.exe as a reference, then start using intellisense to browse the possible properties in ZetaDia - it has LOTS of useful information. I would also recommend setting up projects in VisualStudio for existing plugins and then looking through the code to figure out what is going on, modify the code and learn by example.
 
Last edited:
Back
Top