易语言调用大漠插件判断游戏是否在线

当游戏退出时, 我们要清除读取的信息,比如体力、生命值、内力值、经验值、等级、坐标等等,关键是如何判断游戏是否退出,这就用到了时钟,用FindWindows来检测游戏标题,找见标题说明游戏没有退出,否则已经退出,然后建立一个“在线”的全局变量,在线赋值1,退出赋值2,当然我们也可以检测游戏进程是否存在,来判断游戏是否在线。

第19课511遇见易语言大漠循环判断游戏是否在线

内力变化:

易语言调用大漠插件判断游戏是否在线_第1张图片

.版本 2

.子程序 内力变化, , , 显示角色的内力变化,通过时钟调用
.局部变量 str, 文本型
.局部变量 s_array, 文本型, , "0"
.局部变量 a, 双精度小数型
.局部变量 b, 双精度小数型
.局部变量 c, 双精度小数型
.局部变量 内力进度条句柄, 整数型

内力进度条句柄 = _启动窗口.进度条_内力.取窗口句柄 ()
.如果 (在线 = 1)
    str = dm.Ocr (385, 1, 481, 31, “ffffff-000000”, 1)
    .如果真 (取文本长度 (str) > 0)
        _启动窗口.标签_内力.标题 = str
        a = 到整数 (取文本左边 (str, 倒找文本 (str, “/”, , 假)))
        b = 到整数 (取文本右边 (str, 取文本长度 (str) - 倒找文本 (str, “/”, , 假)))
        _启动窗口.进度条_内力.位置 = 1000
        .如果 (a = b)
            _启动窗口.进度条_内力.位置 = 1000

        .否则
            c = (1 - 到数值 (a ÷ b)) × _启动窗口.进度条_内力.位置
            _启动窗口.进度条_内力.位置 = _启动窗口.进度条_内力.位置 - c

        .如果结束

        发送消息 (内力进度条句柄, 1033, 真, #蓝色)
    .如果真结束


.否则
    _启动窗口.标签_内力.标题 = “”
    _启动窗口.进度条_内力.位置 = 0

经验值变化:

易语言调用大漠插件判断游戏是否在线_第2张图片

.版本 2

.子程序 经验变化, , , 显示角色的经验变化,通过时钟调用
.局部变量 str, 文本型
.局部变量 s_array, 文本型, , "0"
.局部变量 a, 双精度小数型
.局部变量 b, 双精度小数型
.局部变量 c, 双精度小数型
.局部变量 经验进度条句柄, 整数型

经验进度条句柄 = _启动窗口.进度条_经验.取窗口句柄 ()
.如果 (在线 = 1)
    str = dm.Ocr (489, 1, 580, 28, “ffffff-000000”, 1)
    .如果真 (取文本长度 (str) > 0)
        a = 到整数 (取文本左边 (str, 倒找文本 (str, “%”, , 假) - 1)) ÷ 10000
        _启动窗口.标签_经验.标题 = 到文本 (100 × a) + “%”
        _启动窗口.进度条_经验.位置 = 1000
        c = a × _启动窗口.进度条_经验.位置
        _启动窗口.进度条_经验.位置 = c
        发送消息 (经验进度条句柄, 1033, 真, #黄褐)

    .如果真结束


.否则
    _启动窗口.标签_经验.标题 = “”
    _启动窗口.进度条_经验.位置 = 0

判断是否在线

易语言调用大漠插件判断游戏是否在线_第3张图片

易语言调用大漠插件判断游戏是否在线_第4张图片

.版本 2

.子程序 _时钟1_周期事件

账号密码写入组合框 ()
.如果 (dm.FindWindow (, “剑侠情缘·网络版”) ≠ 0)
    在线 = 1

.否则
    在线 = 0
.如果结束

体力变化 ()
生命变化 ()
内力变化 ()
经验变化 ()
判断游戏是否退出 ()

源码:易语言大漠循环判断游戏是否在线

 

你可能感兴趣的:(易语言,大漠,多线程)