What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[Beta] Demonbuddy beta builds

Status
Not open for further replies.
Well 405 is much better with Loot pickups and a few other things, do I have to search and replace the SafeMoveTo in all the files?

Yes, or you could just download revision 219 of the RiftBot profile. :)
 
While SafeMoveTo is a QT tag, MoveTo is a DB tag which can be less functional. I would advise not use MoveTo and stay with the old revisions/versions. I am investigating what's going on with 2.0.1's SMT.
 
While SafeMoveTo is a QT tag, MoveTo is a DB tag which can be less functional. I would advise not use MoveTo and stay with the old revisions/versions. I am investigating what's going on with 2.0.1's SMT.

Still none that can point me in an direction to where I can get 404? :D

404 worked ALOT better for bounties to...
 
@Nesox

As a dev of Demonbuddy maybe you could answer this.

Is there a way to distinguish two different rift maps of the same theme from eachother other than the coordinates of the entrance portal? I need this info for the RiftBot project.
 
New build up.

Changelog 406

  • API Changes
    • DefaultNavigationProvider, should no longer return PathGenerationFailed when changing worlds on the first MoveTo call, ( SafeMoveTo fixed ).

good! any plans to skip conversations between tyrael and imperius? first quest act5
 
You could check the worldId, it's in ZetaDia

@Nesox:

WorldId's seems to be fixed in rifts depending on what level of the rift you're on.

Level 1: 288454
Level 2: 288685
Level 3: 288687
Level 4: 288798
Level 5: 288800
Level 6: 288802
Level 7: 288804
Level 8: 288810
Level 9: 288814
Level 10: 288816

The only viable marker I've found to distinguish the difference between different variations of lets say a Catacombs map is the coordinates for the entrance portal. But on some maps the entrance portal is in the exact same coordinates even if the layout of the map is different.

Any other suggestions?
 
Press Alt+2 with diablo in the foreground with Demonbuddy attached

That is awesome news Nesox! If this pans out, I should be able to make waypoints for every rift level that needs it. Thanks for the swift response on this matter. :)
 
Your welcome :)

@Nesox:

Profiles doesn't seem to support WorldDynamicId or DynamicId. What would be the right tag to make it work in profiles?

I used:
<If condition="WorldDynamicId==2000748563">

Code:
[COLOR="#FF0000"]14:05:15.080 DEBUG IfTag Traceback (most recent call last):
  File "<string>", line 6, in Execute
NameError: global name 'WorldDynamicId' is not defined[/COLOR]
14:05:15.080 INFO  BotMain Stopping the bot.
14:05:15.080 INFO  BotMain Session lasted for: 00:00:00.0360556
14:05:15.081 DEBUG BotMain CurrentBot.Stop()
14:05:15.555 DEBUG BotMain Navigator.Clear()
14:05:15.555 DEBUG BotMain TreeHooks.Instance.ClearAll()
14:05:15.555 INFO  RoutineManager Chose Trinity as your combat routine
14:05:15.555 DEBUG TreeHooks Replaced hook [RoutineCombat] 09f39ba1-2051-4ef5-9277-4ce577ad2f42
14:05:15.565 DEBUG BotMain OnStop event
14:05:15.565 DEBUG BotMain OnStop Event Invoking
14:05:15.565 DEBUG ProfileOrderManager ProfileOrderManager.OnBotStop. Resetting caches.
14:05:15.565 DEBUG ProfileOrderManager Resetting current behavior.
[COLOR="#FF0000"]14:05:15.565 DEBUG BrainBehavior Exception during scheduling Pulse: IronPython.Runtime.UnboundNameException: global name 'WorldDynamicId' is not defined[/COLOR]
   at IronPython.Runtime.Operations.PythonOps.GetVariable(CodeContext context, String name, Boolean isGlobal, Boolean lightThrow)
   at IronPython.Compiler.LookupGlobalInstruction.Run(InterpretedFrame frame)
   at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
   at Microsoft.Scripting.Interpreter.LightLambda.Run1[T0,TRet](T0 arg0)
   at IronPython.Compiler.PythonCallTargets.OriginalCallTarget0(PythonFunction function)
   at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
   at _Scripting_(Object[] )
   at Zeta.Bot.Profile.Composites.IfTag.GetConditionExec()
   at Zeta.Bot.Profile.Composites.IfTag.get_IsDone()
   at Zeta.Bot.Profile.ProfileBehavior.get_IsDoneCache()
   at Zeta.Bot.ProfileOrderManager.(IEnumerable`1 )
   at Zeta.Bot.ProfileOrderManager.(IEnumerable`1 )
   at Zeta.Bot.ProfileOrderManager.UpdateCurrentBehavior()
   at Zeta.Bot.ProfileManager.UpdateCurrentProfileBehavior()
   at Zeta.Bot.Logic.OrderBot.(Object , EventArgs )
   at Zeta.Bot.Logic.BrainBehavior.()

I know It's in DB:
Code:
zeta.game.internals.gameworld.worlddynamicid
zeta.game.zetadia.currentworlddynamicID
 
Last edited:
<If condition="ZeraDia.WorldDynamicId==2000748563">

Thank you.

I'll try that. I also need to find out if map layouts and dynamicIDs are 1-to-1 mapped, but if they are, this is a slam dunk.

Edit:
It worked! Now I just need to figure out if WorldDynamicId equals map layout.
 
Last edited:
latest beta version doesnt work, crashes when i open it from a fresh installl.....my updated version of 394 works fine tho (thats now 406 through updater)
 
Thank you.

I'll try that. I also need to find out if map layouts and dynamicIDs are 1-to-1 mapped, but if they are, this is a slam dunk.

Edit:
It worked! Now I just need to figure out if WorldDynamicId equals map layout.

@Nesox:

Well, WorldDynamicId was a bust. I came over a Catacombs map and a Zoltun Archives map with the same WorldDynamicId value. I'm starting to think It's not possible to distinguish the maps from each other by any type of markers.. :/

Do you have any other suggestions? Like SceneId or somthing similar?
I don't think that is the answer either.

If the map is a wild-world map like fields of misery, the layout is static. Only the obstacles and event locations are randomized. If the map is a cave/dungeon, it is either a static one (cursed Tower) or pure random one (silver spire). The generation of silver spire is like stack toy bricks. It has several different types of huge box (with size of more than 100 yards). The layout/obstacles in the box are static. When generating the map, different numbers and types of these boxes are randomly selected and combined together. So that is the reason why it is possible that two different layouts share the same starting point.

This is the profile if you want to take a look at it:
View attachment RiftBot.zip
 
Last edited:
@Nesox:

Well, WorldDynamicId was a bust. I came over a Catacombs map and a Zoltun Archives map with the same WorldDynamicId value. I'm starting to think It's not possible to distinguish the maps from each other by any type of markers.. :/

Do you have any other suggestions? Like SceneId or somthing similar?
If SceneId is a valid way to distinguish maps, how would the <If condition= look like?

Try out some of these Oksehode --

ZetaDia.CurrentWorldDynamicId
ZetaDia.CurrentWorldId
ZetaDia.CurrentLevelAreaId
ZetaDia.Me.SceneId
ZetaDia.Me.CurrentScene.SceneInfo.SNOId
ZetaDia.Me.CurrentScene.SceneGuid
ZetaDia.Me.CurrentScene.SceneInfo.ApperanceSNO
ZetaDia.Me.CurrentScene.SceneInfo.PhysMeshSNO
 
Status
Not open for further replies.
Back
Top