woainiren 发表于 2021-10-9 12:16

大侠帮忙弄下

FindColorEx 0,0,891,627,"461301|45301E",1,0.9,intX,intY
If intX> 0 And intY> 0 Then
    TracePrint "4图片被找到,坐标x=" & intX & ", 坐标y=" & intY
    MoveTo intX, intY
    Delay 500
    LeftDoubleClick 1
    Else
    TracePrint "图片没有被找到"
End If
Delay 500
FindPic 0,0,1024,768,"Attachment:\4.bmp",0.9,intX,intY
If intX> 0 And intY> 0 Then
    TracePrint "4图片被找到,坐标x=" & intX & ", 坐标y=" & intY
    MoveTo intX, intY
    Delay 500
    LeftDoubleClick 1
    Else
    TracePrint "图片没有被找到"
    Delay 500
End If
这是游戏杀怪的。问题是进入战斗中还一直在找色。能帮忙添加段点进战斗后就暂停找色,战斗结束后在重新找色吗。。。看网上的教程头晕了。。。

Homely 发表于 2021-10-9 12:29

本帖最后由 Homely 于 2021-10-9 12:32 编辑

要么设置变量   例如,定义一个变量Y先找战斗图片,若是在战斗图片的时候Y值赋值为1。每次找色是时候判断一下Y值即可,在程序最后直接把Y值归0。
最好是看一下我之前写的源码,https://www.52pojie.cn/thread-924979-1-1.html。把所有找图,找色函数的代码封装成模块,不然这样看着十分心累。

Dim y
y=0


FindPic 0,0,1024,768,"Attachment:\4.bmp",0.9,intX,intY
If intX> 0 And intY> 0 Then
    TracePrint "4图片被找到,坐标x=" & intX & ", 坐标y=" & intY
    MoveTo intX, intY
    Delay 500
    LeftDoubleClick 1
    y=1

    Else
    TracePrint "图片没有被找到"
    Delay 500
End If

if (y=0)
{

FindColorEx 0,0,891,627,"461301|45301E",1,0.9,intX,intYIf intX> 0 And intY> 0 Then
    TracePrint "4图片被找到,坐标x=" & intX & ", 坐标y=" & intY
    MoveTo intX, intY
    Delay 500
    LeftDoubleClick 1
    Else
    TracePrint "图片没有被找到"
End If
Delay 500
}
y=0


这样应该是可以使用,就是可观性,可阅读性 极其差

huiye123 发表于 2021-10-9 13:25

这个是Lua 脚本吗?好久没写了

vtor 发表于 2021-10-9 13:39

标题能清晰些吗

weliong 发表于 2021-10-9 14:38

这简单啊,你找一个进入战斗和未战斗状态,界面独特区别图。然后在这段代码的最外层加个找图判断,就可以啦!

最先找这个图,找到了,再执行你现在这段找图代码。如果,找不到,就不再找图,说明已经进入战斗中。。。

wanghao6912 发表于 2021-10-9 15:07

先找色,找到颜色,标记进入战斗状态,然后找图,战斗完毕,结束战斗状态,继续找颜色
页: [1]
查看完整版本: 大侠帮忙弄下