Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Npc Targeting
#5
Here's my BltTargetting sub.

Code:
Public Sub BltTargetting()
Dim X As Long
Dim Y As Long
Dim rec As DXVBLib.RECT

    If Not OverPlay Then
        If Current_Target = 0 Or Current_TargetType = TARGET_TYPE_NONE Then Exit Sub
    End If

    If Current_TargetType = TARGET_TYPE_PLAYER And HasTarget Then
        If Current_Target  MyIndex Then
            If GetPlayerMap(Current_Target)  GetPlayerMap(MyIndex) Then Exit Sub
        End If
    End If

    With rec
        .Top = PIC_Y
        If Not HasTarget Then .Top = 0
        .Bottom = .Top + PIC_Y
        .Left = 40 * TargetLeft
        .Right = .Left + 40
    End With
    
    If HasTarget Then
        If Current_TargetType = TARGET_TYPE_PLAYER Then
            X = ((Norm.X_Loc(GetPlayerX(Current_Target)) + Player(Current_Target).XOffset) - 4)
            Y = ((Norm.Y_Loc(GetPlayerY(Current_Target)) + Player(Current_Target).YOffset) + 8)
        ElseIf Current_TargetType = TARGET_TYPE_NPC Then
            X = ((Norm.X_Loc(MapNpc(Current_Target).X) + MapNpc(Current_Target).XOffset) - 4)
            Y = ((Norm.Y_Loc(MapNpc(Current_Target).Y) + MapNpc(Current_Target).YOffset) + 8)
        End If
    Else
        X = (CurX * PIC_X) - 4
        Y = (CurY * PIC_Y) + 8
    End If
    
    If X < 0 Then
        X = 0
        With rec
            .Left = .Left + (X * -1)
        End With
    End If
    
    Call DD_BackBuffer.BltFast(X, Y, DD_Target, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)

End Sub
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)