⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 天下聪明.ent

📁 天下2近身职业自动打怪脚本
💻 ENT
📖 第 1 页 / 共 2 页
字号:
[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 + -