mridontevenknowu
New Member
- Joined
- Jun 13, 2012
- Messages
- 229
- Reaction score
- 0
Thank you Nesox!
Your example is missing an apostrophe.
WaitWhile Tag.
Attributes
- Makes the bot wait while a certain condition is being fulfilled
- "condition" - The condition to use [required]
Example Usage.
PHP:<WaitWhile questId="1" condition="not Me.IsInTown />
Hey Nesox I know you work hard on this bot and you just took on the questing profiles and I very much appreciate both. I was hoping you could make a habit out of keeping this up to date and maybe adding a section for the different condition's that can be used. I've noticed there have been new attributes added lately to some tags in the Beta version that don't reflect in this page. Once again I hope I'm not coming off as rude or demanding wish I could add inflection to typed messages.
Conditions:
ZetaDia.CurrentWorldId
ZetaDia.CurrentLevelAreaId
ZetaDia.CurrentSceneId
not Me.IsInTown
Me.IsInTown
MarkerExistAt(Marker Hash X,Y,Z,Radius)
ActorExistAt
IsActiveQuestStep(XX)
Hi Mr.
I believe you can actually use any available static property, field, or method that's in the Zeta namespace that can be evaluated to a boolean expression. Things like:
ZetaDia.Me.ActorSNO.IsValid (not really usefull.. )
ZetaDia.CurrentActSNOId == 70016 (Are we in Act 2?)
Zeta.CommonBot.GameStats.Instance.DeathsPerHour > 20 (DPH too high, lets change profiles...)
etc, etc.
The built in conditional functions available are (I believe) limited to IsActiveQuest(), IsActiveQuestStep(), ActorExistsAt(), MarkerExistsAt(), as you have found.
Does this help or did I just confuse you more?![]()
<LoadProfile profile="example.xml" />
<LeaveGame reason="Run is done" />
<LoadProfile profile="example.xml" exitgame="true"/>
<TrinityLoadProfile file="_START_HERE.xml" exit="true" />
<LoadProfile profile="START_HERE.xml" leaveGame="True" />
<LoadProfile loadRandom="True">
<Profiles>
<Profile>1.xml</Profile>
<Profile>2.xml</Profile>
</Profiles>
</LoadProfile>
<LoadProfile profile="1.xml;2.xml" loadRandom="True" />
<ExploreArea questId="x" stepId="x" boxTolerance="x" boxSize="x" until="ExitFound" exitNameHash="x" statusText="x" />
<ExploreArea questId="x" stepId="x" boxTolerance="x" boxSize="x" until="ObjectFound" exitNameHash="x" statusText="x" />
<!-- Exploring Keep Depths Level 1 Area -->
<If condition="ZetaDia.CurrentWorldId == 93104">
<ExploreArea questId="1" boxTolerance="0.45" boxSize="20" until="ObjectFound" actorId="6442" />
<!-- Using Portal To Keep Depths Level 2 -->
<UseObject questId="1" stepId="1" actorId="175482" isPortal="True" destinationWorldId="75434" />
</If>
<WaitWhile questId="1" condition="not Me.IsInTown" /> (was also missing a ")
Just wanted to correct on this, must be new db versions will not work with this syntax, it needs to be...
<WaitWhile questId="1" condition="not (Me.IsInTown)" /> or db just skips over it you can check this by using both lines and putting a log message contained within next line statement and you will see not Me.IsInTown is skipped every time if not in () during a 'not'
"not" doesn't work - the only way I've found to do this, is to condition="CurrentLeaveAreaId != 01234" - with the level area Id of the town you're in.