本帖最后由 fywlts 于 2015-7-4 20:44 编辑
没有多余话.直接上源码.高手勿喷..
- 变量 执行线程ID,鼠标特征,主窗口句柄,intX,intY,dm,w,h
- 变量 游戏窗口,游戏窗口宽,游戏窗口高//此处宽高为游戏窗口的宽高
- 变量 菜单1=数组()//第一行菜单的坐标
- 变量 菜单2=数组()//第二行菜单的坐标
- 变量 铲除种植线程
- 变量 气泡标题,气泡内容,托盘提示
- 变量 红色,蓝色,**,活跃栏任务名色,绿色,黑色//字库颜色
- 变量 日志文件名,程序路径,资源路径
- 变量 随心培养,普通培养,高级培养,肥料
- 变量 执行列表,任务数量,执行列表数组=数组()
- 变量 脚本运行=假,脚本暂停=假
- 变量 功能列表=数组("每日签到","培养世界树","领取能量珠","好友切磋","领取体力","联盟花园施肥","阳光房施肥","报名植物大乱斗","天梯竞斗场","段位竞技场","金库收获金币")
- 变量 临界区句柄
- //==================↓↓↓↓↓-------程序开始------↓↓↓↓==================
- 功能 植物大战僵尸_初始化()
- 自动运行(真)
- 气泡标题="植物大战僵尸辅助"
- 设置托盘(气泡标题,假)
- 主窗口句柄=窗口获取自我句柄()
- 系统获取分辨率(w,h)//获取屏幕 的高和高.
- //---------------------注册信息-------------------
- 编辑框设置文本("编辑框2",获取注册码())
- 编辑框设置文本("编辑框5","注册码剩余时间:" & 获取注册码剩余时间() & "分钟.\n" & 获取注册码信息())
- //------------------------------------------------
- 程序路径=系统获取工作路径()
- 资源路径=获取资源路径("rc:")
- 日志文件名=系统获取工作路径() & "start.log"
- 如果(文件是否存在(日志文件名))
- //如果文件己存在,向文件写入两个回车
- 文件写日志("\n\n",日志文件名)
- 否则
- 变量 t=文件创建(日志文件名 ,"CREATE_NEW|rw|FILE_SHARE_READ")//创建一个start.log的日志文件
- 如果 (t>-1)
- 调试气泡("日志文件不存在,新生成日志文件start.log成功" )
- 文件写日志(获取系统时间() & " " & "程序开始运行",日志文件名)
- 否则
- 调试气泡("日志文件不存在,生成日志文件start.log失败")
- 结束
- 结束
- 如果(文件是否存在(程序路径 & "config.ini")==假)
- 文件拷贝(资源路径 &"config.ini",程序路径 & "config.ini")
- 结束
- //===============================================
- 注册大漠(真,假)//注册大漠并绑定资源路径
- 变量 ret
- ret=dm.SetPath(资源路径)
- ret=dm.SetDict(0,"植物大战僵尸.txt")//设置字库
- //"**:fef567-222222""蓝色:5ccefe-222222"
- //"活跃任务名颜色:745d49-222222" "活跃任务完成文字颜色:73c261-222222"
- //关闭按钮的红色"f90014-000000"
- 红色="f90014-000000"
- 蓝色="5ccefe-222222"
- **="fef567-222222"
- 活跃栏任务名色="745d49-222222"
- 绿色="73c261-222222"
- 黑色="000000-000000"//开始战斗的边框色
- //===============================================
- 初始化软件界面()
- 读写配置("读")
- 复选框_联盟花园施肥_点击()//用于控件相关控件是否显示
- 复选框_培养世界树_点击()
- 结束
- 功能 执行()
- 脚本运行=真
- 捕获游戏窗口句柄()
- 窗口获取大小(游戏窗口,游戏窗口宽,游戏窗口高)
- 调试气泡("游戏窗口宽:"& 游戏窗口宽 &" 游戏窗口高:"& 游戏窗口高)
- //调用大漠插件绑定游戏窗口..
- 大漠绑定窗口()
- 等待(3000)
- // 循环(1)
- // 大漠左键点击(263,594,10)
- // 等待(500)
- // 大漠左键点击(790,425)
- // 结束
- 读写配置("写")
- 读写配置("读")
- 每日福利()
- 遍历(变量 i=0;i<任务数量;i++)
- 选择 (执行列表数组</font><i><font style="background-color: rgb(255, 250, 205);">)
- 条件 "每日签到"
- 活跃任务_每日签到()
- 条件 "培养世界树"
- 活跃任务_培养世界树(随心培养,普通培养,高级培养)
- 条件 "领取能量珠"
- 活跃任务_领取能量珠()
- 条件 "好友切磋"
- 活跃任务_好友切磋()
- 条件 "领取体力"
- 活跃任务_领取体力()
- 条件 "联盟花园施肥"
- 活跃任务_联盟花园施肥(肥料)
- 条件 "阳光房施肥"
- 活跃任务_阳光房施肥()
- 条件 "报名植物大乱斗"
- 活跃任务_报名植物大乱斗()
- 条件 "天梯竞斗场"
- 活跃任务_天梯竞斗场()
- 条件 "段位竞技场"
- 活跃任务_段位竞技场()
- 条件 "金库收获金币"
- 活跃任务_金库收获金币()
- 默认
- 调试气泡(执行列表数组</font><i><font style="background-color: rgb(255, 250, 205);">& " 尚未加入执行列表.")
- 结束
- 等待(2000)
- 结束
- dm.UnBindWindow()
- 脚本运行=假
- 调试气泡("脚本运行完毕")
- 返回
- 结束
- 功能 执行定时任务(任务名)
- 结束
- 功能 试炼之路当前关卡(次数=30)//死马当活马医.用完当天次数
- 调试气泡("现在进入试炼之路挑战")
- 变量 x,y
- 遍历(变量 i=1;i<=30;i++)
- 遍历(变量 ii=1;ii<=13;ii++)
- 等待(200)
- dm.KeyPress(9)//按下TAB键---程序控制时要按13次.手工时只要一次
- 结束
- 等待(100)
- dm.KeyPress(32)//按下空格键选择进入.
- //dm.findpic(0,0,游戏窗口宽,游戏窗口高,"试炼之路当前关卡.bmp","000000",0.7,0,x,y)
- //大漠右键点击(x,y)
- 等待(2000)
- 大漠循环找字点击("开始战斗",**)
- 等待(200)
- 大漠左键点击(x,y)
- 等待(1000)
- 大漠循环找字点击("立即结束",**)
- 等待(500)
- 结束
- 结束
- 功能 活跃任务_世界BOSS()
- 调试气泡("现在开始执行__世界BOSS")
- //获取系统时间
- 变量 x1,x2,y1,y2
- //如果大于10点则进行,否则退出
- //判断BOSS邪恶博士是否可以攻击--复活中,无复活次数
- //判断BOSS秦始皇是否可以攻击--复活中,无复活次数
- //立即结束按钮范围:150,70=========>
- x1=游戏窗口宽-150
- y1=游戏窗口高-70
- x2=游戏窗口宽
- y2=游戏窗口高
- //确定按钮范围130,150========>
- x1=游戏窗口宽/2-70
- y1=游戏窗口高-150
- x2=游戏窗口宽/2+70
- y2=游戏窗口高-90
- 结束
- 功能 每日福利()//包括在线奖励也领取了.
- 变量 x,y
- 坐标点击(1,2)//打开每日福利
- 等待(1000)
- 大漠循环找字返回坐标("福利大厅",**,x,y)
- 大漠左键点击(x-365,y+81)//点击每日福利
- 大漠循环找字点击("领取在线",**)//在每日福利界面查找领取按钮.
- 大漠左键点击(x-365,y+204)//打开每日签到
- 大漠循环找字点击("领取在线",**)//在每日签到界面查找领取按钮
- 大漠左键点击(x-363,y+262)//找开在线奖励-34,-95
- 大漠循环找字点击("领取在线",**)//在在线时长界面查找领取按钮
- 结束
- 功能 寻宝夺宝()
- 结束
- 功能 捉小偷护农田()
- 结束
- 功能 软件说明_点击()
- 变量 说明=文件读取内容("rc:说明.txt")
- 消息框(说明,"软件说明")
- 结束
- //-----------------------
- 功能 捕获游戏窗口热键_热键()
- 捕获游戏窗口句柄()
- 结束
- //===================
- 功能 运行按钮_点击()
- 启动热键_热键()
- 结束
- 功能 启动热键_热键()//启动_热键操作
- 如果(脚本运行==假)
- 消息框("点击确定按钮后鼠标的第一次单击窗口将被认定为游戏窗口进行绑定。")
- 窗口最小化(主窗口句柄)
- 执行线程ID=线程开启("执行","")
- 否则
- 消息框("脚本己经运行,请不要重复启动")
- 结束
- 结束
- //---------------------------
- 功能 停止运行热键_热键()//停止执行任务..但未退出程序 ...快捷键是Ctrl+F6
- 如果(脚本暂停==真)
- 线程恢复(执行线程ID)
- 脚本暂停=假
- 标签设置文本("标签2","恢复运行")
- 否则
- 线程暂停(执行线程ID)
- 标签设置文本("标签2","暂停运行")
- 脚本暂停=真
- 结束
- dm.UnBindWindow()
- 窗口显示(主窗口句柄)
- 结束
- //===================
- 功能 退出按钮_点击()
- 退出热键_热键()
- 结束
- 功能 退出热键_热键()
- 植物大战僵尸_关闭()
- 结束
- 功能 植物大战僵尸_关闭()//退出游戏
- 线程关闭(执行线程ID)
- dm.LeftUp()//防止退出后鼠标左键未能及时弹起.
- dm.UnBindWindow()//解绑大漠
- 注册插件("rc:dm.dll",假)//卸载大漠插件
- 读写配置("写")
- 控件关闭子窗口("植物大战僵尸",0)
- 设置托盘("")
- 退出()
- 结束
- 功能 复选框_铲除种植_点击()
- 消息框("进入本功能前,请将游戏画面置于阳光房内,确认己进入阳光房后再点击确定","提示")
- 如果(复选框获取状态("复选框_铲除种植"))
- //窗口隐藏(主窗口句柄)
- 等待(2000)
- 铲除种植线程=线程开启("铲除种植",11)
- 否则
- 线程关闭(铲除种植线程)
- 结束
- 结束
- 功能 复选框_联盟花园施肥_点击()
- 如果(复选框获取状态("复选框_联盟花园施肥"))//如果当前选项被选中
- 控件显示("单选框_普通肥料",真)
- 控件显示("单选框_优质肥料",真)
- 控件显示("单选框_高级肥料",真)
- 否则
- 控件显示("单选框_普通肥料",假)
- 控件显示("单选框_优质肥料",假)
- 控件显示("单选框_高级肥料",假)
- 结束
- 结束
- 功能 复选框_培养世界树_点击()
- 如果(复选框获取状态("复选框_培养世界树"))//如果当前选项被选中
- 控件显示("复选框_随心培养",真)
- 控件显示("复选框_普通培养",真)
- 控件显示("复选框_高级培养",真)
- 控件显示("编辑框_随心次数",真)
- 控件显示("编辑框_普通次数",真)
- 控件显示("编辑框_高级次数",真)
- 否则
- 控件显示("复选框_随心培养",假)
- 控件显示("复选框_普通培养",假)
- 控件显示("复选框_高级培养",假)
- 控件显示("编辑框_随心次数",假)
- 控件显示("编辑框_普通次数",假)
- 控件显示("编辑框_高级次数",假)
- 结束
- 结束
- //==================↑↑↑↑↑-------己完美区------↑↑↑↑==================
- //==================↓↓↓↓↓-------待完善区------↓↓↓↓==================
- 功能 初始化软件界面()
- 窗口设置标题(主窗口句柄,"植物大战僵尸Online V" & 文件读配置("软件信息","版本号",程序路径 & "config.ini"))
- 网页跳转("浏览器0","file:///" & 获取资源路径("rc:") & "rem.htm")
- 网页设置新窗口打开("浏览器0",真)
- 控件显示("单选框_普通肥料",假)
- 控件显示("单选框_优质肥料",假)
- 控件显示("单选框_高级肥料",假)
- 控件显示("复选框_随心培养",假)
- 控件显示("复选框_普通培养",假)
- 控件显示("复选框_高级培养",假)
- 控件显示("编辑框_随心次数",假)
- 控件显示("编辑框_普通次数",假)
- 控件显示("编辑框_高级次数",假)
- //==================↓↓↓↓↓-------初始化控件------↓↓↓↓==================
- 变量 功能数量=数组大小(功能列表)
- 遍历(变量 i=0;i<功能数量;i++)//置所有功能复选框为不选中状态
- 复选框设置状态("复选框_" & 功能列表</font><i><font style="background-color: rgb(255, 250, 205);">,假)
- 结束
- //==================↑↑↑↑↑-------初始化控件------↑↑↑↑==================
- 结束
- 功能 读写配置(读写)
- //==================↓↓↓↓↓-------程序主体------↓↓↓↓==================
- 如果(读写=="读")//文件读配置("","",程序路径 & "config.ini")
- 肥料=文件读配置("活跃任务","肥料",程序路径 & "config.ini")
- 单选框设置状态("单选框_"&肥料,真)
- 随心培养=转整型(文件读配置("活跃任务","随心培养",程序路径 & "config.ini"))
- 普通培养=转整型(文件读配置("活跃任务","普通培养",程序路径 & "config.ini"))
- 高级培养=转整型(文件读配置("活跃任务","高级培养",程序路径 & "config.ini"))
- 如果(随心培养>0)
- 复选框设置状态("复选框_随心培养",真)
- 编辑框设置文本("编辑框_随心次数",随心培养)
- 结束
- 如果(普通培养>0)
- 复选框设置状态("复选框_普通培养",真)
- 编辑框设置文本("编辑框_普通次数",普通培养)
- 结束
- 如果(高级培养>0)
- 复选框设置状态("复选框_高级培养",真)
- 编辑框设置文本("编辑框_高级次数",高级培养)
- 结束
- //=======================================================================================
- 执行列表=文件读配置("活跃任务","执行列表",程序路径 & "config.ini")
- 任务数量=字符串分割(执行列表,",",执行列表数组)
- 遍历(变量 i=0;i<任务数量;i++)
- 复选框设置状态("复选框_" & 执行列表数组</font><i><font style="background-color: rgb(255, 250, 205);">,真)
- 结束
- //=================================================================================
- 如果(文件读配置("活跃任务","大乱斗鼓舞",程序路径 & "config.ini")=="真")
- 复选框设置状态("复选框_鼓舞",真)
- 结束
- 否则如果(读写=="写")//文件写配置("","",程序路径 & "confing.ini")
- 调试气泡("现在开始写配置")
- 执行列表=""
- 变量 功能数量=数组大小(功能列表)
- 遍历(变量 i=0;i<功能数量;i++)
- 如果(复选框获取状态("复选框_"& 功能列表</font><i><font style="background-color: rgb(255, 250, 205);">))
- 执行列表=执行列表 & 功能列表</font><i><font style="background-color: rgb(255, 250, 205);"> & ","
- 结束
- 结束
- 执行列表=字符串截取左侧(执行列表,字符串长度(执行列表)-1)//去掉末尾多余的逗号
- 文件写配置("活跃任务","执行列表",执行列表,程序路径 & "config.ini")
- //===============================================================================
- 如果(复选框获取状态("复选框_随心培养") && 转整型(编辑框获取文本("编辑框_随心次数"))>0)
- 文件写配置("活跃任务","随心培养",编辑框获取文本("编辑框_随心次数"),程序路径 & "config.ini")
- 结束
- </font></i></i></i></i></i></i><i><i><i><i><i><i><font style="background-color: rgb(255, 250, 205);"> 如果(复选框获取状态("复选框_普通培养") && 转整型(编辑框获取文本("编辑框_普通次数"))>0)
- 文件写配置("活跃任务","普通培养",编辑框获取文本("编辑框_普通次数"),程序路径 & "config.ini")
- 结束
- 如果(复选框获取状态("复选框_高级培养") && 转整型(编辑框获取文本("编辑框_高级次数"))>0)
- 文件写配置("活跃任务","高级培养",编辑框获取文本("编辑框_高级次数"),程序路径 & "config.ini")
- 结束
- //===============================================================================
- 如果(复选框设置状态("复选框_报名植物大乱斗") && 复选框设置状态("复选框_鼓舞",真))
- 文件写配置("活跃任务","大乱斗鼓舞","真",程序路径 & "config.ini")
- 结束
- 结束
- 结束
复制代码
应三楼的要求,现将附件公布如下.
附件 百度网盘下载地址:链接:http://pan.baidu.com/s/1o6BVRKI 密码:flo6
|