Amarthalion Raigar
New Member
- Joined
- Nov 7, 2015
- Messages
- 8
- Reaction score
- 0
Hi there,
As I wasn't satisfied with the current CollectItemsAtFarm() method, I tried to implement my own one :
- CollectItemsAtFarm() don't "pick" items (like thunderstruck trees)
- when items are on higher ground, the bot just keep on bumping on the cliff, like a retard
I managed to handle the "pick" problem by using the UseDoodadSkill() method on each item instead of CollectItemsAtFarm()
And I kinda managed to handle the cliff problem by implementing my own ComeTo method, using the glider (when the bot is struck) to climb the cliff
Now the only remaining problem is that I randomly get this kind of exception :
System.Runtime.Remoting.RemotingException : Object '/2fa53226_da41_42ba_b185_ec7d9c454712/ygiw+xfegmkhdinj7g2kpkhc_7.rem' has been disconnected or does not exist at the server. at ArcheBuddy.Bot.Classes.SpawnObject.get_X()
Technical explanation on this error => This is because the Lifetime management on the server side disconnects the object when its lease expires, to allow GC to collect it. If you try to use it from the client side, you will get an Exception, even if it has not been GC'd on the server yet (e.g. because there still is another reference to it) but the lease has expired. This is to avoid unpredictable behaviour.
So, the longer the delay beetween the getDoodads() method call and the UseDoodadSkill() method call, and the higher the chances to get this exception
I want to avoid to be forced to scan all the doodads everytime I want to collect just one (I don't know if this request is local only or sent to the server) : it would be the same as asking for a ban :s
ATM, I even get this Exception when I try to collect 25 doodads on a gazebo which take less than 1 minute...
It seems weird that the lifetime of the AB proxies are this short
Has someone already experienced this kind of Exception and found a way to gracefully deal with it ?
Or at least some way to understand why or when this kind of Exception is raised, to be able to implement a workaround by myself
As I wasn't satisfied with the current CollectItemsAtFarm() method, I tried to implement my own one :
- CollectItemsAtFarm() don't "pick" items (like thunderstruck trees)
- when items are on higher ground, the bot just keep on bumping on the cliff, like a retard
I managed to handle the "pick" problem by using the UseDoodadSkill() method on each item instead of CollectItemsAtFarm()
And I kinda managed to handle the cliff problem by implementing my own ComeTo method, using the glider (when the bot is struck) to climb the cliff
Now the only remaining problem is that I randomly get this kind of exception :
System.Runtime.Remoting.RemotingException : Object '/2fa53226_da41_42ba_b185_ec7d9c454712/ygiw+xfegmkhdinj7g2kpkhc_7.rem' has been disconnected or does not exist at the server. at ArcheBuddy.Bot.Classes.SpawnObject.get_X()
Technical explanation on this error => This is because the Lifetime management on the server side disconnects the object when its lease expires, to allow GC to collect it. If you try to use it from the client side, you will get an Exception, even if it has not been GC'd on the server yet (e.g. because there still is another reference to it) but the lease has expired. This is to avoid unpredictable behaviour.
So, the longer the delay beetween the getDoodads() method call and the UseDoodadSkill() method call, and the higher the chances to get this exception
I want to avoid to be forced to scan all the doodads everytime I want to collect just one (I don't know if this request is local only or sent to the server) : it would be the same as asking for a ban :s
ATM, I even get this Exception when I try to collect 25 doodads on a gazebo which take less than 1 minute...
It seems weird that the lifetime of the AB proxies are this short
Has someone already experienced this kind of Exception and found a way to gracefully deal with it ?
Or at least some way to understand why or when this kind of Exception is raised, to be able to implement a workaround by myself
Last edited: