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

Noob basic questions on profile building

bendar

New Member
Joined
Jul 9, 2012
Messages
32
Reaction score
0
Can someone explain these in detail ?
<GameParams quest="101750" step="10" act="A3" difficulty="Normal" resumeFromSave="True" isPrivate="True" numGames="-1" />
<GameParams quest="87700" step="-1" act="A3" difficulty="Hell" resumeFromSave="True" isPrivate="True" numGames="-1" />
Same map from 2 people I see GameParams is different. Is it based on Difficulty ? Does it matter or just have to be unique?
Step; I have seen 1, 10 and 29, is it used for something ?
act and difficulty, are these just informative ?
If resumeFromSave = false, where does it get it's beginning ?
isPrivate i'm guessing is if it's a private or public game.
numGames, I have also seen this as -1 and 1. What is the difference ?

and can someone explain this:
Sometimes I see:
<UseWaypoint questId="1" x="402.5403" y="414.342" z="1.5338" levelArea="1999503360" actorId="6442 " waypointNumber="10" />
<UseWaypoint questId="1" x="1161.723" y="686.8927" z="0.1" actorId="6442 " waypointNumber="0" />
Here I'm guessing xyz is the location of the way point portal I'm leaving from. Waypoint is where I want to go.

and sometimes
<UseTownPortal questId="1" />
Completely baffles me, Is this a shortcut to use to go to town ?


Thx
 
Check the info dumping tab of DB, there you would find all your answers.
 
PHP:
<GameParams quest="101750" step="10" act="A3" difficulty="Normal" resumeFromSave="True" isPrivate="True" numGames="-1" />
<GameParams quest="87700" step="-1" act="A3" difficulty="Hell" resumeFromSave="True" isPrivate="True" numGames="-1" />
quest/step id's are the quest and the step in that quest when creating a new game.
resumeFromSave lets the bot resume the game if you're already on that quest. If its false, it will start the quest from the given step (create a new game).
isPrivate => private game (not public).
You can get the curren quest/step IDs dumping the vars from DB.

PHP:
<UseWaypoint questId="1" x="402.5403" y="414.342" z="1.5338" levelArea="1999503360" actorId="6442 " waypointNumber="10" />
<UseWaypoint questId="1" x="1161.723" y="686.8927" z="0.1" actorId="6442 " waypointNumber="0" />
I haven't seen the levelArea tag, so I don't know what it does, but I suppose its not necesary. The basics are x,y,z,actorId and waypoint number.

PHP:
<UseTownPortal questId="1" />
This should be self-explanatory... Use the Town Portal now! You know what Town Portal is, right? :P
 
Got my first bot working using examples from others code. Whee!
still don't understand actorId. Is that going to be diff for everyones account ?
and yes once I put <UseTownPortal questId="1" /> in and saw the results, it makes sense.
 
actorsId should be the same for everyone if its an NPC. Its a way of telling DB which NPC to interact with.
 
I'm refering to;

Code:
<UseWaypoint questId="1" x="402.5403" y="414.342" z="1.5338" levelArea="1999503360" actorId="6442 " waypointNumber="10" /> 
<UseWaypoint questId="1" x="1161.723" y="686.8927" z="0.1" actorId="6442 " waypointNumber="0" />

I don't think a waypoint is a NPC.

While I'm asking, what is levelArea="1999503360" ?

Maybe I'm asking the wrong question.... How did the people who made these profiles, know what variables and ID's to use ?

Thx
 
Last edited:
You can think of ActorId/ActorSNO as a unique identifier for that "type" of DiaUnit/DiaObject/DiaGizmo. For example, male monks all have the same ActorSNO. Skeletons in Act 1 crypts that all look the same all have the same ActorSNO - but a different ActorSNO than similar skeletons in Act2/3.

Any object you can interact with, or that moves, or has an effect on the game (molten pools, doors, item drops/loot/gold, breakables, units, portals, waypoints, etc) - all have an ActorSNO.

You can get the ActorId/ActorSNO from the "Dump RActors" button on the Information tab - they will be output sorted ascending by distance. Pretty much all profiles are built with the information coming out of here.

I've been building profiles for a while and personally haven't used levelAreaId - but WorldId is very important to determine where you are in the game (in town, a specific dungeon, out in the "open world").

Hope that helps.
 
How does one find all the operators for profile building of XML...trying to determine if the player is NOT in a particular location...but doesn't seem to like my operator:

Code:
<!-- Only fire if you are not in town or in the oasis -->
		<If condition="Zeta.ZetaDia.CurrentWorldId != 70885 and (not Me.IsInTown)">   
			<UseTownPortal questId="1" />    
		</If>

Doesn't seem to like "!=" for not equals.
 
How does one find all the operators for profile building of XML...trying to determine if the player is NOT in a particular location...but doesn't seem to like my operator:

Code:
<!-- Only fire if you are not in town or in the oasis -->
		<If condition="Zeta.ZetaDia.CurrentWorldId != 70885 and (not Me.IsInTown)">   
			<UseTownPortal questId="1" />    
		</If>

Doesn't seem to like "!=" for not equals.

What are you trying to do? It seems a lot easier to just tell him where you DO want him to go instead of basing it off where the character is not.

It looks like you are trying to say 'If not in Desolate sands and not in town, then use town portal' ...So why not just tell him to go to desolate sands? 70885 is the worldId for Sands, but description says oasis so not sure where you are trying to be.
 
How does one find all the operators for profile building of XML...trying to determine if the player is NOT in a particular location...but doesn't seem to like my operator:

Code:
<!-- Only fire if you are not in town or in the oasis -->
		<If condition="Zeta.ZetaDia.CurrentWorldId != 70885 and (not Me.IsInTown)">   
			<UseTownPortal questId="1" />    
		</If>

Doesn't seem to like "!=" for not equals.

What are you trying to do? It seems a lot easier to just tell him where you DO want him to go instead of basing it off where the character is not.

It looks like you are trying to say 'If not in Desolate sands and not in town, then use town portal' ...So why not just tell him to go to desolate sands? 70885 is the worldId for Sands, but description says oasis so not sure where you are trying to be.
 
Basically, was trying to work with the new RadsAtom keyrun tag which loads a profile when a character reaches NV5. The problem is sometimes you reach The Oasis (A2 Keyhunt) before reaching NV5....so if you reach NV5 in the middle of the Oasis, it restarts this same profile from the beginning.

I was trying to only use the TP to town if you were outside of town, but NOT in the Oasis.

At the end of the day, RadsAtom is implementing a keyrun override which I asked about earlier which will fix this issue entirely, but would still be good to know where to find resource info for building profiles....I'm basically trying to deconstruct other profiles to figure things out.


SIDENOTE - You wouldn't happen to know if it's possible to tell whether a specific enemy (in my case a Keywarden) exists/has been killed? I've seen some stuff as far as trying to avoid particular enemies, would love to know if an enemy has been killed so I can end the profile on the death of a warden. Unfortunately it isn't tied to a quest so I can't trace it that way....



Thanks!
 
Last edited:
You can add a conditional to the town portal check and only cast it if you're not in Oasis, something like this:
PHP:
<If condition="(not Me.IsInTown)" and condition="(not Zeta.ZetaDia.CurrentWorldId==Oasis_World_ID)">
<UseTownPortal>
</If>

As for the enemy, maybe if the enemy has some actorId (don't know if enemies have those ids). The idea should be to set a conditional and check if the id is there, but I don't know if keywardens have a specific spawn area (or areas) or they appear totally random around the map...
 
Couple quick Noob questions:

Is there a way to break a <while> loop inside? For example:

Code:
<while condition="something">
   do this
   do that
   do one last thing
   condition still not met
   <break />
</while>


Also, does a <loop> tag exist? The while doesn't repeat itself, just goes to the end and waits until the condition is met.

Thanks again for your help, I've made significant strides in the profile I'm building, just want to fine tune it.
 
No No and No.
You will have to figure out another logic for what you want.
Take a look at GilesTrinity XML Tags you can do pretty much anything with them.

What are you trying to do?
 
No No and No.
You will have to figure out another logic for what you want.
Take a look at GilesTrinity XML Tags you can do pretty much anything with them.

What are you trying to do?

Yeah I just added an extra condition to my while loop so it doesn't require a "break."

The loop would still be nice though...I'm using a Trinity tag to go after the Keywarden based on his position (inside a while statement that checks if he still exists).

It fires once, which is fine, but sometimes the bot gets stuck (especially in A3) and then it doesn't fire again. Not huge deal, just trying to understand the options available to me.

Thanks for the prompt response, I appreciate it!
 
You can get the ActorId/ActorSNO from the "Dump RActors" button on the Information tab - they will be output sorted ascending by distance. Pretty much all profiles are built with the information coming out of here.

I've been building profiles for a while and personally haven't used levelAreaId - but WorldId is very important to determine where you are in the game (in town, a specific dungeon, out in the "open world").

Hope that helps.

Yes it does, every little piece of info helps :) I will chk out the "Dump RActors", haven't heard of it before. Also getting that somethings are optional, and not required like levelAreaId.
 
Back
Top