mirror of
https://github.com/OTCv8/otclientv8.git
synced 2025-05-07 14:29:20 +02:00
72 lines
2.1 KiB
Lua
72 lines
2.1 KiB
Lua
CaveBot.Extensions.Bank = {}
|
|
|
|
CaveBot.Extensions.Bank.setup = function()
|
|
CaveBot.registerAction("bank", "#00FFFF", function(value, retries)
|
|
local data = string.split(value, ",")
|
|
local waitVal = 300
|
|
local amount = 0
|
|
local actionType
|
|
local npcName
|
|
if #data ~= 3 and #data ~= 2 then
|
|
warn("CaveBot[Bank]: incorrect value!")
|
|
return false
|
|
else
|
|
actionType = data[1]:trim():lower()
|
|
npcName = data[2]:trim()
|
|
if #data == 3 then
|
|
amount = tonumber(data[3]:trim())
|
|
end
|
|
end
|
|
|
|
if actionType ~= "withdraw" and actionType ~= "deposit" then
|
|
warn("CaveBot[Bank]: incorrect action type! should be withdraw/deposit, is: " .. actionType)
|
|
return false
|
|
elseif actionType == "withdraw" then
|
|
local value = tonumber(amount)
|
|
if not value then
|
|
warn("CaveBot[Bank]: incorrect amount value! should be number, is: " .. amount)
|
|
return false
|
|
end
|
|
end
|
|
|
|
if retries > 5 then
|
|
print("CaveBot[Bank]: too many tries, skipping")
|
|
return false
|
|
end
|
|
|
|
local npc = getCreatureByName(npcName)
|
|
if not npc then
|
|
print("CaveBot[Bank]: NPC not found, skipping")
|
|
return false
|
|
end
|
|
|
|
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 actionType == "deposit" then
|
|
NPC.say("hi")
|
|
schedule(waitVal, function() NPC.say("deposit all") end)
|
|
schedule(waitVal*2, function() NPC.say("yes") end)
|
|
CaveBot.delay(waitVal*3)
|
|
return true
|
|
else
|
|
NPC.say("hi")
|
|
schedule(waitVal, function() NPC.say("withdraw") end)
|
|
schedule(waitVal*2, function() NPC.say(value) end)
|
|
schedule(waitVal*3, function() NPC.say("yes") end)
|
|
CaveBot.delay(waitVal*4)
|
|
return true
|
|
end
|
|
end)
|
|
|
|
CaveBot.Editor.registerAction("bank", "bank", {
|
|
value="action, NPC name",
|
|
title="Banker",
|
|
description="action type(withdraw/deposit), NPC name, if withdraw: amount",
|
|
})
|
|
end |