2021-04-09 19:01:18 +00:00

68 lines
1.6 KiB
Lua

CaveBot.Extensions.SellAll = {}
storage.sellAllCap = 0
CaveBot.Extensions.SellAll.setup = function()
CaveBot.registerAction("SellAll", "#C300FF", function(value, retries)
local val = string.split(value, ",")
local wait
if #val > 2 then
warn("CaveBot[SellAll]: incorrect sell all value!")
return false
end
if #val == 2 then
wait = true
else
wait = false
end
local npc = getCreatureByName(val[1])
if not npc then
print("CaveBot[SellAll]: NPC not found! skipping")
return false
end
if retries > 10 then
print("CaveBot[SellAll]: can't sell, skipping")
return false
end
if freecap() == storage.sellAllCap then
storage.sellAllCap = 0
print("CaveBot[SellAll]: Sold everything, proceeding")
return true
end
delay(800)
local pos = player:getPosition()
local npcPos = npc:getPosition()
if math.max(math.abs(pos.x - npcPos.x), math.abs(pos.y - npcPos.y)) > 3 then
CaveBot.walkTo(npcPos, 20, {ignoreNonPathable = true, precision=3})
delay(300)
return "retry"
end
if not NPC.isTrading() then
NPC.say("hi")
schedule(500, function() NPC.say("trade") end)
else
storage.sellAllCap = freecap()
end
NPC.sellAll(wait)
if #val == 2 then
print("CaveBot[SellAll]: Sold All with delay")
else
print("CaveBot[SellAll]: Sold All without delay")
end
return "retry"
end)
CaveBot.Editor.registerAction("sellall", "sell all", {
value="NPC",
title="Sell All",
description="Insert NPC name, and 'yes' if sell with delay ",
})
end