View Full Version : XenoBot Bug - Non-Issue [Other] Depositing function bug
maroxy
05-06-2015, 04:49 PM
Bug Report
Operating System:
Other
Short Description:
Depositing function bug
Behaviors:
Feature error
Indepth Description:
Hello!
Today we found out a problem regarding XenoBot depositer.
All works well when It has deposited the first backpack but when it closes and "browse field" the suposed depot tile, it browses in a random near location.
https://www.youtube.com/watch?v=9mAFM10gw4w&feature=youtu.be
Here the video.
Thanks
shadowart
05-06-2015, 05:19 PM
Are you calling Self.DepositItems twice? I don't get why it would otherwise try to browse field after depositing to the first backpack.
maroxy
05-06-2015, 05:22 PM
Are you calling Self.DepositItems twice? I don't get why it would otherwise try to browse field after depositing to the first backpack.
Yes, my scripts works this way.
Could it be a problem?
shadowart
05-06-2015, 05:40 PM
On the first call the locker will be opened by a use command. On the second call it will instead be opened by Self.OpenLocker which does a browse field on the square in front of your character.
This is the code that determines witch square to do browse field on:
-- Depot position (defaults to look pos)
local depotPos = Self.LookPos(1)
-- Detect entry
local pos = Self.Position()
local adjacentWalkableTiles = Map.GetWalkableTiles(pos, 1)
if adjacentWalkableTiles and adjacentWalkableTiles[1] then
local entryPos = adjacentWalkableTiles[1]
depotPos = getPositionFromDirection(pos, Map.GetDirectionTo(entryPos, pos), 1)
end
Probably one of the functions involved doesn't work on Hexera. Either way I'm damned sure that this is an OT only problem.
maroxy
05-06-2015, 06:21 PM
On the first call the locker will be opened by a use command. On the second call it will instead be opened by Self.OpenLocker which does a browse field on the square in front of your character.
This is the code that determines witch square to do browse field on:
-- Depot position (defaults to look pos)
local depotPos = Self.LookPos(1)
-- Detect entry
local pos = Self.Position()
local adjacentWalkableTiles = Map.GetWalkableTiles(pos, 1)
if adjacentWalkableTiles and adjacentWalkableTiles[1] then
local entryPos = adjacentWalkableTiles[1]
depotPos = getPositionFromDirection(pos, Map.GetDirectionTo(entryPos, pos), 1)
end
Probably one of the functions involved doesn't work on Hexera. Either way I'm damned sure that this is an OT only problem.
Gonna test.
But its hilarious because its working with the other depots.
Gonna test.
But its hilarious because its working with the other depots.
So its working? :/
shadowart
07-11-2015, 08:10 PM
My theory is that it defaults to south whenever it cannot detect the location of the locker and that's why it worked the second time in the video. In practice the "bug" effect scripts that either use the built in ReachDepot waypoint or multiple calls to Self.DepositItems or withdraws items.
Dzihado
08-11-2015, 01:35 AM
Hey i found out fix to this at least on my Solid Scripts port hope swamp trolls http://www.solid-scripts.com/knight-scripts/10-k-port-hope-swamp-trolls/
i added another "SolidScripts.ReachDepot()"
Before
elseif(label == "Deposit") then
SolidScripts.ReachDepot()
Self.DepositItems({12517, 0})
Self.DepositItems({9686, 1})
After
elseif(label == "Deposit") then
SolidScripts.ReachDepot()
Self.DepositItems({12517, 0})
SolidScripts.ReachDepot()
Self.DepositItems({9686, 1})
Now he is looking for another locker everytime he is depositing items to another backpack.
DarkstaR
08-11-2015, 09:51 AM
This happens when you deposit items from your main backpack. The bot decides "hey, I deposited stuff from here, so I should recurse into further backpacks and deposit stuff from them, too." However, since it's your main backpack, it opens the last backpack, which is already open, so it gets closed.
Fix your backpack setup.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.