It's pretty immediate, takes 1-2sec after I open the "walker" and it crashes.
@DarkstaR, cant add attachments to this thread apparently, I just pasted my .xbst here: http://pastebin.com/tNWD978u
It's pretty immediate, takes 1-2sec after I open the "walker" and it crashes.
@DarkstaR, cant add attachments to this thread apparently, I just pasted my .xbst here: http://pastebin.com/tNWD978u
Thanks for the update.
It seems like the use on self option in the looter doesnt work.
whenever i loot something i've put to use self, the looter wont loot anything.
however if i set the bot to put it in a container it works
- Bought an 112 ek from watio @ xeno forums
client crashed switching characters. :O
this is the mino script im running that crashed going to try again just re dled but just incase here it is ---------------------------------
-----Yalahar Minos or Elves------
----By Xiaospike & Joshwa534-----
------------Enjoy!!!-------------
---------------------------------
--------- BP SETUP ----------
-- [BP 1] - Main
-- [BP 2] - Rares
-- [BP 3] - Products
-- [BP 4] - Gold
--------- DP SETUP ----------
-- [DP 1] - Rares
-- [DP 2] - Products
------ REFILL SETTINGS ------
local MinMana = 50 --- How many mana potions until you leave the hunt.
local MaxMana = 100 --- How many mana potions you begin the hunt with.
local MinHealth = 10 --- How many health potions until you leave the hunt.
local MaxHealth = 20 --- How many health potions you begin the hunt with.
local GoldBP = 8860 --- Item ID of your gold backpack.
local MinCap = 50 --- Leaves spawn when character reaches this cap.
local LogoutStamina = true --- Do you want to logout at 16 hours? (Inside the depot)
----- LOCATION SETTINGS -----
local Elves = false --- Do you want to hunt the Elves?
Targeting.Start()
Looter.Start()
--------------------------------------------------------------------
--------------------------------------------------------------------
--------------------------------------------------------------------
--------------------------------------------------------------------
--------------------------------------------------------------------
registerEventListener(WALKER_SELECTLABEL, "onWalkerSelectLabel")
print([[
Yalahar Minotaurs or Elves by Xiaospike & Joshwa534]])
wait(5000)
function onWalkerSelectLabel(labelName)
if (labelName == "checker1") then
Walker.ConditionalGoto((Self.ItemCount(268) <= MinMana) or (Self.Cap() < MinCap) or (Self.ItemCount(266) <= MinHealth) or ((LogoutStamina) and (Self.Stamina() < 840)), "leave1", "keepHunting1")
elseif (labelName == "checker2") then
Walker.ConditionalGoto((Self.ItemCount(268) <= MinMana) or (Self.Cap() < MinCap) or (Self.ItemCount(266) <= MinHealth) or ((LogoutStamina) and (Self.Stamina() < 840)), "leave2", "keepHunting2")
elseif (labelName == "checkHuntSpot") then
Walker.ConditionalGoto((Elves), "toElves", "toMinos")
elseif (labelName == "GotoTown") then
Walker.Goto("toTown")
elseif (labelName == "checkstuff") then
local ESTMana = (MaxMana-20)
Walker.ConditionalGoto((Self.ItemCount(268) < ESTMana) or (Self.ItemCount(266) < MaxHealth), "resupply", "tohunt")
elseif (labelName == "bank") then
local withdrawManas = math.max(MaxMana - Self.ItemCount(268), 0)*50
local withdrawHealths = math.max(MaxHealth - Self.ItemCount(266), 0)*45
local totalmoneyneeded = (withdrawManas + withdrawHealths)
local MATHCEIL = (math.ceil((totalmoneyneeded/1000)))*1000
Walker.Stop()
Self.SayToNpc({"hi", "deposit all", "yes"}, 65)
if (totalmoneyneeded > 0) then
Self.SayToNpc({"withdraw " .. MATHCEIL, "yes"}, 65)
end
wait(2000)
Walker.Start()
elseif (labelName == "deposit") then
Walker.Stop()
Self.ReachDepot()
Self.DepositItems({7438, 0}, {3073, 0}, {3037, 0}, {7401, 0}, {7425, 0}, {3082, 0})
Self.DepositItems({5922, 1},{5921, 1},{11473, 1},{11465, 1}, {3061, 1}, {237, 1}, {5878, 1}, {11472, 1}, {11464, 1}, {11482, 1}, {9635, 1}, {11451, 1}, {11483, 1})
if (LogoutStamina) and (Self.Stamina() < 960) then
Cavebot.Stop()
else
Walker.Start()
end
elseif (labelName == "potions") then
Walker.Stop()
if (Self.ItemCount(268) < MaxMana) or (Self.ItemCount(266) < MaxHealth) then
Self.SayToNpc({"hi", "flasks", "yes", "yes", "yes", "yes", "yes", "yes", "trade"}, 65)
wait(2000)
end
if (Self.ItemCount(268) < MaxMana) then
BuyItems(268, MaxMana)
wait(500)
end
if (Self.ItemCount(266) < MaxHealth) then
BuyItems(266, MaxHealth)
wait(500)
end
wait(200, 500)
Walker.Start()
elseif (labelName == "resetbp") then
Walker.Stop()
Container.Close(GoldBP)
wait(1000)
Container.GetFirst():OpenChildren(GoldBP)
wait(1000)
Container.GetByName(GoldBP):Minimize()
Walker.Start()
end
end
----------------------- Functions ----------------------
function SellItems(item) -- item = item ID
wait(300, 1700)
Self.ShopSellItem(item, Self.ShopGetItemSaleCount(item))
wait(900, 1200)
end
function BuyItems(item, count) -- item = item id, count = how many you want to buy up to
wait(900, 1200)
if (Self.ItemCount(item) < count) then
Self.ShopBuyItem(item, (count-Self.ItemCount(item)))
wait(200, 500)
end
end
Self.ReachDepot = function (tries)
local tries = tries or 3
Walker.Stop()
local DepotIDs = {3497, 3498, 3499, 3500}
local DepotPos = {}
for i = 1, #DepotIDs do
local dps = Map.GetUseItems(DepotIDs[i])
for j = 1, #dps do
table.insert(DepotPos, dps[j])
end
end
local function gotoDepot()
local pos = Self.Position()
print("Depots found: " .. tostring(#DepotPos))
for i = 1, #DepotPos do
location = DepotPos[i]
Self.UseItemFromGround(location.x, location.y, location.z)
wait(1000, 2000)
if Self.DistanceFromPosition(pos.x, pos.y, pos.z) >= 1 then
wait(5000, 6000)
if Self.DistanceFromPosition(location.x, location.y, location.z) == 1 then
Walker.Start()
return true
end
else
print("Something is blocking the path. Trying next depot.")
end
end
return false
end
repeat
reachedDP = gotoDepot()
if reachedDP then
return true
end
tries = tries - 1
sleep(100)
print("Attempt to reach depot was unsuccessfull. " .. tries .. " tries left.")
until tries <= 0
return false
end
Map.GetUseItems = function (id)
if type(id) == "string" then
id = Item.GetID(id)
end
local pos = Self.Position()
local store = {}
for x = -7, 7 do
for y = -5, 5 do
if Map.GetTopUseItem(pos.x + x, pos.y + y, pos.z).id == id then
itemPos = {x = pos.x + x, y = pos.y + y, z = pos.z}
table.insert(store, itemPos)
end
end
end
return store
end
My client also crashed when switching characters, but I don't think it's related with the bot, I had the same issue yesterday when I logged in before this was updated.
On a side note: Thank you @DarkstaR for all the hard work you put into this bot, it's appreciated.
Don't think that was the issue, I stood next to the npc and I also had Creature.Follow in others scripts which worked.
@DarkstaR, client no longer crashes right away with the minor patching but now i stumbled upon another error, I'll just retry and see if it's permanent or random.
Last edited by rustas; 04-06-2013 at 06:15 AM.
As told earlier, client no longer crashes when opening walker.
New error, with the same script, is when I start the bot and I tab to something else for more then ~30sec I get "Tibia Player has stopped working...".
However the bot is seems to still running in the background while I have this error msg because when I logged back on again my char had cleared several floors and looted some creature items and gp I did not see from the 'error-moment'.