//从文件加载字库
dm.SetPath "c:\123"//加载的目录
dm.SetDict 0, "123.txt"//加载的字库文件 从123目录加载的文件
Set dm = CreateObject("dm.dmsoft") //引入大漠插件
hWnd = dm.FindWindow("GAME", "神途") //窗口类名 窗口标题
dm.SetWindowState hWnd, 12 //12 : 恢复并激活指定窗口
dm.BindWindowEx hWnd, "dx", "windows", "windows", "dx.public.active.api", 0
//搞起
Call 初始化通用字库()
Call 初始化游戏选项()
a = dm.ocr(0, 0, GameW, GameH, "ffffff-000000", 1, 0)
TracePrint a
ExitScript //退出脚本
Function 初始化游戏选项()
dm.GetClientSize hWnd, GameW, GameH //获取窗口句柄 宽度 高度
End Function
Do
Call 生命_自动保护(1, 60, "1")
Call 魔法_自动保护(0, 60, 0)
Loop
/*
功能:执行一次保护监测
参数:
tpe 保护类型【1=数值 其他为百分比】
val 保护数值
key 触发按键
前提:
游戏窗口宽度变量 GameW GameH
通用字库初始化过
*/
Function 生命_自动保护(tpe, val, key)
Dim x1, y1, x2, y2, Text, HP, TempLng
//定位 orc 区域
y1 = GameH - 50
y2 = GameH - 24
x1 = 10
x2 = 90
//取字
Text = dm.Ocr(x1, y1, x2, y2, "ffffff-000000", 1, 0)
TracePrint Text
ExitScript
If InStr(Text, "/") Then
HP = Split(Text, "/")
Select Case tpe
Case 1//数值
If val < CLng(HP(0)) Then
dm.KeyPressChar CStr(key)
生命_自动保护 = True
End If
Case Else//百分比
TempLng = HP(0) / HP(1) * 100
If val < TempLng Then
dm.KeyPressChar CStr(key)
生命_自动保护 = True
End If
End Select
End If
End Function
Function 初始化通用字库()
dm.AddDict 0,"1F06718730640680D00B01600000000000000000180C01006008010030020070030000000C0180303FC0C018030000002007801F0038000000000000101C3C1E03E007800C000000000000183C7C08000000000087F0F8000000000000003E010040080200400C01C01E000000000000000180C01006008010030020067FFFFE000000000000040380C01006008010030060060070020000000003C00C000000000000080C03800C000000000000081E000000000201F06318330640680D00B00600000000000300600C0FF0300600C000000000000080300400801003002007800000000000180303FC0C01803000000000002018060180200400801801801C$文字$0.0.670$19"
End Function
09-01
10-17
2273