本帖最后由 爱上老公 于 2015-3-6 04:20 编辑  
 
自动打怪红蓝,功能简单,大神勿喷! 
 
 
空间 完美世界国际版2辅助 
变量 dm 
dm=com("dm.dmsoft") 
窗口句柄 
线程句柄 
 
功能 初始化() 
    dm=com("dm.dmsoft") 
    是否成功=辅助.注册插件("rc:dm.dll",真) 
    如果(!是否成功) 
        辅助.消息框("插件注册失败!") 
    否则 
        // dm.setpath(辅助.获取资源路径("rc:")) 
        路径=辅助.获取资源路径("rc:") 
        窗口句柄 = dm.FindWindow("","完美世界国际版2")  
        dm_ret = dm.BindWindow(窗口句柄,"normal","normal","normal",0) 
    如果结束  
功能结束 
 
功能 获取键码(按键)//设置打怪红蓝键码 
    键值=-1 
    选择(按键) 
        条件 "F1": 
        键值=112 
        条件 "F2": 
        键值=113 
        条件 "F3": 
        键值=114 
        条件 "F4": 
        键值=115 
        条件 "F5": 
        键值=116 
        条件 "F6": 
        键值=117 
        条件 "F7": 
        键值=118 
        条件 "F8": 
        键值=119 
        条件 "F9": 
        键值=120 
        条件 "0": 
        键值=48 
        条件 "1": 
        键值=49 
        条件 "2": 
        键值=50 
        条件 "3": 
        键值=51 
        条件 "4": 
        键值=52 
        条件 "5": 
        键值=53 
        条件 "6": 
        键值=54 
        条件 "7": 
        键值=55 
        条件 "8": 
        键值=56 
        条件 "9": 
        键值=57 
    选择结束 
    返回 键值 
功能结束 
 
功能 加红蓝打怪() 
    s1,m1,s2,m2,加血数,加蓝数,a,b,c,d,e,原始血量,系数n 
    加血灵药键码=完美世界国际版2辅助.获取键码(下拉框.获得内容("下拉框1",下拉框.得到选项("下拉框1"))) 
    加血技能键码=完美世界国际版2辅助.获取键码(下拉框.获得内容("下拉框2",下拉框.得到选项("下拉框2"))) 
    加蓝灵丹键码=完美世界国际版2辅助.获取键码(下拉框.获得内容("下拉框3",下拉框.得到选项("下拉框3"))) 
 
    dm.setpath(辅助.获取资源路径("rc:")) 
    dm_ret1 = dm.SetDict(0,"数字1.txt") 
    辅助.等待(500) 
    s2 = dm.Ocr(184,38,213,51,"ffffff-000000",1.0)//找人物总血量 
    m2 = dm.Ocr(172,53,198,66,"ffffff-000000",1.0)//找人物总蓝量 
    内容1=编辑框.获得文本("编辑框0")//设置加血百分比 
    内容2=编辑框.获得文本("编辑框1")//设置加蓝百分比 
    //调试输出(s2) 
    如果(内容1=="") 
        编辑框.设置文本("编辑框0","80")//如果没有设置,脚本默认百分之80 
    如果结束 
    如果(内容2=="") 
        编辑框.设置文本("编辑框1","80")//如果没有设置,脚本默认百分之80 
    如果结束 
    循环(真) 
        辅助.等待(500) 
        s1 = dm.Ocr(147,36,180,53,"ffffff-000000",1.0)//找打怪的时候的当前血量 
        辅助.等待(50) 
        当前血量=类型.转整型(s1) 
        原始血量=类型.转整型(s2) 
        加血数=类型.转整型(编辑框.获得文本("编辑框0"))/100*原始血量 
        //调试输出(s1) 
 
        如果(当前血量-加血数<=0) 
            dm.KeyPress(加血灵药键码) 
            dm.KeyPress(加血技能键码) 
            辅助.等待(100) 
        否则 
            完美世界国际版2辅助.打怪() 
        如果结束//下面是界面显示人物血量和蓝量模拟血条的实现,主要用到控件控件设置位置 
        m1 = dm.Ocr(139,54,167,64,"ffffff-000000",1.0)//找打怪的时候的当前蓝量 
        辅助.等待(50) 
        当前蓝量=类型.转整型(m1) 
        原始蓝量=类型.转整型(m2) 
        加蓝数=类型.转整型(编辑框.获得文本("编辑框1"))/100*原始蓝量 
        如果(当前蓝量-加蓝数<=0) 
            dm.KeyPress(加蓝灵丹键码) 
            辅助.等待(100) 
        如果结束 
        系数n=类型.取整((原始血量+原始蓝量)/275) 
        a=类型.取整(原始血量/系数n) 
        b=类型.取整(当前血量/系数n) 
        c=类型.取整(原始蓝量/系数n) 
        d=类型.取整(当前蓝量/系数n) 
        e=a+c 
        控件.设置位置("分组框0",4,172,e,10,2)  
        控件.设置位置("标签0",4,172,b,10,0) 
 
        控件.设置位置("标签1",a+4,172,d,10,0) 
    循环结束 
功能结束 
 
//下面是刷新怪物,截图找图,3个图要不相同才截取 
功能 按钮0_点击() 
    图片X坐标,图片Y坐标,图像序号 
    图片X1坐标,图片Y1坐标,图像序号1 
    图片X2坐标,图片Y2坐标,图像序号2 
    文件.删除("D:\\11.bmp") 
    辅助.等待(50) 
    文件.删除("D:\\12.bmp") 
    辅助.等待(50) 
    文件.删除("D:\\13.bmp") 
    辅助.等待(50) 
    窗口句柄 = dm.FindWindow("","完美世界国际版2") 
    窗口.置顶(窗口句柄,真)  
 
    辅助.等待(2000) 
    dm.KeyPress(9) 
    辅助.等待(500) 
    dm_ret2 = dm.Capture(634,47,728,67,"D:\\11.bmp") 
    辅助.等待(500) 
    图片框.设置图片("图片框0","D:\\11.bmp") 
 
    遍历(5) 
        是否存在 
        辅助.等待(500) 
        图像序号 = dm.FindPic(560,30,776,91,"D:\\11.bmp","000000",0.9,0,图片X坐标,图片Y坐标) 
        如果(图片X坐标<0) 
            dm_ret3 = dm.Capture(634,47,728,67,"D:\\12.bmp") 
            辅助.等待(500) 
            图片框.设置图片("图片框1","D:\\12.bmp") 
            辅助.等待(300) 
        否则 
            dm.KeyPress(9) 
            辅助.等待(300) 
        如果结束 
        是否存在=文件.是否存在("D:\\12.bmp") 
        如果(是否存在) 
            跳出 
        如果结束    
    遍历结束 
 
    遍历(5) 
        是否存在1 
        辅助.等待(500) 
        图像序号1 = dm.FindPic(593,19,753,97,"D:\\11.bmp","000000",0.9,0,图片X1坐标,图片Y1坐标) 
        图像序号2 = dm.FindPic(593,19,753,97,"D:\\12.bmp","000000",0.9,0,图片X2坐标,图片Y2坐标) 
        如果(图片X1坐标<0&&图片X2坐标<0) 
            dm_ret4 = dm.Capture(634,47,728,67,"D:\\13.bmp") 
            辅助.等待(500) 
            图片框.设置图片("图片框2","D:\\13.bmp") 
            辅助.等待(300) 
        否则 
            dm.KeyPress(9) 
            辅助.等待(300) 
        如果结束 
        是否存在1=文件.是否存在("D:\\13.bmp") 
        如果(是否存在1) 
            跳出 
        如果结束 
    遍历结束 
 
功能结束 
//下面是单选框指定打怪,找图命令 
功能 打怪() 
    图片X坐标,图片Y坐标,图像序号 
    图片X1坐标,图片Y1坐标,图像序号1 
    图片X2坐标,图片Y2坐标,图像序号2 
    如果(单选框.获得状态("单选框0")) 
        图像序号 = dm.FindPic(593,19,753,97,"D:\\11.bmp","000000",1.0,0,图片X坐标,图片Y坐标)  
        如果(图片X坐标>0) 
            完美世界国际版2辅助.打怪步骤() 
        否则 
            dm.KeyPress(9) 
        如果结束 
    如果结束 
 
    如果(单选框.获得状态("单选框1")) 
        图像序号1 = dm.FindPic(593,19,753,97,"D:\\12.bmp","000000",1.0,0,图片X1坐标,图片Y1坐标)  
        如果(图片X1坐标>0) 
            完美世界国际版2辅助.打怪步骤() 
        否则 
            dm.KeyPress(9) 
        如果结束 
    如果结束 
 
    如果(单选框.获得状态("单选框2")) 
        图像序号2 = dm.FindPic(593,19,753,97,"D:\\13.bmp","000000",1.0,0,图片X2坐标,图片Y2坐标) 
        如果(图片X2坐标>0) 
            完美世界国际版2辅助.打怪步骤() 
        否则 
            dm.KeyPress(9) 
        如果结束 
    如果结束 
功能结束 
//遇到法术抵抗的怪按键7,否则按键1,找图 
功能 打怪步骤() 
    图像序号,图片X坐标,图片Y坐标 
    打怪技能键码=完美世界国际版2辅助.获取键码(下拉框.获得内容("下拉框0",下拉框.得到选项("下拉框0"))) 
    图像序号 = dm.FindPic(585,66,738,114,"D:\\法术抵抗.bmp","000000",0.9,0,图片X坐标,图片Y坐标) 
    如果(图片X坐标>0) 
        dm.KeyPress(55)//7放技能 
        辅助.等待(3000)   
    否则 
        dm.KeyPress(打怪技能键码) 
        辅助.等待(3000) 
    如果结束 
功能结束  
//获取系统时间 
功能 定时器0_时钟() 
    时间=系统.时间(3) 
    标签.设置文本("标签8",字符串.连接(类型.转字符型(时间),"正在挂机!")) 
功能结束 
//启动设置,下拉框设置打怪加红蓝按键,没有全部设置标签变红色,设置好了标签颜色不变并执行打怪 
功能 热键0_热键() 
    内容,内容1,内容2,内容3 
    内容=下拉框.获得文本("下拉框0") 
    内容1=下拉框.获得文本("下拉框1") 
    内容2=下拉框.获得文本("下拉框2") 
    内容3=下拉框.获得文本("下拉框3") 
    如果(内容==""||内容1==""||内容2==""||内容3=="") 
        标签.设置文本("标签9","请设置全部按键!") 
        标签.设置颜色("标签2",#ff0000,1) 
        标签.设置颜色("标签3",#ff0000,1) 
        标签.设置颜色("标签4",#ff0000,1) 
        标签.设置颜色("标签5",#ff0000,1) 
    否则 
        标签.设置文本("标签9","") 
        标签.设置颜色("标签2",#ece9d8,1) 
        标签.设置颜色("标签3",#ece9d8,1) 
        标签.设置颜色("标签4",#ece9d8,1) 
        标签.设置颜色("标签5",#ece9d8,1) 
        线程句柄=线程.开启("完美世界国际版2辅助.加红蓝打怪","") 
        定时器.注册("定时器0",1000) 
    如果结束 
功能结束 
 
功能 热键0_失去焦点() 
    热键.销毁("热键0") 
    热键.注册("热键0") 
功能结束 
 
功能 热键1_失去焦点() 
    热键.销毁("热键1") 
    热键.注册("热键1") 
功能结束 
 
功能 热键2_失去焦点() 
    热键.销毁("热键2") 
    热键.注册("热键2") 
功能结束 
 
功能 热键1_热键() 
    线程.暂停(线程句柄) 
 
功能结束 
 
功能 热键2_热键() 
    线程.关闭(线程句柄) 
    定时器.销毁("定时器0") 
 
功能结束 
 
功能 下拉框0_选择改变() 
    打怪技能键码=完美世界国际版2辅助.获取键码(下拉框.获得内容("下拉框0",下拉框.得到选项("下拉框0"))) 
功能结束 
 
功能 下拉框1_选择改变() 
    加血灵药键码=完美世界国际版2辅助.获取键码(下拉框.获得内容("下拉框1",下拉框.得到选项("下拉框1"))) 
功能结束 
 
功能 下拉框2_选择改变() 
    加血技能键码=完美世界国际版2辅助.获取键码(下拉框.获得内容("下拉框2",下拉框.得到选项("下拉框2"))) 
功能结束 
 
功能 下拉框3_选择改变() 
    加蓝灵丹键码=完美世界国际版2辅助.获取键码(下拉框.获得内容("下拉框3",下拉框.得到选项("下拉框3"))) 
功能结束 
 
 
空间结束 
 
 
 
 
 
 
 
 
 
 
 
 
 
 |