plijyg 发表于 2026-5-3 21:30:11

lua小地图点击事件

我想做一个小地图点击传送功能,现在出现的问题是我在Minimap.lua这个文件找不道左键或右键点击函数类似OnLButtonDown,开发文档也没搜到类似的函数,请教一下是先要注册监听事件?GUI:addMouseButtonEvent 这样?总之没找到文档,很困扰

alan 发表于 2026-5-7 13:50:01


-- 右键传送
      local function mouseRightDown()
            local mmapSize= {width = MiniMap._miniMapWid, height = MiniMap._miniMapHei}
            local mousePos= SL:GetValue("MOUSE_MOVE_POS")
            local nodePos   = GUI:convertToNodeSpace(MiniMap._panelTouch, mousePos.x, mousePos.y)
            local sliceRows = SL:GetValue("MAP_ROWS")
            local sliceCols = SL:GetValue("MAP_COLS")
            if sliceRows and sliceCols then
                local mmapPosX= math.ceil((nodePos.x / mmapSize.width) * sliceCols)
                local mmapPosY= math.ceil((1-(nodePos.y / mmapSize.height)) * sliceRows)
                local msg = string.format("okmove %s %s", mmapPosX, mmapPosY)
                SL:RequestSendChatGMMsg(msg)
            end
      end
      GUI:addMouseButtonEvent(
            MiniMap._panelTouch,
            {
                onRightDownFunc = mouseRightDown,
            }
      )

LarisaPaymn 发表于 2026-5-7 14:48:47

I'm so grateful!

Huge thanks!

plijyg 发表于 2026-5-7 19:25:50

本帖最后由 plijyg 于 2026-5-7 19:27 编辑

alan 发表于 2026-5-7 13:50
-- 右键传送
      local function mouseRightDown()
            local mmapSize= {width = MiniMap. ...
Minimap.lua 这个文件已经自带了右键传送功能? 我试了一下不好用,是不是有个用户命令 “okmove” 要加入Qfunction.lua这个文件

alan 发表于 2026-5-7 19:40:22

本帖最后由 alan 于 2026-5-7 19:42 编辑

plijyg 发表于 2026-5-7 19:25
Minimap.lua 这个文件已经自带了右键传送功能? 我试了一下不好用,是不是有个用户命令 “okmove” 要加入 ...
这个功能是 传送戒指的功能,   如果你想要所有人都可以用 1,你添加个自定义命令 2,你就把这个传送取消发一条消息带坐标 给后端后端去处理传送

plijyg 发表于 2026-5-7 20:04:39

alan 发表于 2026-5-7 19:40
这个功能是 传送戒指的功能,   如果你想要所有人都可以用 1,你添加个自定义命令 2,你就把这个传送取消发 ...

好的感谢
页: [1]
查看完整版本: lua小地图点击事件