xyaxy001 发表于 2024-7-30 10:17:37

求助:用IsVisible()函数检测窗口是否存在时报错

SF中有装备回收系统,我用Bee做了个判定,当回收界面打开时,自动点击回收按钮:
if CategoryButton1:IsVisible() then
BeeRun("/Click CategoryButton1")
end

但当角色第一次登录游戏的时候,由于没有打开过回收界面,所以会报错 CategoryButton1 不存在,
而当我打到装备了,打开了回收界面以后,才不会报错。


那么有没有什么办法可以跳过这个报错呢?求大佬解答~

lbabey 发表于 2024-7-30 12:18:35

这个按钮应该是 SF插件形成的,
我能想到的就是这样
function ooxx()
   
    if CategoryButton1:IsVisible() then
      print("按钮存在")
    end
end

xyaxy001 发表于 2024-7-30 20:19:39

lbabey 发表于 2024-7-30 12:18 PM
这个按钮应该是 SF插件形成的,
我能想到的就是这样
function ooxx()

function hs()
    if CategoryButton1:IsVisible() then
      BeeRun("/click CategoryButton1")
    end
end

这样怎么调用呢,求大佬指教

lbabey 发表于 2024-7-30 20:34:21

本帖最后由 lbabey 于 2024-7-30 10:25 PM 编辑

好像有点不对劲

有这个按钮后再调用,要不是还是报错

起码能保存了
水平不够直接帮到这了

if xxx then
hs()
end

xxx 必须出现按钮,要不报错了

z22904220 发表于 2024-7-30 22:53:54

类似这样问题可以在前面加个判断
if CategoryButton1~=nil then
    if CategoryButton1:IsVisible() then
      BeeRun("/Click CategoryButton1")
    end
end

lbabey 发表于 2024-7-31 00:27:36

z22904220 发表于 2024-7-30 10:53 PM
类似这样问题可以在前面加个判断
if CategoryButton1~=nil then
    if CategoryB ...

你说的有道理{:5_129:}

xyaxy001 发表于 2024-8-7 10:24:18

z22904220 发表于 2024-7-30 10:53 PM
类似这样问题可以在前面加个判断
if CategoryButton1~=nil then
    if CategoryB ...

大佬厉害
不过鉴于 ~= 导出后会有问题,所以我把 CategoryButton1~=nil 想改成 not CategoryButton1==nil ,结果居然报错,我懵了:dizzy:

z22904220 发表于 2024-9-30 12:13:15

xyaxy001 发表于 2024-8-7 10:24 AM
大佬厉害
不过鉴于 ~= 导出后会有问题,所以我把 CategoryButton1~=nil 想改成 not CategoryButton1==ni ...

喜欢研究这玩意,没事可以多交流

starpt 发表于 2024-11-8 14:28:04

if CategoryButton1 and CategoryButton1:IsVisible() then
BeeRun("/Click CategoryButton1")
end
这样不就好了?
页: [1]
查看完整版本: 求助:用IsVisible()函数检测窗口是否存在时报错