mirror of
https://github.com/OTCv8/otclientv8.git
synced 2025-05-24 06:24:29 +02:00
59 lines
1.9 KiB
Lua
59 lines
1.9 KiB
Lua
-- example cavebot extension (remember to add this file to ../cavebot.lua)
|
|
CaveBot.Extensions.Example = {}
|
|
|
|
local ui
|
|
|
|
-- setup is called automaticly when cavebot is ready
|
|
CaveBot.Extensions.Example.setup = function()
|
|
ui = UI.createWidget('BotTextEdit')
|
|
ui:setText("Hello")
|
|
ui.onTextChange = function()
|
|
CaveBot.save() -- save new config when you change something
|
|
end
|
|
|
|
-- add custom cavebot action (check out actions.lua)
|
|
CaveBot.registerAction("sayhello", "orange", function(value, retries, prev)
|
|
local how_many_times = tonumber(value)
|
|
if retries >= how_many_times then
|
|
return true
|
|
end
|
|
say("hello " .. (retries + 1))
|
|
delay(250)
|
|
return "retry"
|
|
end)
|
|
|
|
-- add this custom action to editor (check out editor.lua)
|
|
CaveBot.Editor.registerAction("sayhello", "say hello", {
|
|
value="5",
|
|
title="Say hello",
|
|
description="Says hello x times",
|
|
validation="[0-9]{1,5}" -- regex, optional
|
|
})
|
|
end
|
|
|
|
-- called when cavebot config changes, configData is a table but it can also be nil
|
|
CaveBot.Extensions.Example.onConfigChange = function(configName, isEnabled, configData)
|
|
if not configData then return end
|
|
if configData["text"] then
|
|
ui:setText(configData["text"])
|
|
end
|
|
end
|
|
|
|
-- called when cavebot is saving config (so when CaveBot.save() is called), should return table or nil
|
|
CaveBot.Extensions.Example.onSave = function()
|
|
return {text=ui:getText()}
|
|
end
|
|
|
|
-- bellow add you custom functions to be used in cavebot function action
|
|
-- an example: return Example.run(retries, prev)
|
|
-- there are 2 useful parameters - retries (number) and prev (true/false), check actions.lua and example_functions.lua to learn more
|
|
CaveBot.Extensions.Example.run = function(retries, prev)
|
|
-- it will say text 10 times with some delay and then continue
|
|
if retries > 10 then
|
|
return true
|
|
end
|
|
say(ui:getText() .. " x" .. retries)
|
|
delay(100 + retries * 100)
|
|
return "retry"
|
|
end
|