mirror of
https://github.com/OTCv8/otclientv8.git
synced 2025-10-21 07:03:26 +02:00
Version 2.6.1
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
CaveBot.Extensions.Travel = {}
|
||||
|
||||
CaveBot.Extensions.Travel.setup = function()
|
||||
CaveBot.registerAction("Travel", "#00FFFF", function(value, retries)
|
||||
local data = string.split(value, ",")
|
||||
local waitVal = 0
|
||||
if #data < 2 or #data > 3 then
|
||||
warn("CaveBot[Travel]: incorrect travel value!")
|
||||
return false
|
||||
elseif #data == 3 then
|
||||
waitVal = tonumber(data[3]:trim())
|
||||
end
|
||||
|
||||
if not waitVal then
|
||||
warn("CaveBot[Travel]: incorrect travel delay value!")
|
||||
return false
|
||||
end
|
||||
|
||||
if retries > 5 then
|
||||
print("CaveBot[Travel]: too many tries, can't travel")
|
||||
return false
|
||||
end
|
||||
|
||||
local npc = getCreatureByName(data[1]:trim())
|
||||
if not npc then
|
||||
print("CaveBot[Travel]: NPC not found, can't travel")
|
||||
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
|
||||
|
||||
NPC.say("hi")
|
||||
schedule(waitVal, function() NPC.say(data[2]:trim()) end)
|
||||
schedule(2*waitVal, function() NPC.say("yes") end)
|
||||
delay(3*waitVal)
|
||||
print("CaveBot[Travel]: travel action finished")
|
||||
return true
|
||||
|
||||
end)
|
||||
|
||||
CaveBot.Editor.registerAction("travel", "travel", {
|
||||
value="NPC name, city",
|
||||
title="Travel",
|
||||
description="NPC name, City name, delay in ms(optional)",
|
||||
})
|
||||
end
|
Reference in New Issue
Block a user