TC官方合作论坛
标题: 魔兽世界自动挂战场【TC1.0版本】 [打印本页]
作者: 章昊 时间: 2011-7-13 11:59
标题: 魔兽世界自动挂战场【TC1.0版本】
魔兽世界自动挂战场脚本
【脚本介绍】:该脚本是模拟一次自动刷战场的示例,由于当中引用了内存的方法,若用户不知道如何获取内存,这都没关系,以后我们将会推出一套使用内存的方法供大家学习。在这里用户只要学会一个全自动刷战场的流程,熟悉脚本中使用到的功能函数和如何选择不同的战场类型的判断语句。
【原理】:获取角色无BUFF满血的血量---等待程序初始化成功---选择战场类型---根据序号选择不同的地图---开始自动刷战场。
【使用方法】:
1、电脑屏幕分辨率改为:1024*768,不支持后台。
2、修改WOW的设置:先按ESC键,后选择“视频设置”---“分辨率”---如果"使用UI缩放"没勾上的,必须勾上----然后在把UI调至最高。
3、然后在按软件提示输入满血无BUFF的时候,当前角色的血量;
4、若魔兽世界版本更新将无法使用该脚本。
[attach]237[/attach]
【源码如下】:
空间 战场
//定义defaultNamespce的命名空间
double 当前坐标
int wowProID
int wowWinID
bool 进入战场
整型 地址
整型 地址1
整型 地址2
整型 地址3
整型 血量地址
int j
string 角色血量
string 战场号
function int 战歌峡谷()
double 战场地址y
double 战场地址y1
辅助.等待(3000)
//战场地址x=进程.读float(wowProID,#D38B10)
战场地址y=进程.读float(wowProID,#D38B10)
//先右走
窗口.提交按下(wowWinID,69)
辅助.等待(1000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(500)
窗口.提交弹起(wowWinID,69)
//在直走5秒
窗口.提交按下(wowWinID,87)
辅助.等待(1000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(4000)
窗口.提交弹起(wowWinID,87)
战场地址y=进程.读float(wowProID,#D38B0C)
//在直走5秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
战场地址y1=进程.读float(wowProID,#D38B0C)
//判断战场是否开始(如果没开始就继续向前跑)
while(数学.绝对值(战场地址y1-战场地址y)<2)
战场地址y=进程.读float(wowProID,#D38B0C)
窗口.提交按下(wowWinID,81)
辅助.等待(200)
窗口.提交弹起(wowWinID,81)
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
窗口.提交按下(wowWinID,69)
辅助.等待(300)
窗口.提交弹起(wowWinID,69)
辅助.等待(2000)
战场地址y1=进程.读float(wowProID,#D38B0C)
endwhile
//如果战场已经开始了,向前跑10秒
窗口.提交按下(wowWinID,87)
辅助.等待(7000)
窗口.提交弹起(wowWinID,87)
//然后在右走6秒
窗口.提交按下(wowWinID,69)
辅助.等待(5500)
窗口.提交弹起(wowWinID,69)
//然后在直走10秒
窗口.提交按下(wowWinID,87)
辅助.等待(10000)
窗口.提交弹起(wowWinID,87)
return 0
endfunction
function int 阿拉希盆地()
辅助.等待(3000)
double 战场地址x
double 战场地址x1
//先向前走10秒
窗口.提交按下(wowWinID,87)
辅助.等待(10000)
窗口.提交弹起(wowWinID,87)
战场地址x=进程.读float(wowProID,#D38B10)
//在向前走2秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
战场地址x1=进程.读float(wowProID,#D38B10)
//判断战场是否开始(如果没开始就继续向前跑)
while((战场地址x-战场地址x1)<2)
战场地址x=进程.读float(wowProID,#D38B10)
//右移
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(2000)
战场地址x1=进程.读float(wowProID,#D38B10)
//左移
窗口.提交按下(wowWinID,81)
辅助.等待(200)
窗口.提交弹起(wowWinID,81)
endwhile
return 0
endfunction
function int 奥特兰克山谷()
辅助.等待(3000)
double 战场地址x
double 战场地址x1
//先向前走600毫秒
窗口.提交按下(wowWinID,87)
辅助.等待(3000)
窗口.提交弹起(wowWinID,87)
辅助.等待(1000)
//然后右转400毫秒
窗口.提交按下(wowWinID,68)
辅助.等待(200)
窗口.提交弹起(wowWinID,68)
辅助.等待(1000)
//先向前走15秒
窗口.提交按下(wowWinID,87)
辅助.等待(15000)
窗口.提交弹起(wowWinID,87)
战场地址x=进程.读float(wowProID,#D38B10)
//在向前走2秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
战场地址x1=进程.读float(wowProID,#D38B10)
//判断战场是否开始(如果没开始就继续向前跑)
while((战场地址x1-战场地址x)<2)
战场地址x=进程.读float(wowProID,#D38B10)
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(2000)
战场地址x1=进程.读float(wowProID,#D38B10)
endwhile
//先向前走600毫秒
窗口.提交按下(wowWinID,87)
辅助.等待(5000)
窗口.提交弹起(wowWinID,87)
//然后右转100毫秒
窗口.提交按下(wowWinID,68)
辅助.等待(200)
窗口.提交弹起(wowWinID,68)
return 0
endfunction
function int 奥特兰克山谷BL()
double 战场地址x
double 战场地址x1
辅助.等待(3000)
//先向前走2000毫秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
辅助.等待(1000)
//然后左走500毫秒
窗口.提交按下(wowWinID,81)
辅助.等待(500)
窗口.提交弹起(wowWinID,81)
辅助.等待(1000)
//先向前走12秒
窗口.提交按下(wowWinID,87)
辅助.等待(12000)
窗口.提交弹起(wowWinID,87)
战场地址x=进程.读float(wowProID,#D38B10)
//在向前走2秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
战场地址x1=进程.读float(wowProID,#D38B10)
//判断战场是否开始(如果没开始就继续向前跑)
while((战场地址x1-战场地址x)<2)
战场地址x=进程.读float(wowProID,#D38B10)
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(2000)
战场地址x1=进程.读float(wowProID,#D38B10)
endwhile
//先向前走12秒
窗口.提交按下(wowWinID,87)
辅助.等待(12000)
窗口.提交弹起(wowWinID,87)
return 0
endfunction
function int 风暴之眼()
辅助.等待(3000)
double 战场地址y
double 战场地址y1
//先向前走3秒
窗口.提交按下(wowWinID,87)
辅助.等待(4000)
窗口.提交弹起(wowWinID,87)
战场地址y=进程.读float(wowProID,#D38B0C)
//在向前走2秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
战场地址y1=进程.读float(wowProID,#D38B10)
//判断战场是否开始(如果没开始就继续向前跑)
while(数学.绝对值(战场地址y1-战场地址y)<2)
战场地址y=进程.读float(wowProID,#D38B10)
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(2000)
战场地址y1=进程.读float(wowProID,#D38B10)
endwhile
//先向前走3秒
窗口.提交按下(wowWinID,87)
辅助.等待(3000)
窗口.提交弹起(wowWinID,87)
return 0
endfunction
function int 征服之岛()
return 0
endfunction
function int 释放复活()
int 血量
string 地址血量
int 位置
string 血量值
位置=0
///点击释放灵魂
if(血量地址!=0)
地址血量=进程.读string(wowProID,血量地址,5)
位置=字符串.查找字符串(地址血量,"/")
if(位置!=-1)
血量值=字符串.截取(地址血量,1,位置-1)
血量=转换.字符型转整型(血量值)
else
血量=转换.字符型转整型(地址血量)
endif
//角色已经死亡 ,点击释放
if(血量==0||血量==1)
辅助.等待(1000)
//辅助.打印("角色已经死亡")
鼠标.移动(510,195)
辅助.等待(200)
鼠标.移动(510,195)
鼠标.左键单击(1)
辅助.等待(3000)
//等待复活中
int i
i=1
while(true)
if(i==1)
//辅助.打印("正在复活中")
i=i+1
endif
辅助.等待(3000)
地址血量=进程.读string(wowProID,血量地址,5)
位置=0
位置=字符串.查找字符串(地址血量,"/")
if(位置!=-1)
血量值=字符串.截取(地址血量,1,位置-1)
if(字符串.比较(血量值,角色血量)==0)
//辅助.打印("角色复活成功!")
double 坐标
坐标=进程.读float(wowProID,#D38B10)
//判断是否要转身
if(坐标>1554.0&&坐标<1555.0)
辅助.等待(1000)
窗口.提交按下(wowWinID,68)
辅助.等待(800)
窗口.提交弹起(wowWinID,68)
endif
//判断是否要转身
if(坐标>1163.0&&坐标<1164.0)
辅助.等待(1000)
窗口.提交按下(wowWinID,68)
辅助.等待(1000)
窗口.提交弹起(wowWinID,68)
endif
break
endif
endif
endwhile
endif
endif
return 0
endfunction
//查找怪血量的内存地址
function int 寻找地址(string 字符串)
int 内容
内容=0
地址=0
地址1=0
地址2=0
地址3=0
地址=进程.找string(wowProID,字符串,#400000,#2fffffff)
//确定地址
if(地址!=0)
内容=进程.读byte(wowProID,地址+16)
if(内容>=1&&内容<=16)
内容=进程.读byte(wowProID,地址+18)
if(内容==3)
return 地址
endif
endif
endif
if(地址!=0)
地址1=进程.找string(wowProID,字符串,地址+1,#2fffffff)
//确定地址
if(地址1!=0)
内容=进程.读byte(wowProID,地址1+16)
if(内容>=1&&内容<=16)
内容=进程.读byte(wowProID,地址1+18)
if(内容==3)
return 地址1
endif
endif
endif
else
return 1
endif
//
if(地址1!=0)
地址2=进程.找string(wowProID,字符串,地址1+1,#2fffffff)
if(地址2!=0)
内容=进程.读byte(wowProID,地址2+16)
if(内容>=1&&内容<=16)
内容=进程.读byte(wowProID,地址2+18)
if(内容==3)
return 地址2
endif
endif
endif
else
return 1
endif
if(地址2!=0)
地址3=进程.找string(wowProID,字符串,地址2+1,#2fffffff)
if(地址3!=0)
内容=进程.读byte(wowProID,地址3+16)
if(内容>=1&&内容<=16)
内容=进程.读byte(wowProID,地址3+18)
if(内容==3)
return 地址3
endif
endif
endif
endif
return 0
endfunction
function int 得到地址(string 角色血量1)
string 字符串
int 读取地址
字符串=字符串.连接(角色血量1," / ")
字符串=字符串.连接(字符串,角色血量1)
读取地址=战场.寻找地址(字符串)
return 读取地址
endfunction
function bool 进入战场(string 战场)
string 战场类型
string 序号字符
string 序号
int 战场长度
int i
int n
int nun
int 开始
开始=1
//窗口.还原(wowWinID)
//辅助.等待(1000)
窗口.提交按键(wowWinID,72)
鼠标.移动(95,525)
辅助.等待(200)
鼠标.移动(95,525)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
//辅助.打印("开始选择要进入战场")
战场长度=字符串.长度(战场)
n=战场长度
战场号=战场
while(true)
辅助.等待(2000)
i=1
if(n<3)
序号=战场
endif
if(n==3)
if(j==1)
序号=字符串.截取(战场号,1,2)
endif
if(j==2)
string temp
序号=字符串.截取(战场号,1,1)
temp=字符串.截取(战场号,3,3)
序号=字符串.连接(序号,temp)
j=1
endif
j=j+1
endif
if(n==4)
if(j==1)
序号=字符串.截取(战场号,1,2)
endif
if(j==2)
序号=字符串.截取(战场号,3,4)
j=1
endif
j=j+1
endif
if(n==5)
if(j==1)
序号=字符串.截取(战场号,1,2)
endif
if(j==2)
序号=字符串.截取(战场号,3,4)
endif
if(j==3)
string temp
序号=字符串.截取(战场号,1,1)
temp=字符串.截取(战场号,5,5)
序号=字符串.连接(temp,序号)
j=1
endif
j=j+1
endif
if(n==6)
if(j==1)
序号=字符串.截取(战场号,1,2)
endif
if(j==2)
序号=字符串.截取(战场号,3,4)
endif
if(j==3)
序号=字符串.截取(战场号,5,6)
j=1
endif
j=j+1
endif
if(n==7)
if(j==1)
序号=字符串.截取(战场号,1,2)
endif
if(j==2)
序号=字符串.截取(战场号,3,4)
endif
if(j==3)
序号=字符串.截取(战场号,5,6)
endif
if(j==4)
string temp
序号=字符串.截取(战场号,1,1)
temp=字符串.截取(战场号,7,7)
序号=字符串.连接(temp,序号)
j=1
endif
j=j+1
endif
while(i<=2)
序号字符=字符串.截取(序号,i-1,i)
//当获取到序号是1的时候,表示随机战场
if(字符串.比较(序号字符,"1")==0)
///点击选择战场队列
鼠标.移动(150,200)
辅助.等待(200)
鼠标.移动(150,200)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
endif
//当获取到序号是2的时候,表示战歌峡谷
if(字符串.比较(序号字符,"2")==0)
///点击选择战场队列
鼠标.移动(150,215)
辅助.等待(200)
鼠标.移动(150,215)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
endif
//当获取到序号是3的时候,表示阿拉希盆地
if(字符串.比较(序号字符,"3")==0)
///点击选择战场队列
鼠标.移动(150,230)
辅助.等待(200)
鼠标.移动(150,230)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
endif
//当获取到序号是4的时候,表示奥山战场
if(字符串.比较(序号字符,"4")==0)
///点击选择战场队列
鼠标.移动(150,245)
辅助.等待(200)
鼠标.移动(150,245)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
endif
//当获取到序号是5的时候,表示风暴战场
if(字符串.比较(序号字符,"5")==0)
///点击选择战场队列
鼠标.移动(150,260)
辅助.等待(200)
鼠标.移动(150,260)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
endif
//当获取到序号是6的时候,表示远古海滩
if(字符串.比较(序号字符,"6")==0)
//先点击向下的滚动条
鼠标.移动(333,260)
辅助.等待(200)
鼠标.移动(333,260)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
辅助.等待(2000)
///点击选择战场队列
鼠标.移动(150,245)
辅助.等待(200)
鼠标.移动(150,245)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
//点击向上的滚动条,还原滚动条
鼠标.移动(333,195)
辅助.等待(200)
鼠标.移动(333,195)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
endif
//当获取到序号是7的时候,表示征服之岛
if(字符串.比较(序号字符,"7")==0)
//先点击向下的滚动条
鼠标.移动(333,260)
辅助.等待(200)
鼠标.移动(333,260)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
辅助.等待(2000)
///点击选择战场队列
鼠标.移动(150,260)
辅助.等待(200)
鼠标.移动(150,260)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
//点击向上的滚动条,还原滚动条
鼠标.移动(333,195)
辅助.等待(200)
鼠标.移动(333,195)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
endif
i=i+1
endwhile
//开始等待进入战场
if(开始==1)
//辅助.打印("开始等待进入战场")
开始=开始+1
endif
鼠标.移动(450,195)
辅助.等待(200)
鼠标.移动(450,195)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
窗口.提交按键(wowWinID,32)
double 临时坐标
临时坐标=进程.读float(wowProID,#D38B10)
临时坐标=临时坐标-当前坐标
临时坐标=数学.绝对值(临时坐标)
if(临时坐标>50)
//辅助.打印("已经进入战场,准备战场搞起")
return true
endif
辅助.等待(5000)
endwhile
return true
endfunction
function bool 战场搞起()
double 战场地址x
double 战场地址y
辅助.等待(4000)
战场地址x=进程.读float(wowProID,#D38B10)
战场地址y=进程.读float(wowProID,#D38B0C)
//战歌峡谷战场 (LM)
if((战场地址x-1481.0)<1&&(战场地址x-1481.0)>0)
战场.战歌峡谷()
endif
//战歌峡谷战场 (BL)
if((战场地址x-1433.0)<1&&(战场地址x-1433.0)>0)
战场.战歌峡谷()
endif
//阿拉希盆地战场 (LM)
if((战场地址x-1310.0)<1&&(战场地址x-1310.0)>0)
战场.阿拉希盆地()
endif
//阿拉希盆地战场 (BL)
if((战场地址x-681.0)<1&&(战场地址x-681.0)>0)
战场.阿拉希盆地()
endif
//奥特兰克山谷战场(LM)
if((战场地址x-(-492.0))>0&&(战场地址x-(-492.0))<1)
战场.奥特兰克山谷()
endif
//奥特兰克山谷战场(BL)
if((战场地址x-(-611.0))>0&&(战场地址x-(-611.0))<1)
战场.奥特兰克山谷BL()
endif
//风暴之眼战场(LM)
if((战场地址y-2523.0)>0&&(战场地址y-2523.0)<1)
战场.风暴之眼()
endif
//风暴之眼战场(BL)
if((战场地址y-1807.0)>0&&(战场地址y-1807.0)<1)
战场.风暴之眼()
endif
//远古海滩战场
//if(战场地址==)
//战场.远古海滩()
//endif
//征服之岛战场(LM)
if((战场地址x-(-837.0))>0&&(战场地址x-(-837.0))<1)
战场.征服之岛()
endif
//征服之岛战场(BL)
if((战场地址x-(-763.0))>0&&(战场地址x-(-763.0))<1)
战场.征服之岛()
endif
while(true)
//判断角色是否死亡
战场.释放复活()
//先向前跑W5秒
窗口.提交按下(wowWinID,87)
辅助.等待(300)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(200)
窗口.提交弹起(wowWinID,87)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
//先右前跑2秒
辅助.等待(200)
窗口.提交按下(wowWinID,69)
辅助.等待(1000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(500)
窗口.提交弹起(wowWinID,69)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(500)
窗口.提交弹起(wowWinID,87)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
//先左前跑2秒
辅助.等待(200)
窗口.提交按下(wowWinID,81)
辅助.等待(1000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(500)
窗口.提交弹起(wowWinID,81)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
窗口.提交按下(wowWinID,87)
辅助.等待(600)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(500)
窗口.提交弹起(wowWinID,87)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
//后退走
窗口.提交按下(wowWinID,83)
辅助.等待(2000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(1000)
窗口.提交弹起(wowWinID,83)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
///点击退出战场
鼠标.移动(540,540)
辅助.等待(200)
鼠标.移动(540,540)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(7000)
double 临时坐标
临时坐标=进程.读float(wowProID,#D38B10)
if(临时坐标>(当前坐标-100.0)&&临时坐标<(当前坐标+100.0))
//辅助.打印("开始退出战场")
break
endif
endwhile
return true
endfunction
function bool 选择战场(string 战场)
窗口.最大化(wowWinID)
辅助.等待(1000)
窗口.置顶(wowWinID)
辅助.等待(1000)
int 战场次数
战场次数=0
while(true)
当前坐标=进程.读float(wowProID,#D38B10)
double 临时坐标
临时坐标=进程.读float(wowProID,#D38B10)
if(当前坐标==临时坐标)
战场.进入战场(战场)
战场.战场搞起()
endif
endwhile
return true
endfunction
功能 整型 开始_点击()
//定义main函数,main函数为整个程序的入口函数,函数返回为int类型
wowProID=进程.获取进程句柄("魔兽世界")
wowWinID=窗口.找到窗口("魔兽世界")
string 战场类型
string 战场序号
string 字符串
string 战场选择
string nn
int 类型
int 类型1
类型=1
类型1=1
int 序号
int 序号长度
int 字符比较
int 寻找地址
int i
int n
n=1
i=1
字符比较=1
战场选择=""
血量地址=0
string 输入
角色血量=编辑框.获得文本("编辑框0")
if(字符串.长度(角色血量)==0)
辅助.消息框("请输入角色当前血量值!")
return 0
endif
输入="你当前游戏角色满血的时候的血量是:"
输入=字符串.连接(输入,角色血量)
//辅助.打印(输入)
//判断是否已经选择战场类型
if(!单选框.获得状态("单选框0"))
if(!单选框.获得状态("单选框1"))
辅助.消息框("请选择挂战场的类型!")
return 0
endif
endif
if(单选框.获得状态("单选框0"))
标签.设置文本("标签3","程序初始化中,请稍等半分钟左右...")
血量地址=战场.得到地址(角色血量)
if(血量地址==0||血量地址==1)
辅助.消息框("血量地址查找失败!请重新登录游戏!!")
标签.设置文本("标签3","程序初始化失败!")
endif
标签.设置文本("标签3","程序初始化完成!")
战场.选择战场("1")
endif
if(单选框.获得状态("单选框1"))
string 战歌峡谷
string 阿拉希盆地
string 奥特兰克山谷
string 风暴之眼
string 远古海滩
string 征服之岛
战歌峡谷=""
阿拉希盆地=""
奥特兰克山谷=""
风暴之眼=""
远古海滩=""
征服之岛=""
//判断是否已经选择战场
if(!复选框.获得状态("复选框0"))
if(!复选框.获得状态("复选框1"))
if(!复选框.获得状态("复选框2"))
if(!复选框.获得状态("复选框3"))
if(!复选框.获得状态("复选框4"))
if(!复选框.获得状态("复选框5"))
辅助.消息框("请选择要排的战场!")
return 0
endif
endif
endif
endif
endif
endif
if(复选框.获得状态("复选框0"))
战歌峡谷="2"
endif
if(复选框.获得状态("复选框1"))
阿拉希盆地="3"
endif
if(复选框.获得状态("复选框2"))
奥特兰克山谷="4"
endif
if(复选框.获得状态("复选框3"))
风暴之眼="5"
endif
if(复选框.获得状态("复选框4"))
远古海滩="6"
endif
if(复选框.获得状态("复选框5"))
征服之岛="7"
endif
战场序号=字符串.格式化("%s%s%s%s%s%s",战歌峡谷,阿拉希盆地,奥特兰克山谷,风暴之眼,远古海滩,征服之岛)
//辅助.打印("程序初始化中,请稍等...")
标签.设置文本("标签3","程序初始化中,请稍等半分钟左右...")
血量地址=战场.得到地址(角色血量)
if(血量地址==0||血量地址==1)
辅助.消息框("血量地址查找失败!请重新登录游戏!!")
标签.设置文本("标签3","程序初始化失败!")
endif
标签.设置文本("标签3","程序初始化完成!")
战场.选择战场(战场序号)
endif
return 0
//函数返回语句
endfunction
//main函数结束语句
功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()
返回 真
功能结束
空间结束
作者: 小王 时间: 2011-7-13 16:02
这个代码真是长呀!
作者: 小风子 时间: 2011-7-13 18:07
代码长啊
内存挂过游戏是个难题,而且容易被封!
作者: ↘夢想飛舞√ 时间: 2011-7-20 09:18
太强大了,这个貌似是我见到挂战场的最完美的了。
作者: xsy36952622 时间: 2011-7-28 14:36
不错,帅气!
作者: lilo 时间: 2011-8-18 10:43
:strong:牛
作者: gpqzm5218 时间: 2011-10-12 20:38
路过
作者: 卖菊花的小兽人 时间: 2011-10-14 14:46
是挺多的 赋值下来看看 打开一下看看
作者: dickwalker 时间: 2011-11-22 12:08
好用的不?
作者: 743380317 时间: 2011-11-22 17:35
想下附件
作者: 8569013 时间: 2011-11-24 13:38
为什么不能下啊
作者: lin8546 时间: 2011-11-27 07:47
很好很强大3
作者: gp1396 时间: 2011-11-27 13:52
好东西学习一下
作者: yanmeng4321 时间: 2011-12-10 15:45
niu11
作者: v11ks 时间: 2011-12-11 17:23
额 内存 看到我就眼花。
作者: a437612 时间: 2011-12-14 02:10
砍砍啊啊
作者: chengzhikele 时间: 2011-12-18 04:06
回复后可以下载否?
作者: 半岛铁人 时间: 2011-12-21 16:18
想看看怎么样 谢谢楼主了
作者: xiaoming3113 时间: 2011-12-21 23:58
为啥附件都不能下载呢
作者: fanqie 时间: 2011-12-25 01:24
我试试,NB的啊
作者: fanqie 时间: 2011-12-25 01:24
为什么不能下载
作者: 112420606 时间: 2012-1-2 11:42
不会用.....
作者: minvnv 时间: 2012-1-2 13:52
路过酱油的说
作者: tbr4321 时间: 2012-1-7 23:43
下不了附件·····
作者: 506056 时间: 2012-1-8 03:15
想下附件
作者: jrdoudou 时间: 2012-1-8 15:07
菜鸟 貌似完全看不懂啊!
作者: wangyue1019 时间: 2012-1-12 20:24
顶一个 看看能不能用
作者: aabbcc87553901 时间: 2012-1-12 23:12
嗲声打算尽快联系
作者: em000cent 时间: 2012-1-16 17:42
太牛逼了!!!
作者: Q4010987 时间: 2012-1-16 20:35
好用不
作者: aaaahthpqy 时间: 2012-1-20 00:03
kankan 有没有用啊
作者: vivison76 时间: 2012-1-21 15:14
123123dsfasdfaf撒旦法发放
作者: 7649987 时间: 2012-1-22 19:06
想下来试试 为什么所在用户组不能查看呢
作者: lixinggangfl 时间: 2012-1-23 09:47
fjhhlk
作者: w6125817 时间: 2012-1-27 07:20
为啥我不能下载啊?
作者: w6125817 时间: 2012-1-27 07:28
您所在的用户组无法下载或查看附件
这是为啥?
作者: fngzjim1986 时间: 2012-2-2 07:19
空间 战场
//定义defaultNamespce的命名空间
double 当前坐标
int wowProID
int wowWinID
bool 进入战场
整型 地址
整型 地址1
整型 地址2
整型 地址3
整型 血量地址
int j
string 角色血量
string 战场号
function int 战歌峡谷()
double 战场地址y
double 战场地址y1
辅助.等待(3000)
//战场地址x=进程.读float(wowProID,#D38B10)
战场地址y=进程.读float(wowProID,#D38B10)
//先右走
窗口.提交按下(wowWinID,69)
辅助.等待(1000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(500)
窗口.提交弹起(wowWinID,69)
//在直走5秒
窗口.提交按下(wowWinID,87)
辅助.等待(1000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(4000)
窗口.提交弹起(wowWinID,87)
战场地址y=进程.读float(wowProID,#D38B0C)
//在直走5秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
战场地址y1=进程.读float(wowProID,#D38B0C)
//判断战场是否开始(如果没开始就继续向前跑)
while(数学.绝对值(战场地址y1-战场地址y)<2)
战场地址y=进程.读float(wowProID,#D38B0C)
窗口.提交按下(wowWinID,81)
辅助.等待(200)
窗口.提交弹起(wowWinID,81)
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
窗口.提交按下(wowWinID,69)
辅助.等待(300)
窗口.提交弹起(wowWinID,69)
辅助.等待(2000)
战场地址y1=进程.读float(wowProID,#D38B0C)
endwhile
//如果战场已经开始了,向前跑10秒
窗口.提交按下(wowWinID,87)
辅助.等待(7000)
窗口.提交弹起(wowWinID,87)
//然后在右走6秒
窗口.提交按下(wowWinID,69)
辅助.等待(5500)
窗口.提交弹起(wowWinID,69)
//然后在直走10秒
窗口.提交按下(wowWinID,87)
辅助.等待(10000)
窗口.提交弹起(wowWinID,87)
return 0
endfunction
function int 阿拉希盆地()
辅助.等待(3000)
double 战场地址x
double 战场地址x1
//先向前走10秒
窗口.提交按下(wowWinID,87)
辅助.等待(10000)
窗口.提交弹起(wowWinID,87)
战场地址x=进程.读float(wowProID,#D38B10)
//在向前走2秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
战场地址x1=进程.读float(wowProID,#D38B10)
//判断战场是否开始(如果没开始就继续向前跑)
while((战场地址x-战场地址x1)<2)
战场地址x=进程.读float(wowProID,#D38B10)
//右移
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(2000)
战场地址x1=进程.读float(wowProID,#D38B10)
//左移
窗口.提交按下(wowWinID,81)
辅助.等待(200)
窗口.提交弹起(wowWinID,81)
endwhile
return 0
endfunction
function int 奥特兰克山谷()
辅助.等待(3000)
double 战场地址x
double 战场地址x1
//先向前走600毫秒
窗口.提交按下(wowWinID,87)
辅助.等待(3000)
窗口.提交弹起(wowWinID,87)
辅助.等待(1000)
//然后右转400毫秒
窗口.提交按下(wowWinID,68)
辅助.等待(200)
窗口.提交弹起(wowWinID,68)
辅助.等待(1000)
//先向前走15秒
窗口.提交按下(wowWinID,87)
辅助.等待(15000)
窗口.提交弹起(wowWinID,87)
战场地址x=进程.读float(wowProID,#D38B10)
//在向前走2秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
战场地址x1=进程.读float(wowProID,#D38B10)
//判断战场是否开始(如果没开始就继续向前跑)
while((战场地址x1-战场地址x)<2)
战场地址x=进程.读float(wowProID,#D38B10)
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(2000)
战场地址x1=进程.读float(wowProID,#D38B10)
endwhile
//先向前走600毫秒
窗口.提交按下(wowWinID,87)
辅助.等待(5000)
窗口.提交弹起(wowWinID,87)
//然后右转100毫秒
窗口.提交按下(wowWinID,68)
辅助.等待(200)
窗口.提交弹起(wowWinID,68)
return 0
endfunction
function int 奥特兰克山谷BL()
double 战场地址x
double 战场地址x1
辅助.等待(3000)
//先向前走2000毫秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
辅助.等待(1000)
//然后左走500毫秒
窗口.提交按下(wowWinID,81)
辅助.等待(500)
窗口.提交弹起(wowWinID,81)
辅助.等待(1000)
//先向前走12秒
窗口.提交按下(wowWinID,87)
辅助.等待(12000)
窗口.提交弹起(wowWinID,87)
战场地址x=进程.读float(wowProID,#D38B10)
//在向前走2秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
战场地址x1=进程.读float(wowProID,#D38B10)
//判断战场是否开始(如果没开始就继续向前跑)
while((战场地址x1-战场地址x)<2)
战场地址x=进程.读float(wowProID,#D38B10)
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(2000)
战场地址x1=进程.读float(wowProID,#D38B10)
endwhile
//先向前走12秒
窗口.提交按下(wowWinID,87)
辅助.等待(12000)
窗口.提交弹起(wowWinID,87)
return 0
endfunction
function int 风暴之眼()
辅助.等待(3000)
double 战场地址y
double 战场地址y1
//先向前走3秒
窗口.提交按下(wowWinID,87)
辅助.等待(4000)
窗口.提交弹起(wowWinID,87)
战场地址y=进程.读float(wowProID,#D38B0C)
//在向前走2秒
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
战场地址y1=进程.读float(wowProID,#D38B10)
//判断战场是否开始(如果没开始就继续向前跑)
while(数学.绝对值(战场地址y1-战场地址y)<2)
战场地址y=进程.读float(wowProID,#D38B10)
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交弹起(wowWinID,87)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(2000)
战场地址y1=进程.读float(wowProID,#D38B10)
endwhile
//先向前走3秒
窗口.提交按下(wowWinID,87)
辅助.等待(3000)
窗口.提交弹起(wowWinID,87)
return 0
endfunction
function int 征服之岛()
return 0
endfunction
function int 释放复活()
int 血量
string 地址血量
int 位置
string 血量值
位置=0
///点击释放灵魂
if(血量地址!=0)
地址血量=进程.读string(wowProID,血量地址,5)
位置=字符串.查找字符串(地址血量,"/")
if(位置!=-1)
血量值=字符串.截取(地址血量,1,位置-1)
血量=转换.字符型转整型(血量值)
else
血量=转换.字符型转整型(地址血量)
endif
//角色已经死亡 ,点击释放
if(血量==0||血量==1)
辅助.等待(1000)
//辅助.打印("角色已经死亡")
鼠标.移动(510,195)
辅助.等待(200)
鼠标.移动(510,195)
鼠标.左键单击(1)
辅助.等待(3000)
//等待复活中
int i
i=1
while(true)
if(i==1)
//辅助.打印("正在复活中")
i=i+1
endif
辅助.等待(3000)
地址血量=进程.读string(wowProID,血量地址,5)
位置=0
位置=字符串.查找字符串(地址血量,"/")
if(位置!=-1)
血量值=字符串.截取(地址血量,1,位置-1)
if(字符串.比较(血量值,角色血量)==0)
//辅助.打印("角色复活成功!")
double 坐标
坐标=进程.读float(wowProID,#D38B10)
//判断是否要转身
if(坐标>1554.0&&坐标<1555.0)
辅助.等待(1000)
窗口.提交按下(wowWinID,68)
辅助.等待(800)
窗口.提交弹起(wowWinID,68)
endif
//判断是否要转身
if(坐标>1163.0&&坐标<1164.0)
辅助.等待(1000)
窗口.提交按下(wowWinID,68)
辅助.等待(1000)
窗口.提交弹起(wowWinID,68)
endif
break
endif
endif
endwhile
endif
endif
return 0
endfunction
//查找怪血量的内存地址
function int 寻找地址(string 字符串)
int 内容
内容=0
地址=0
地址1=0
地址2=0
地址3=0
地址=进程.找string(wowProID,字符串,#400000,#2fffffff)
//确定地址
if(地址!=0)
内容=进程.读byte(wowProID,地址+16)
if(内容>=1&&内容<=16)
内容=进程.读byte(wowProID,地址+18)
if(内容==3)
return 地址
endif
endif
endif
if(地址!=0)
地址1=进程.找string(wowProID,字符串,地址+1,#2fffffff)
//确定地址
if(地址1!=0)
内容=进程.读byte(wowProID,地址1+16)
if(内容>=1&&内容<=16)
内容=进程.读byte(wowProID,地址1+18)
if(内容==3)
return 地址1
endif
endif
endif
else
return 1
endif
//
if(地址1!=0)
地址2=进程.找string(wowProID,字符串,地址1+1,#2fffffff)
if(地址2!=0)
内容=进程.读byte(wowProID,地址2+16)
if(内容>=1&&内容<=16)
内容=进程.读byte(wowProID,地址2+18)
if(内容==3)
return 地址2
endif
endif
endif
else
return 1
endif
if(地址2!=0)
地址3=进程.找string(wowProID,字符串,地址2+1,#2fffffff)
if(地址3!=0)
内容=进程.读byte(wowProID,地址3+16)
if(内容>=1&&内容<=16)
内容=进程.读byte(wowProID,地址3+18)
if(内容==3)
return 地址3
endif
endif
endif
endif
return 0
endfunction
function int 得到地址(string 角色血量1)
string 字符串
int 读取地址
字符串=字符串.连接(角色血量1," / ")
字符串=字符串.连接(字符串,角色血量1)
读取地址=战场.寻找地址(字符串)
return 读取地址
endfunction
function bool 进入战场(string 战场)
string 战场类型
string 序号字符
string 序号
int 战场长度
int i
int n
int nun
int 开始
开始=1
//窗口.还原(wowWinID)
//辅助.等待(1000)
窗口.提交按键(wowWinID,72)
鼠标.移动(95,525)
辅助.等待(200)
鼠标.移动(95,525)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
//辅助.打印("开始选择要进入战场")
战场长度=字符串.长度(战场)
n=战场长度
战场号=战场
while(true)
辅助.等待(2000)
i=1
if(n<3)
序号=战场
endif
if(n==3)
if(j==1)
序号=字符串.截取(战场号,1,2)
endif
if(j==2)
string temp
序号=字符串.截取(战场号,1,1)
temp=字符串.截取(战场号,3,3)
序号=字符串.连接(序号,temp)
j=1
endif
j=j+1
endif
if(n==4)
if(j==1)
序号=字符串.截取(战场号,1,2)
endif
if(j==2)
序号=字符串.截取(战场号,3,4)
j=1
endif
j=j+1
endif
if(n==5)
if(j==1)
序号=字符串.截取(战场号,1,2)
endif
if(j==2)
序号=字符串.截取(战场号,3,4)
endif
if(j==3)
string temp
序号=字符串.截取(战场号,1,1)
temp=字符串.截取(战场号,5,5)
序号=字符串.连接(temp,序号)
j=1
endif
j=j+1
endif
if(n==6)
if(j==1)
序号=字符串.截取(战场号,1,2)
endif
if(j==2)
序号=字符串.截取(战场号,3,4)
endif
if(j==3)
序号=字符串.截取(战场号,5,6)
j=1
endif
j=j+1
endif
if(n==7)
if(j==1)
序号=字符串.截取(战场号,1,2)
endif
if(j==2)
序号=字符串.截取(战场号,3,4)
endif
if(j==3)
序号=字符串.截取(战场号,5,6)
endif
if(j==4)
string temp
序号=字符串.截取(战场号,1,1)
temp=字符串.截取(战场号,7,7)
序号=字符串.连接(temp,序号)
j=1
endif
j=j+1
endif
while(i<=2)
序号字符=字符串.截取(序号,i-1,i)
//当获取到序号是1的时候,表示随机战场
if(字符串.比较(序号字符,"1")==0)
///点击选择战场队列
鼠标.移动(150,200)
辅助.等待(200)
鼠标.移动(150,200)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
endif
//当获取到序号是2的时候,表示战歌峡谷
if(字符串.比较(序号字符,"2")==0)
///点击选择战场队列
鼠标.移动(150,215)
辅助.等待(200)
鼠标.移动(150,215)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
endif
//当获取到序号是3的时候,表示阿拉希盆地
if(字符串.比较(序号字符,"3")==0)
///点击选择战场队列
鼠标.移动(150,230)
辅助.等待(200)
鼠标.移动(150,230)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
endif
//当获取到序号是4的时候,表示奥山战场
if(字符串.比较(序号字符,"4")==0)
///点击选择战场队列
鼠标.移动(150,245)
辅助.等待(200)
鼠标.移动(150,245)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
endif
//当获取到序号是5的时候,表示风暴战场
if(字符串.比较(序号字符,"5")==0)
///点击选择战场队列
鼠标.移动(150,260)
辅助.等待(200)
鼠标.移动(150,260)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
endif
//当获取到序号是6的时候,表示远古海滩
if(字符串.比较(序号字符,"6")==0)
//先点击向下的滚动条
鼠标.移动(333,260)
辅助.等待(200)
鼠标.移动(333,260)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
辅助.等待(2000)
///点击选择战场队列
鼠标.移动(150,245)
辅助.等待(200)
鼠标.移动(150,245)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
//点击向上的滚动条,还原滚动条
鼠标.移动(333,195)
辅助.等待(200)
鼠标.移动(333,195)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
endif
//当获取到序号是7的时候,表示征服之岛
if(字符串.比较(序号字符,"7")==0)
//先点击向下的滚动条
鼠标.移动(333,260)
辅助.等待(200)
鼠标.移动(333,260)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
辅助.等待(2000)
///点击选择战场队列
鼠标.移动(150,260)
辅助.等待(200)
鼠标.移动(150,260)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
///点击加入战场队列
鼠标.移动(200,495)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
//点击向上的滚动条,还原滚动条
鼠标.移动(333,195)
辅助.等待(200)
鼠标.移动(333,195)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(200)
endif
i=i+1
endwhile
//开始等待进入战场
if(开始==1)
//辅助.打印("开始等待进入战场")
开始=开始+1
endif
鼠标.移动(450,195)
辅助.等待(200)
鼠标.移动(450,195)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(2000)
窗口.提交按键(wowWinID,32)
double 临时坐标
临时坐标=进程.读float(wowProID,#D38B10)
临时坐标=临时坐标-当前坐标
临时坐标=数学.绝对值(临时坐标)
if(临时坐标>50)
//辅助.打印("已经进入战场,准备战场搞起")
return true
endif
辅助.等待(5000)
endwhile
return true
endfunction
function bool 战场搞起()
double 战场地址x
double 战场地址y
辅助.等待(4000)
战场地址x=进程.读float(wowProID,#D38B10)
战场地址y=进程.读float(wowProID,#D38B0C)
//战歌峡谷战场 (LM)
if((战场地址x-1481.0)<1&&(战场地址x-1481.0)>0)
战场.战歌峡谷()
endif
//战歌峡谷战场 (BL)
if((战场地址x-1433.0)<1&&(战场地址x-1433.0)>0)
战场.战歌峡谷()
endif
//阿拉希盆地战场 (LM)
if((战场地址x-1310.0)<1&&(战场地址x-1310.0)>0)
战场.阿拉希盆地()
endif
//阿拉希盆地战场 (BL)
if((战场地址x-681.0)<1&&(战场地址x-681.0)>0)
战场.阿拉希盆地()
endif
//奥特兰克山谷战场(LM)
if((战场地址x-(-492.0))>0&&(战场地址x-(-492.0))<1)
战场.奥特兰克山谷()
endif
//奥特兰克山谷战场(BL)
if((战场地址x-(-611.0))>0&&(战场地址x-(-611.0))<1)
战场.奥特兰克山谷BL()
endif
//风暴之眼战场(LM)
if((战场地址y-2523.0)>0&&(战场地址y-2523.0)<1)
战场.风暴之眼()
endif
//风暴之眼战场(BL)
if((战场地址y-1807.0)>0&&(战场地址y-1807.0)<1)
战场.风暴之眼()
endif
//远古海滩战场
//if(战场地址==)
//战场.远古海滩()
//endif
//征服之岛战场(LM)
if((战场地址x-(-837.0))>0&&(战场地址x-(-837.0))<1)
战场.征服之岛()
endif
//征服之岛战场(BL)
if((战场地址x-(-763.0))>0&&(战场地址x-(-763.0))<1)
战场.征服之岛()
endif
while(true)
//判断角色是否死亡
战场.释放复活()
//先向前跑W5秒
窗口.提交按下(wowWinID,87)
辅助.等待(300)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(200)
窗口.提交弹起(wowWinID,87)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
//先右前跑2秒
辅助.等待(200)
窗口.提交按下(wowWinID,69)
辅助.等待(1000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(500)
窗口.提交弹起(wowWinID,69)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
窗口.提交按下(wowWinID,87)
辅助.等待(2000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(500)
窗口.提交弹起(wowWinID,87)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
//先左前跑2秒
辅助.等待(200)
窗口.提交按下(wowWinID,81)
辅助.等待(1000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(500)
窗口.提交弹起(wowWinID,81)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
窗口.提交按下(wowWinID,87)
辅助.等待(600)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(500)
窗口.提交弹起(wowWinID,87)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
//后退走
窗口.提交按下(wowWinID,83)
辅助.等待(2000)
窗口.提交按下(wowWinID,32)
辅助.等待(100)
窗口.提交弹起(wowWinID,32)
辅助.等待(1000)
窗口.提交弹起(wowWinID,83)
//攻击
窗口.提交按键(wowWinID,9)
辅助.等待(1000)
窗口.提交按键(wowWinID,49)
辅助.等待(1000)
窗口.提交按键(wowWinID,50)
辅助.等待(1000)
窗口.提交按键(wowWinID,51)
//判断角色是否死亡
战场.释放复活()
///点击退出战场
鼠标.移动(540,540)
辅助.等待(200)
鼠标.移动(540,540)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.左键单击(1)
辅助.等待(7000)
double 临时坐标
临时坐标=进程.读float(wowProID,#D38B10)
if(临时坐标>(当前坐标-100.0)&&临时坐标<(当前坐标+100.0))
//辅助.打印("开始退出战场")
break
endif
endwhile
return true
endfunction
function bool 选择战场(string 战场)
窗口.最大化(wowWinID)
辅助.等待(1000)
窗口.置顶(wowWinID)
辅助.等待(1000)
int 战场次数
战场次数=0
while(true)
当前坐标=进程.读float(wowProID,#D38B10)
double 临时坐标
临时坐标=进程.读float(wowProID,#D38B10)
if(当前坐标==临时坐标)
战场.进入战场(战场)
战场.战场搞起()
endif
endwhile
return true
endfunction
功能 整型 开始_点击()
//定义main函数,main函数为整个程序的入口函数,函数返回为int类型
wowProID=进程.获取进程句柄("魔兽世界")
wowWinID=窗口.找到窗口("魔兽世界")
string 战场类型
string 战场序号
string 字符串
string 战场选择
string nn
int 类型
int 类型1
类型=1
类型1=1
int 序号
int 序号长度
int 字符比较
int 寻找地址
int i
int n
n=1
i=1
字符比较=1
战场选择=""
血量地址=0
string 输入
角色血量=编辑框.获得文本("编辑框0")
if(字符串.长度(角色血量)==0)
辅助.消息框("请输入角色当前血量值!")
return 0
endif
输入="你当前游戏角色满血的时候的血量是:"
输入=字符串.连接(输入,角色血量)
//辅助.打印(输入)
//判断是否已经选择战场类型
if(!单选框.获得状态("单选框0"))
if(!单选框.获得状态("单选框1"))
辅助.消息框("请选择挂战场的类型!")
return 0
endif
endif
if(单选框.获得状态("单选框0"))
标签.设置文本("标签3","程序初始化中,请稍等半分钟左右...")
血量地址=战场.得到地址(角色血量)
if(血量地址==0||血量地址==1)
辅助.消息框("血量地址查找失败!请重新登录游戏!!")
标签.设置文本("标签3","程序初始化失败!")
endif
标签.设置文本("标签3","程序初始化完成!")
战场.选择战场("1")
endif
if(单选框.获得状态("单选框1"))
string 战歌峡谷
string 阿拉希盆地
string 奥特兰克山谷
string 风暴之眼
string 远古海滩
string 征服之岛
战歌峡谷=""
阿拉希盆地=""
奥特兰克山谷=""
风暴之眼=""
远古海滩=""
征服之岛=""
//判断是否已经选择战场
if(!复选框.获得状态("复选框0"))
if(!复选框.获得状态("复选框1"))
if(!复选框.获得状态("复选框2"))
if(!复选框.获得状态("复选框3"))
if(!复选框.获得状态("复选框4"))
if(!复选框.获得状态("复选框5"))
辅助.消息框("请选择要排的战场!")
return 0
endif
endif
endif
endif
endif
endif
if(复选框.获得状态("复选框0"))
战歌峡谷="2"
endif
if(复选框.获得状态("复选框1"))
阿拉希盆地="3"
endif
if(复选框.获得状态("复选框2"))
奥特兰克山谷="4"
endif
if(复选框.获得状态("复选框3"))
风暴之眼="5"
endif
if(复选框.获得状态("复选框4"))
远古海滩="6"
endif
if(复选框.获得状态("复选框5"))
征服之岛="7"
endif
战场序号=字符串.格式化("%s%s%s%s%s%s",战歌峡谷,阿拉希盆地,奥特兰克山谷,风暴之眼,远古海滩,征服之岛)
//辅助.打印("程序初始化中,请稍等...")
标签.设置文本("标签3","程序初始化中,请稍等半分钟左右...")
血量地址=战场.得到地址(角色血量)
if(血量地址==0||血量地址==1)
辅助.消息框("血量地址查找失败!请重新登录游戏!!")
标签.设置文本("标签3","程序初始化失败!")
endif
标签.设置文本("标签3","程序初始化完成!")
战场.选择战场(战场序号)
endif
return 0
//函数返回语句
endfunction
//main函数结束语句
功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()
返回 真
功能结束
空间结束
作者: jy0024426 时间: 2012-2-6 03:23
:-|:-|:-|:-|:-|
作者: zhujiawen929 时间: 2012-2-8 16:22
看不到啊
作者: zjzjxtm 时间: 2012-2-10 01:51
zhe这个脚本能用吗?
作者: 班瑞 时间: 2012-2-14 01:07
我我我我我我我我我我我我我
作者: jonson2012 时间: 2012-2-14 16:42
学习学习
作者: 1551165000 时间: 2012-2-15 01:32
是不是回复了以后就可以下载了?
作者: m121212mmm 时间: 2012-2-15 01:48
为啥附件都不能下载呢
作者: choo0703 时间: 2012-2-16 19:26
为什么我找不到下载的地方
作者: danwang0918 时间: 2012-2-18 07:32
怎么看不到附件的啊
作者: ywd041501 时间: 2012-2-18 11:44
魔兽世界自动挂战场脚本
作者: autocad37 时间: 2012-3-12 15:53
支持一下~~~希望好用
作者: yizhenge 时间: 2012-3-21 10:40
这…………表示看不懂。
作者: yanzi1985 时间: 2012-3-22 18:27
:<:<看不懂
作者: liu2926705 时间: 2012-3-22 21:22
很好很强大
作者: msn263 时间: 2012-3-28 15:41
while((战场地址x-战场地址x1)<2)
通不过,提示 错误信息:实参数列表'战场地址x-战场地址x1'与形参列表 '原数' 不对应
作者: dxy2330 时间: 2012-3-31 18:24
下来看看先
作者: thwan521 时间: 2012-3-31 23:14
mnbvhvcnhggf
作者: 1156876752 时间: 2012-4-2 07:19
路过
作者: zq8227559 时间: 2012-4-4 16:50
ddddddddddddddddddddddd
作者: ljg001 时间: 2012-4-8 08:54
为什么总是“您所在的用户组无法下载或查看附件”
作者: Milia_小兮 时间: 2012-4-8 09:27
.............................
作者: sdlyboyhao 时间: 2012-4-8 21:53
顶!!!!:-o
作者: bjxiaolei 时间: 2012-4-10 20:02
今后哈哈哈哈哈哈哈哈哈
作者: 4700202042 时间: 2012-5-3 14:19
看看啦
作者: yulippen 时间: 2012-5-3 20:28
学习一下 看看是什么原理
作者: yulippen 时间: 2012-5-3 21:34
错误信息:实参数列表‘战场地址y1-战场地址y’与形参列表‘原数‘不对应
请问这是什么问题T.T
作者: kankaneryi 时间: 2012-5-6 22:06
有没有大大试过,效果怎么样啊。
作者: 081323 时间: 2012-5-6 23:42
魔兽世界的哦 挂战场好
作者: ro897321 时间: 2012-5-16 01:00
这才是我想要的~~~!!!值得学习
作者: iamlxm2012 时间: 2012-5-18 12:52
试试,NB的啊
作者: yhzl12 时间: 2012-6-29 03:17
看不懂啊!!!
作者: jipengbo210 时间: 2012-7-3 02:25
学习 学习··············学习 学习··············学习 学习··············学习 学习···········
作者: cckj 时间: 2012-7-15 19:39


作者: q423236520 时间: 2012-8-16 21:51
我想看一下能不能用,好多都不能用的
作者: 448916766 时间: 2012-8-19 19:30
v587
v587
v587

作者: mengtianxi 时间: 2012-9-16 16:27
真是长啊
作者: gnaf 时间: 2012-10-30 12:44
[Barreling Along]there's nothing much he left here
作者: gnaf 时间: 2012-10-30 12:47
怎么才给下载啊???
作者: 冷之殇 时间: 2012-12-24 21:39
看看 怎么样
作者: huwenan34 时间: 2013-2-7 23:43
想下附件
作者: q416828288 时间: 2013-3-13 16:52
好东西
作者: dadqwer123 时间: 2013-3-14 16:00
看起来好牛b的样子
作者: sk2001 时间: 2013-3-17 11:07
感谢楼主啊
作者: hwjyf1 时间: 2013-4-14 18:38
11111111111111111111111111111111111111
作者: hairong3068 时间: 2013-4-24 00:44
这个代码真是长呀!
作者: 无公害 时间: 2013-6-10 14:06
新人学习
作者: tcyyjtc 时间: 2013-7-23 16:30
怎么用啊?
作者: mouse321 时间: 2013-9-17 17:14
想下来看看啊~
作者: yangfusheng 时间: 2013-11-23 21:49
有贴必回,最喜欢楼主这样的有为青年了~
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) |
Powered by Discuz! X3.1 |