📄 天下聪明.ent
字号:
[ScriptOption]
Description=天下2
BeginHotkey= 36
BeginHotkeyMod= 0
EndHotKey= 35
EndHotKeyMod= 0
RunOnce= 0
Enable= 0
Type= 1
Number= 1
ScriptFormat= 0
[Comment]
1放红,2普通技能,3、4、5攻击技能,6幻化,7、8、9辅助技能,0召唤
小精灵参数设置有:
辅助技能使用一次是时间
挂机范围
职业选择(1为太虚,0为其它)
是否进行范围挂机(1为是,0为否)
补红蓝设置
打坐前的延迟时间(防止被毒后异常站立)
坐标的内存地址(有默认的,如果跑位不正确,请自己搜索)
[InitVar]
UserVar=挂机范围|VarName=fw|Type=Long|Value=50
UserVar=打坐HP%|VarName=xuept|Type=Long|Value=70
UserVar=紧急补血%|VarName=xuejj|Type=Long|Value=40
UserVar=打坐MP%|VarName=lanpt|Type=Long|Value=20
UserVar=7键技能时间|VarName=jntime_2|Type=Long|Value=540000
UserVar=8键技能时间|VarName=jntime_3|Type=Long|Value=530000
UserVar=9键技能时间|VarName=jntime_4|Type=Long|Value=520000
UserVar=打坐前停顿时间|VarName=dztime|Type=Long|Value=10
UserVar=职业(1太虚,0其它)|VarName=zhiye|Type=Long|Value=0
UserVar=东坐标内存|VarName=zb_x|Type=Long|Value=&h00A767C8
UserVar=南坐标内存|VarName=zb_y|Type=Long|Value=&h00A767C8
UserVar=拣物时间|VarName=wp_time|Type=Long|Value=2000
UserVar=范围挂机(1是0否)|VarName=fw_yes|Type=Long|Value=1
UserVar=死亡后关机(1是0否)|VarName=shut|Type=Long|Value=0
[VBSScriptCode]
[Main]
'我测试的是天机职业、太虚,其它的请照着修改
'--------------游戏窗口要求开始---------------------------
'1024*768,32色最好
’--------------------------------------------------------
'###########################参数级技能放置##################################
'1放红,2普通技能,3、4、5攻击技能,6幻化,7、8、9辅助技能,0召唤
'小精灵参数设置有:
'辅助技能使用一次是时间
'挂机范围
'职业选择(1为太虚,0为其它)
'是否进行范围挂机(1为是,0为否)
'补红蓝设置
'打坐前的延迟时间(防止被毒后异常站立)
'坐标的内存地址(有默认的,如果跑位不正确,请自己搜索)
'其它
'###################################################################
'@@@@@@@@@@@@@@@@@@@@@@@@@@功能简介@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
'范围挂机
'自动无极补红蓝
'打坐补红蓝
'自动换方向找怪并打怪和拣东西
'被攻击自动还击
'不能够补给时自动幻化
'更多功能等待你的发现
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Dim dztime,xuept,xuejj,xpt,xjj,lpt,lanpt,ttime,ntime,ptime,dtime,ctime,atime,htime,qtime '最好都定义了啊,不然就像我那样控制不了辅助技能的时间
Dim hwnd,zuobiao_x,zuobiao_y,fw,pi,jd_one,centerx,centery,runtime,runtime1,huanhua
Dim jntime_1,jntime_2,jntime_3,jntime_4,wp_time,zhiye
'********************************住脚本开始*************************************
Sub Main()
pi=3.14
jd_one=cint(90/16.5) '每按一下旋转键选择的角度,其中16.5为按旋转键一圈(比如A)需要的按键次数
zuobiao_x=zb_x '东坐标基地址(用CE填上整数搜索float数据模式2次就搞定)
zuobiao_y=zb_y '北坐标基址
Hwnd = HApp.GetAcceptHwnd()
centerx=int(HMEM.Read4Float(Hwnd,zuobiao_x)) '东
centery=int(HMEM.Read4Float(Hwnd,zuobiao_y)) '北
i=100
huanhua=0 '幻化参数,0表示非幻化状态,1表示幻化状态,目前有问题。自己改写
'&&&&&&&&&&&&&&脚本运行时先加辅助技能&&&&&&&&&&&&&&&
KeyPressH "7",1
Delay 2000
KeyPressH "8",1
Delay 2000
KeyPressH "9",1
Delay 1000
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
TTIME=GetTime
NTIME=GetTime
PTIME=GetTime
qtime=GetTime
htime=GetTime
xpt=cint(xuept/(100/278))+93 '血条左侧坐标为93,28;右侧为371,28;278=371-93
xjj=cint(xuejj/(100/278))+93 '补蓝一个道理的
lpt=cint(lanpt/(100/200))+88
Do While i>0 '循环打怪开始,因为i总是大于0,所以就会一直循环。
If shut=1 Then
diecolor=GetPixelColor(93,28) '0点血就说明挂了
ColorToRGB diecolor,r,g,b
If r<100 Then
HSys.ExitOS(1) '这里可以做一个函数,比如死亡后怎么样怎么样,断网重连一个道理
End If
End If
Call pthpmp()
If fw_yes=1 Then Call yn_move() '判断是否在超过范围以及是否选定了范围挂机,1为范围,其它为非范围挂机
'End If
Call zhaoguai() '先找怪
Call gongji() '再打怪
'Call dongxi() '再拣东西 '经测试,拣东西放到把怪打死后更合适
If huanhua=1 Then
KeyPressH "2",1
Delay 300
huanhua=0
End If
Call jineng() '这个可以放找怪前也可放打怪后
'End If
Loop
End Sub
Function gongji()
ctime=GetTime
'If IsColor(115,726,&H112244,1) = 1 Then ' And IsColor(122,726,&H112244,1) = 0 Then '键盘控制 &H112244 &H77BBFF鼠标
'KeyPressH "Scroll",1
'Delay 200
' End If
Do While IsColor(715,105,&HDD,1) = 0 And GetTime-ctime<60000 '715,105处会在怪死后出现尸体字样
'If IsColor(12,18,&H225599,1)=1 And IsColor(484,100,&HEE,1) = 0 Then ’如果是长血怪,请选484,100
If IsColor(12,18,&H225599,1)=1 And IsColor(603,98,&HEE,1) = 0 Then '前进中怪被别人攻击
KeyPressH "ESC",1
Exit Do
End If
If zhiye=0 Then '如果是非太虚职业,按如下方式打怪,可以细分8个职业
If IsColor(12,18,&H225599,1)=1 Then '跑向怪物途中判断角色是否超过挂机范围,可以取消这个功能
If fw_yes =1 Then Call yn_move()
End If
KeyPressH "2",1
Delay 100
Call jjhpmp()
KeyPressH "3",1
Delay 1000
Call jjhpmp()
KeyPressH "4",1
Delay 1000
Call jjhpmp()
KeyPressH "5",1
Delay 1000
Call jjhpmp()
ElseIf zhiye=1 Then
If IsColor(12,18,&H225599,1)=1 Then '天机的打怪方式,可以分列8个不同职业
If fw_yes =1 Then Call yn_move()
End If
KeyPressH "F1",1
Delay 100
Call jjhpmp()
KeyPressH "2",1
Delay 1000
Call jjhpmp()
KeyPressH "3",1
Delay 1000
Call jjhpmp()
KeyPressH "4",1
Delay 1000
Call jjhpmp()
KeyPressH "5",1
Delay 1000
Call jjhpmp()
End If
Loop
If huanhua=1 Then
KeyPressH "F8",1
huanhua=0
End If
Call dongxi() '打完怪开始拣东西
End Function
Function dongxi()
KeyDownH "Shift"
Delay 100
KeyPressH "z",1
Delay wp_time
KeyUpH "Shift"
Call pthpmp()
End Function
Function jjhpmp() '紧急补血
jjcolor=GetPixelColor(xjj,28) '不多少说了,xjj就是上面转换过来的
ColorToRGB jjcolor,r,g,b
If r<100 Or g=221 Then '绿色分量为221,这个时候血量会少于15%
If IsColor(346,739,&H114455,1) = 1 Then '还不能够吃药丹
KeyPressH "6",1
Delay 2500
huanhuan=1
Else
KeyPressH "1",1 '如果有红,至少红色分量会大于113。
Delay 100
End If
End If
End Function
Function pthpmp() '普通打坐补红蓝函数
If NOT IsColor(12,18,&H225599,1)=1 Then
Exit Function
ElseIf IsColor(12,18,&H225599,1)=1 Then
ptcolor=GetPixelColor(xpt,28)
ColorToRGB ptcolor,r,g,b '见紧急补血
If r<100 Then '需要补红
Delay dztime
KeyPressH "U",1
Delay 200
DTIME=GetTime
Do While IsColor(361,27,&H1100EE,1) = 0 And GetTime-DTIME<60000
If NOT IsColor(12,18,&H225599,1)=1 Then Exit Function '打坐中被怪攻击退出函数
Delay 2000
Loop
KeyPressH "U",1
Delay 50
End If
ptcolor=GetPixelColor(lpt,43)
ColorToRGB ptcolor,r1,g1,b1
If b1<80 Then '需要补蓝
Delay dztime
KeyPressH "U",1
Delay 200
DTIME=GetTime
Do While IsColor(276,40,&HCC8800,1) = 0 And GetTime-DTIME<60000
If NOT IsColor(12,18,&H225599,1)=1 Then Exit Function
Delay 2000
Loop
KeyPressH "U",1
Delay 50
End If
End If
End Function
Function jineng() '定时辅助技能函数
If zhiye=1 Then
If not IsColor(396,63,&H1100bb,1) = 1 Then
KeyPressH "0",1
Delay 3000
End If
End If
If GetTime-NTIME >jntime_2 Then
KeyPressH "7",1
Delay 1000
NTIME=GetTime
End If
If GetTime-pTIME >jntime_3 Then
KeyPressH "8",1
Delay 1000
pTIME=GetTime
End If
If GetTime-qTIME >jntime_4 Then
KeyPressH "9",1
Delay 1000
qTIME=GetTime
End If
End Function
Function zhaoguai() '找怪函数
KeyPressH "Scroll",1 '按键<
'ATIME=GetTime
'Do While IsColor(484,100,&HEE,1) = 0 'And GetTime-atime<16000 '怪物血条最左边,适用于长血怪
Do While IsColor(603,98,&HEE,1) = 0 'And GetTime-atime<16000 '怪物血条最左边
Delay 100
KeyPressH "a",6 '这里的6可以调节一次转换视觉的大小,怪物分散可大
Delay 100
KeyPressH "tab",1
Delay 500
Loop
KeyPressH "Scroll",1
End Function
Function yn_move() '判断是否超过设定范围
dqx=int(HMEM.Read4Float(Hwnd,zuobiao_x)) '东
dqy=int(HMEM.Read4Float(Hwnd,zuobiao_y)) '北
linexy=int(sqr((dqx-centerx)*(dqx-centerx)+(dqy-centery)*(dqy-centery)))
If linexy>fw Then
yn_move=1 '超过范围,返回1
If zhiye=1 Then
KeyPressH "F2",1
Delay 50
End If
KeyPressH "ESC",1
Delay 200
KeyPressH "Scroll",1
Call mx_move(dqx,dqy,0,0,0)
Call fw_move(0,0,0,0)
Delay 500
KeyUpH "W"
Delay 50
KeyPressH "Scroll",1
End If
End Function
'(zbx1,zby1)为当前坐标,(zbx2,zby2)表示目标坐标,mx=1表示直接传递当前坐标和目标坐标,mx=0表示需要寻找面向
Function mx_move(zbx1,zby1,zbx2,zby2,mx) '面向调整函数
If mx=0 Then
zbx1=HMEM.Read4Float(Hwnd,zuobiao_x) '东
zby1=HMEM.Read4Float(Hwnd,zuobiao_y) '南
KeyDownH "W"
Delay 500
KeyUpH "W"
zbx2=HMEM.Read4Float(Hwnd,zuobiao_x) '东
zby2=HMEM.Read4Float(Hwnd,zuobiao_y) '南
End If
zbx=zbx2-zbx1
zby=zby2-zby1
If zbx>0 And zby>0 Then '第一象限
jd_xie=int(90-atn(abs(zby)/abs(zbx))*180/pi) '需要旋转的角度,以正上为准
KeyPressH "a",int(jd_xie/jd_one)
ElseIf zbx<0 And zby>0 Then '第二象限
jd_xie=int(90-atn(abs(zby)/abs(zbx))*180/pi) '需要旋转的角度,以正上为准
KeyPressH "d",int(jd_xie/jd_one)
ElseIf zbx<0 And zby<0 Then '第三象限
jd_xie=int(90+atn(abs(zby)/abs(zbx))*180/pi) '需要旋转的角度,以正上为准
KeyPressH "d",int(jd_xie/jd_one)
ElseIf zbx>0 And zby<0 Then '第四象限
jd_xie=int(90+atn(abs(zby)/abs(zbx))*180/pi) '需要旋转的角度,以正上为准
KeyPressH "a",int(jd_xie/jd_one)
ElseIf zbx=0 And zby>0 Then '面向正前方
Exit Function
ElseIf zbx=0 And zby<0 Then '面向背向正前方
KeyPressH "d",30
End If
End Function
'(fx1,fy1)为目标坐标,(fx2,fy2)为当前坐标
Function fw_move(fx1,fy1,fx2,fy2) '以最近方式走到目标位置附近函数
If fx2=0 Then
fx2=cint(HMEM.Read4Float(Hwnd,zuobiao_x)) '东
fy2=cint(HMEM.Read4Float(Hwnd,zuobiao_y)) '南
End If
fx1=centerx
fy1=centery
fy=abs(fy2-fy1)
fx=abs(fx2-fx1)
If fx=0 And fy2<fy1 Then
p=0
ElseIf fx=0 And fy2>fy1 Then
p=180
Else
p=(atn(abs(fy/fx)))*180/3.14
End If
runtime=GetTime
If fx1<fx2 And fy1<fy2 Then '第一象限
KeyPressH "A",int((p+90)/jd_one) '逆转90+p
Delay 50
If fy<fx Then
KeyDownH "W"
gotime=GetTime
Do While int(HMEM.Read4Float(hwnd,zuobiao_x))>=fx1
Delay 75
If NOT IsColor(12,18,&H225599,1)=1 Then
Exit Function
End If
If GetTime-gotime>15000 Then Exit Function
'Call zuai()
Loop
KeyUpH "W"
Call wt_move(fx1,fy1,fx2,fy2,0,1)
ElseIf fy>=fx Then
KeyDownH "W"
gotime=GetTime
Do While int(HMEM.Read4Float(hwnd,zuobiao_y))>=fy1
Delay 75
If NOT IsColor(12,18,&H225599,1)=1 Then
Exit Function
End If
If GetTime-gotime>15000 Then Exit Function
'Call zuai()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -