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

Question about UseObject

Berend

New Member
Joined
Jul 26, 2012
Messages
22
Reaction score
0
Hey people,

I'm having some trouble with the UseObject tag in regards when using a portal. As far as I can tell in order to be able to use a portal you need something like:

Code:
<UseObject questId="1" x="1" y="2" z="3" actorId="somenumber" isPortal="True" destinationWorldId="somenumber" />

My problem is: what if the destinationWorldId is a random number? Is there a way to use a portal so that the bot doesnt care where it ends up? I want it to use a portal and once thru it should start exploring, not caring if destinationWorldId is 1, 2, 3 or 4

Can I use something like

Code:
destinationWorldId="somenumber" or="someOthernumber" or="whatever"

Or is there a special syntax for it?

Tried some stuff out but if I fiddle with it (leaving out the whole destinationWorldId argument) it loops going in and back out thru the portal. Or if I leave out isPortal or set it to False it wont use the portal at all. What am I missing or isnt this possible at all?

Sorry if this is a stupid question but still learning here :)
Tnx in advance for your help!

(PS did search the forum and took a look at the posts with all the Tags and their arguments but could not find anything that would solve my problem)
 
Same issue here. Are you trying to code the Cemetery as well? :)

I've scoured the forum and can't find anything either. I'm not sure if this is something that isn't DB related as I did see a few posts saying that it was wonky.

You already tried the one idea I had with using the OR syntax for the world ID's.

The only other idea I had was if there is the ability to blacklist that object for 10 seconds or something like that so it can move on to your next piece of code.

It's frustrating because if we can get this seemingly small issue resolved my profile is working great!
 
haha yea :)
It keeps randomizing the tombs in there wich gives a different worldID every time :)

And yep if (by chance) every ID matches my botroute it indeed works flawlessly.
Also tried to study demonbuddy.exe with VS to see if I can figure out something there but my knowledge is still lacking for that (damn I envy Giles!! :). Was thinking about some plugin to do it for us somehow...

In my mind I can piece it together what is needed but the coding grrrr

/goes back to study some more

[edit] also tried something with ifcondition but didnt work either. (was thinking well once it is thru the portal I can make 3 types of scripts that it runs depending on the worldID) but it seems it doesnt even check what the next step is in the script after it uses the portal. It seems once thru a portal the bots says "worldID must match, else I go back up!" and once back up it thinks "well... portal is here so might as well go thru" etc etc.
 
Last edited:
IF a successfull execution returns a value as opposed to a nonseccesfull execution returns a value, start with a 0'd out destinationWorldId=XXXXXX^y where y = integer length and write a condition statement that will incriment the world ID # by 1 for every unsuccesfull execution untill it is true. Something like
Code:
destinationWorldId= InitializedVariable(basevalue of a worldID
While <UseObject questId="1" x="1" y="2" z="3" actorId="somenumber" isPortal="True" destinationWorldId="//XXXXXXXX(InitializedVariable) = Base value of a worldID" /> = False
         InitializedVariable=(InitializedVariable+1)

I am relatively new to this forum but not necessarily this type of community. Just my 2cents. Cheers.
 
Last edited:
I think I understand what you mean but I dont think this would work. In order to be able to use an object as a portal the attribute isPortal is needed. And if you use isPortal a destinationWorlId must be given. And if worldId has a mismatch in what the bot detects and what is in the script two things might happen as far as I can tell:

1. Bot detects its not in the world it should be according to the script => Bot rereads the same scriptline => finds the actorId (since they are same no matter if you are in the tomb or just outside) => Bot uses portal again and finds himself outside again and detects again that the worldId doesnt match ==> loop in/out
2. Bot detects its not in the world it should be according to the script => Bot backtracks where it came from => Outside once again it retries the same action (UseObject) => loop in/out

Either way there is (as far as I can tell) not a method to break the loop and implement some kind of condition. This is my theory however. Someone with more experience or a Dev might be able to tell for sure what happens ofcoz (and pls correct me if needed)

Besides that should your method work (increment a variable WorlId string) it would mean for this script that tomb 1 and 2 would work. However the tomb in wich the crown and queststuff is, has a way higher Id number. So the bot would maybe need to go into the tomb 5000+ times before it would have "created" the right WorldId (wich if taken 2 seconds per try waittime (1000)x2 while going thru the portal and check) would mean 10000 seconds and that is.... well over 2 and a half hours trying :)

However thank you for your idea. Every idea is welcome in this or any problem I think!
 
What if you gather up all potential worldid's because I doubt they are random. Probably just a lot of them.
 
Back
Top