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

📄 form1.frm

📁 武林外传外挂源代码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         Width           =   1455
      End
      Begin VB.CommandButton btnOff 
         Caption         =   "Off"
         Height          =   375
         Left            =   2880
         TabIndex        =   23
         Top             =   1200
         Width           =   495
      End
      Begin VB.CommandButton btnOn 
         Caption         =   "On"
         Height          =   375
         Left            =   2880
         TabIndex        =   22
         Top             =   720
         Width           =   495
      End
      Begin VB.CheckBox chkPick 
         Alignment       =   1  'Right Justify
         Caption         =   "Auto Pick:"
         Height          =   255
         Left            =   120
         TabIndex        =   15
         Top             =   3720
         Width           =   1455
      End
      Begin VB.CommandButton btnProcess 
         Caption         =   "Find"
         Height          =   375
         Left            =   2880
         TabIndex        =   8
         Top             =   240
         Width           =   495
      End
      Begin VB.Label Label9 
         AutoSize        =   -1  'True
         Caption         =   "Auto Attack:"
         Height          =   180
         Left            =   120
         TabIndex        =   44
         Top             =   4080
         Width           =   1080
      End
      Begin VB.Label lblInfo 
         AutoSize        =   -1  'True
         Caption         =   "INFO"
         Height          =   180
         Left            =   120
         TabIndex        =   13
         Top             =   240
         Width           =   360
      End
   End
   Begin MSComctlLib.TabStrip tsMain 
      Height          =   4815
      Left            =   120
      TabIndex        =   2
      Top             =   120
      Width           =   3735
      _ExtentX        =   6588
      _ExtentY        =   8493
      _Version        =   393216
      BeginProperty Tabs {1EFB6598-857C-11D1-B16A-00C0F0283628} 
         NumTabs         =   5
         BeginProperty Tab1 {1EFB659A-857C-11D1-B16A-00C0F0283628} 
            Caption         =   "Info"
            Object.Tag             =   "0"
            ImageVarType    =   2
         EndProperty
         BeginProperty Tab2 {1EFB659A-857C-11D1-B16A-00C0F0283628} 
            Caption         =   "Attack"
            Object.Tag             =   "1"
            ImageVarType    =   2
         EndProperty
         BeginProperty Tab3 {1EFB659A-857C-11D1-B16A-00C0F0283628} 
            Caption         =   "Protect"
            Object.Tag             =   "2"
            ImageVarType    =   2
         EndProperty
         BeginProperty Tab4 {1EFB659A-857C-11D1-B16A-00C0F0283628} 
            Caption         =   "Around"
            Object.Tag             =   "3"
            ImageVarType    =   2
         EndProperty
         BeginProperty Tab5 {1EFB659A-857C-11D1-B16A-00C0F0283628} 
            Caption         =   "Object"
            Object.Tag             =   "4"
            ImageVarType    =   2
         EndProperty
      EndProperty
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Sub btnOff_Click()
    tmrAntiRobot.Enabled = False
    tmrInfo.Enabled = False
    btnOn.Enabled = True
    btnOff.Enabled = False
End Sub

Private Sub btnOn_Click()
    tmrAntiRobot.Interval = 1000
    tmrAntiRobot.Enabled = True
    tmrInfo.Interval = 1000
    tmrInfo.Enabled = True
    btnOn.Enabled = False
    btnOff.Enabled = True
    lAttSkillCursor = 1
End Sub

Private Sub chkPosition_Click()
    txtPositionX.Text = bbChar.x
    txtPositionY.Text = bbChar.y
End Sub

Private Sub Form_Load()
    Dim ii As Long
    '设置界面
    App.TaskVisible = False
    Me.Width = 4110
    Me.Height = 5565
    For ii = 0 To 4
        If ii <> 0 Then Frame1(ii).Visible = False
        Frame1(ii).Top = 480
        Frame1(ii).Left = 240
        Frame1(ii).BorderStyle = 0
    Next
    '设置参数
    For ii = 0 To 3
        With cboAttSkill(ii)
            .Clear
            .AddItem "普通攻击    00000000"
            .AddItem "八卦掌      00000173"
            .AddItem "仙人指路    0000017D"
            .AddItem "玉女穿梭    00000181"
            .AddItem "太渊十三剑  00000184"
            .AddItem "雁南飞      000001EB"
            .AddItem "雪花六出    000001F5"
            .AddItem "梅花三弄    000001F9"
            .AddItem "推心掌      00000137"
            .AddItem "水淹七军    00000141"
            .AddItem "火烧赤壁    00000145"
            .AddItem "奋力打击    000000F2"
            .AddItem "落英剑      00000209"
            .AddItem "溪山行旅    00000217"
            .AddItem "貂蝉拜月    00000191"
            .ListIndex = 0
        End With
    Next
    With cboStrSkill
        .Clear
        .AddItem "无"
        .AddItem "犀牛望月    00000188"
        .AddItem "葵花神力    0000014C"
        .ListIndex = 0
    End With
    cboHPProtect.ListIndex = 8
    cboMPProtect.ListIndex = 9
    cboFeed.ListIndex = 10
    txtTargetList.Text = "灰熊,金钱豹,西北狼,归风庄庄客,白堤柳鬼,沙漠马匪,赤脚野人,花斑豹,高山白猿,山蛛,盗墓小贼,门墩,铜轨,颍水狼,白额虎,恶猿,遗弃木人,遗弃铜人,卢崖铜人,荒原豹"
    strTargetList = Split(txtTargetList.Text, ",")
    '设置其他运行参数
    lPickCursor = 0
    For ii = 0 To 256
        lPick(ii) = 0
    Next
End Sub

Private Sub btnProcess_Click()
    frmProcess.Show 1
    frmProcess.GetProcessList
    Me.Caption = Hex(hWndGame) & " " & Hex(dwProcessId)
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    End
End Sub

Private Sub lvObjectId_Click()
    lblObjectID.Caption = lvObjectId.SelectedItem.Text & " | " & lvObjectId.SelectedItem.SubItems(1) & " | " & lvObjectId.SelectedItem.SubItems(2)
End Sub

Private Sub tmrAntiRobot_Timer()
    tmrAntiRobot.Enabled = False
    '防外挂问答提示
    Call GetAntiRobot
    If lAntiRobot = 1 Then
        sndPlaySound App.Path & "\sms.wav", SND_ASYNC Or SND_NODEFAULT
    End If
    '保护
    If chkProtect.Value = 1 Then
        '吃红
        If cboHPProtect.ListIndex <> 0 And bbChar.hp < bbChar.hpmax * Val(txtHPProtect.Text) / 100 Then
            Call PressKey(vbKeyF1 + cboHPProtect.ListIndex - 1)
        End If
        '吃蓝
        If cboMPProtect.ListIndex <> 0 And bbChar.mp < bbChar.mpmax * Val(txtMPProtect.Text) / 100 Then
            Call PressKey(vbKeyF1 + cboMPProtect.ListIndex - 1)
        End If
        '喂养
        If cboFeed.ListIndex <> 0 And bbPet.hp < bbPet.hpmax * Val(txtFeed.Text) / 100 And bbPet.id > 0 Then
            Call PressKey(vbKeyF1 + cboFeed.ListIndex - 1)
        End If
    End If
    Dim l As Long
    '辅助技能
    If cboStrSkill.ListIndex <> 0 Then
        l = GetTickCount
        If l - Val(txtStrSkill.Tag) > Val(txtStrSkill.Text) * 1000 Then
            txtStrSkill.Tag = l
            If bbChar.id > 0 Then
                Call fnUseSkill(Val("&H" & Right(cboStrSkill.Text, 8)), bbChar.id)
                Call Sleep(1000)
            End If
            If bbPet.id > 0 Then
                Call fnUseSkill(Val("&H" & Right(cboStrSkill.Text, 8)), bbPet.id)
                Call Sleep(1000)
            End If
        End If
    End If
    tmrAntiRobot.Enabled = True
End Sub

Private Sub tmrInfo_Timer()
    tmrInfo.Enabled = False
    Dim ii As Long
    Dim li As ListItem
    Dim lAttSkill(3) As Long
    '读取信息
    Call GetCharInfo
    Call GetMonster
    Call GetObjectId
    With lblInfo
        '显示角色信息
        .Caption = Trim(Left(bbChar.sz, 10))
        .Caption = .Caption & vbCrLf & "LV:  " & CStr(bbChar.lvl)
        .Caption = .Caption & vbCrLf & "ID:  " & Hex(bbChar.id)
        .Caption = .Caption & vbCrLf & "HP:  " & CStr(bbChar.hp) & "/" & CStr(bbChar.hpmax)
        .Caption = .Caption & vbCrLf & "MP:  " & CStr(bbChar.mp) & "/" & CStr(bbChar.mpmax)
        .Caption = .Caption & vbCrLf & "EX:  " & CStr(bbChar.exp)
        .Caption = .Caption & vbCrLf & "XY:  " & CInt(bbChar.x) & "," & CInt(bbChar.y) & "," & CInt(bbChar.z)
        .Caption = .Caption & vbCrLf & "SK:  " & Hex(lLastSkill) & "/" & Hex(lTargetId)
        .Caption = .Caption & vbCrLf
        '显示珍兽信息
        .Caption = .Caption & vbCrLf & Trim(Left(bbPet.sz, 10))
        .Caption = .Caption & vbCrLf & "ID:  " & Hex(bbPet.id)
        .Caption = .Caption & vbCrLf & "LV:  " & CStr(bbPet.lvl)
        .Caption = .Caption & vbCrLf & "HP:  " & CStr(bbPet.hp) & "/" & CStr(bbPet.hpmax)
        .Caption = .Caption & vbCrLf & "HA:  " & CStr(bbPet.happy)
    End With
    '显示周围怪
    lvMonster.ListItems.Clear
    For ii = 0 To cntMonster - 1
            Set li = lvMonster.ListItems.Add(, , Hex(bbMonster(ii).id))
            'li.SubItems(1) = Trim(StrConv(bbMonster(ii).sz, vbUnicode))
            li.SubItems(1) = Trim(bbMonster(ii).sz)
            li.SubItems(2) = CStr(CLng(bbMonster(ii).x))
            li.SubItems(3) = CStr(CLng(bbMonster(ii).y))
    Next
    '显示对象ID
    lvObjectId.ListItems.Clear
    For ii = 0 To cntObjectId - 1
            Set li = lvObjectId.ListItems.Add(, , Hex(bbObjectId(ii).id))
            li.SubItems(1) = bbObjectId(ii).cls
            li.SubItems(2) = CLng(bbObjectId(ii).x) & "," & CLng(bbObjectId(ii).y) & "," & CLng(bbObjectId(ii).z)
    Next
    '打怪
    If optAttack(1).Value = True Then
        For ii = 0 To 3
            lAttSkill(ii) = Val("&H" & Right(cboAttSkill(ii).Text, 8))
        Next
        If lBusy = 0 Then
            '闲,选怪
            Call NearFar(1)
            '用技能1攻击,防止未冷却
            Call fnUseSkill(lAttSkill(0), lNearFar)
            '用技能2,3,4
            Call fnUseSkill(lAttSkill(lAttSkillCursor), lNearFar)
            '移动游标
            lAttSkillCursor = lAttSkillCursor + 1
            If lAttSkillCursor > 3 Then lAttSkillCursor = 1
        Else
            If lLastSkill <> lAttSkill(0) Then
                '用技能1攻击
                Call fnUseSkill(lAttSkill(0), lNearFar)
            End If
        End If
    End If
    '捡物
    If chkPick.Value = 1 Then
        For ii = 0 To cntObjectId
            If bbObjectId(ii).cls = "5FBC20" And (bbObjectId(ii).x - bbChar.x) ^ 2 + (bbObjectId(ii).y - bbChar.y) ^ 2 < 2 ^ 2 Then
                '捡距离小于2的
                Call PickPack(bbObjectId(ii).id)
            End If
        Next
    End If
    '引怪
    If optAttack(2).Value = True Then
        lAttSkill(0) = Val("&H" & Right(cboAttSkill(0).Text, 8))
        Call NearFar(2)
        Call fnUseSkill(lAttSkill(0), lNearFar)
    End If
    tmrInfo.Enabled = True
End Sub

Private Sub tsMain_Click()
    Dim vv As Long, ii As Long
    vv = Val(tsMain.SelectedItem.Tag)
    For ii = 0 To 4
        If ii = vv Then Frame1(ii).Visible = True Else Frame1(ii).Visible = False
    Next
End Sub

Private Sub txtTargetList_Change()
    strTargetList = Split(txtTargetList.Text, ",")
End Sub

Private Sub NearFar(nf As Long)
    Dim ii  As Long, jj As Long, ss As String, ret As Long
    Dim distOld As Double, distNew As Double, xPos As Single, yPos As Single
    '定点
    If chkPosition.Value = 0 Then
        xPos = bbChar.x
        yPos = bbChar.y
    Else
        xPos = Val(txtPositionX.Text)
        yPos = Val(txtPositionY.Text)
    End If
    
    '选近
    If nf = 1 Then
        distOld = 999999999
        If chkTargetList.Value = 0 Then
            For ii = 0 To cntMonster - 1
                '列表筛选怪
                For jj = LBound(strTargetList) To UBound(strTargetList)
                    ss = strTargetList(jj)
                    If Left(bbMonster(ii).sz, Len(ss)) = ss And ss <> "" Then
                        '计算距离
                        distNew = Sqr((bbMonster(ii).x - xPos) ^ 2 + (bbMonster(ii).y - yPos) ^ 2)
                        If distNew < distOld Then
                            ret = bbMonster(ii).id
                            lNearestDist = distNew
                            distOld = distNew
                        End If
                    End If
                Next
            Next
        Else
            For ii = 0 To cntMonster - 1
                If bbMonster(ii).id > Val("&H" & txtIDFrom.Text) And bbMonster(ii).id < Val("&H" & txtIDTo.Text) Then
                    '计算距离
                    distNew = Sqr((bbMonster(ii).x - xPos) ^ 2 + (bbMonster(ii).y - yPos) ^ 2)
                    If distNew < distOld Then
                        ret = bbMonster(ii).id
                        lNearestDist = distNew
                        distOld = distNew
                    End If
                End If
            Next
        End If
    End If
    '选远
    If nf = 2 Then
        distOld = 0
        If chkTargetList.Value = 0 Then
            For ii = 0 To cntMonster - 1
                '列表筛选怪
                For jj = LBound(strTargetList) To UBound(strTargetList)
                    ss = strTargetList(jj)
                    If Left(bbMonster(ii).sz, Len(ss)) = ss And ss <> "" Then
                        '计算距离
                        distNew = Sqr((bbMonster(ii).x - xPos) ^ 2 + (bbMonster(ii).y - yPos) ^ 2)
                        If distNew > distOld Then
                            ret = bbMonster(ii).id
                            lNearestDist = distNew
                            distOld = distNew
                        End If
                    End If
                Next
            Next
        Else
            For ii = 0 To cntMonster - 1
                If bbMonster(ii).id > Val("&H" & txtIDFrom.Text) And bbMonster(ii).id < Val("&H" & txtIDTo.Text) Then
                    '计算距离
                    distNew = Sqr((bbMonster(ii).x - xPos) ^ 2 + (bbMonster(ii).y - yPos) ^ 2)
                    If distNew > distOld Then
                        ret = bbMonster(ii).id
                        lNearestDist = distNew
                        distOld = distNew
                    End If
                End If
            Next
        End If
    End If
    lNearFar = ret
End Sub

Private Sub PressKey(k As Long)
    PostMessage hWndGame, WM_KEYDOWN, k, MakeKeyLparam(k, WM_KEYDOWN)
    Sleep 100
    PostMessage hWndGame, WM_KEYUP, k, MakeKeyLparam(k, WM_KEYUP)
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -