脚本指南
写一段 Lua,
写一段 Lua,
让它替你重复操作
GreenTide 内置完整的 Lua 5.4 运行时,200+ API 覆盖输入、识别、宏库调用。多个脚本在独立运行态中执行、互不阻塞,每个脚本按自己的快捷键触发。
1快速开始
三分钟写完你的第一个脚本
打开脚本编辑器,新建脚本,粘贴下面的代码,保存并启用,绑定一个快捷键即可运行。
quick-start.lua
-- 设置输入模式(可选)
gt.set_input_mode("auto") -- auto/driver/virtual
-- 移动鼠标到屏幕中央并点击
local w, h = gt.get_screen_size()
gt.move(w / 2, h / 2) -- 统一移动函数
gt.sleep(100)
gt.click("left") -- 统一点击函数
-- 按键
gt.key("a") -- 按下并释放 A
gt.key("space", "down") -- 按下空格
gt.key("space", "up") -- 释放空格
-- 组合键
gt.combo("ctrl", "c") -- Ctrl+C
-- 输出日志
gt.log("操作完成!")
01
新建脚本
在脚本编辑器左侧点击「添加脚本」,给脚本起个名字,右侧编辑区支持语法高亮与自动补全。
02
保存并启用
写完代码点击「保存」,勾选启用框,再点击「同步脚本」把代码同步到执行引擎。
03
绑定快捷键运行
脚本按自己的快捷键触发,与普通映射、宏、预设的快捷键统一做冲突检查,冲突会提示保存失败。
统一输入 API(推荐)
- gt.key(key, action, driver)统一按键,支持 press/down/up
- gt.click(button, action, driver)统一鼠标点击
- gt.move(x, y, relative, driver)统一鼠标移动
- gt.combo(key1, key2, ...)组合键,如 Ctrl+C
- gt.text(text)输入文本
热键绑定
- gt.bind_hotkey(hotkey, cb)绑定热键,单次执行
- gt.bind_hotkey_loop(hotkey, cb, ms)绑定热键循环(Toggle)
- gt.stop_all_loops()停止所有循环
- gt.is_key_pressed(key)检查按键是否按下
取色与找图
- gt.check_color(x,y,r,g,b,tol)检查颜色是否匹配
- gt.check_colors(points)多点颜色组合判断
- gt.find_color(x,y,w,h,r,g,b,tol,step)区域内查找颜色
- gt.find_saved_image(name, region)调用视觉识别页保存的模板
宏与宏库
- gt.run_macro(hotkey)运行 GUI 绑定的宏
- gt.run_macro_by_name(name)按名称运行宏库中的宏
- gt.list_macro_library()列出宏库中所有宏
- gt.has_macro(hotkey)检查宏是否存在
延时与循环
- gt.sleep(ms)延时指定毫秒
- gt.sleep_random(min, max)随机延时
- gt.loop(count, interval, cb)循环调用;count=0 表示直到停止
驱动级操作
- gt.driver_enabled()检查驱动级是否启用
- gt.set_driver_type(type)切换驱动后端
- gt.driver_key_press(key)驱动级按键
- gt.driver_mouse_move(x, y)驱动级绝对移动
虚拟手柄 API
- gt.gamepad_available()检查虚拟手柄是否可用
- gt.gamepad_button(name, action)发送虚拟手柄按键
- gt.gamepad_press(name, ms)按下并释放
- gt.gamepad_reset()重置所有按键状态
多脚本共享变量
- gt.shared_set(key, value)设置共享变量
- gt.shared_get(key, default)读取共享变量
- gt.shared_incr(key, delta)原子递增
- gt.shared_clear(prefix)按前缀清空
3常用示例
拿来即用的三个片段
多点取色 · 全部匹配才执行动作
multi-point-color.lua
local ok = gt.check_colors({
{ x = 100, y = 200, r = 255, g = 80, b = 40, tolerance = 12 },
{ x = 120, y = 200, r = 250, g = 76, b = 38, tolerance = 12 },
})
if ok then
gt.key("f", "press")
end
调用视觉识别页保存的取色模板
saved-color-template.lua
if gt.check_saved_colors("技能可用") then
gt.key("1", "press")
gt.log("技能可用,已按 1")
end
循环执行:按键 + 找色 + 找图组合判断
loop-combo.lua
function tick()
local colorX, colorY = gt.find_color_region({ x = 900, y = 500, width = 240, height = 160 }, 255, 64, 64, 18, 4)
if colorX then
gt.move(colorX, colorY, false)
gt.click("left", "click")
return
end
local imageX, imageY = gt.find_saved_image("目标图标")
if imageX then
gt.mouse_move_smooth(imageX, imageY, 120)
gt.key_press("space")
return
end
gt.key("tab", "press")
gt.move(8, 0, true)
end
gt.loop(0, 80, "tick")
自动化编排与 Lua 脚本属于会员功能:免费模式可以查看入口与已有配置,但不能新建、保存、启用或运行。打码输入激活时,Lua 的鼠标键盘输出会自动等待,可用
gt.is_captcha_input_active() 主动查询状态。
需要查完整的函数签名?
27 个分类、150+ 函数,按模块整理成一份可以直接检索的完整参考。
脚本写完了,去装上引擎
2.0 与 Moon 3.0 均内置 Lua 5.4 运行时,选一个开始。