Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Mouse Movement (my way)
#1
(cause I love MS so much, I decided to release it.. hope somebody likes it.)

This tutorial can not be moved to any other forums, neither linked or anything. You can only come here to use it.

I will not explain anything were to put the things, it's pretty simple. So figure it out on your own.

Code:
If Button = vbRightButton Then
    If Not InEditor Then
        Call CharMove(X, Y)
    End If
    End If

Code:
Public Sub CharMove(ByVal X As Single, ByVal Y As Single)
'Finds the heading way with our mouse position
Dim iScrX As Integer
Dim iScrY As Integer
Dim lAngle As Long

iScrX = X - frmMirage.picScreen.Left - Player(MyIndex).X * 32
iScrY = Y - frmMirage.picScreen.top - Player(MyIndex).Y * 32
iScrY = -iScrY
If iScrY = 0 Then
    lAngle = 0
Else
    lAngle = Atn(iScrX / iScrY) * 180 / 3.14159265
End If

If (lAngle >= -45 And lAngle  0 Then
        DirUp = True
        DirDown = False
        DirLeft = False
        DirRight = False
        If CanMove = True Then
             Call SetPlayerDir(MyIndex, DIR_UP)
             Call CheckMovement
        End If
    Else
        DirUp = False
        DirDown = True
        DirLeft = False
        DirRight = False
        If CanMove = True Then
             Call SetPlayerDir(MyIndex, DIR_DOWN)
             Call CheckMovement
        End If
    End If
ElseIf (lAngle > 45 And lAngle = -90) Then
    If iScrX < 0 Then
                 DirUp = False
        DirDown = False
        DirLeft = True
        DirRight = False
        If CanMove = True Then
             Call SetPlayerDir(MyIndex, DIR_LEFT)
             Call CheckMovement
        End If
    Else
        DirUp = False
        DirDown = False
        DirLeft = False
        DirRight = True
        If CanMove = True Then
             Call SetPlayerDir(MyIndex, DIR_RIGHT)
             Call CheckMovement
        End If
    End If
End If
End Sub
Reply
#2
The 2:nd part can go anywere. The first part goes in picscreen_mousemove and mouseclick
Reply
#3
This code makes it so you hold the mouse down and the character moves, you will need to edit a lot to make it work so you click on "one" place and it moves to that point.
Reply
#4
Actualy it isn't that hard. I added 3 variables named MoveTo,MoveToX,MoveToY. MoveTo is setted to true when you click the screen and does not click on an npc or player. then, inside Sub CheckMovement() change the line "If IsTryingToMove Then" to "If IsTryingToMove Or MoveTo = True Then" and inside "Function CanMove()" you can add, right under "Dir = GetPlayerDir(MyIndex)" a check to see if MoveTo is true, liek this: "If MoveTo = True Then". If it is, it moves the player to the position wanted just using the AI you developed. To make it move just change the value of this 4 variables:
Code:
DirUp
DirDown
DirLeft
DirRight

changing them from false to true, depending on the direction you want the player to go to.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)