Virar o Perssonagem ( Esquerda, Direita, Baixo e Cima )

    Compartilhe
    avatar
    Thales12
    Administrador
    Administrador

    Mensagens : 140
    Level : 8
    Data de inscrição : 01/11/2011
    Idade : 23
    Localização : Rio de Janeiro

    default Virar o Perssonagem ( Esquerda, Direita, Baixo e Cima )

    Mensagem por Thales12 em Qua Fev 15, 2012 2:39 am

    Sistema totalmente Client~Side, abra o Client~Side vai em frmMain na parte do codigo procure por:

    Código:
    Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

    e mude a sub toda para:

    Código:
    Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    Dim i As Long

        ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler

        Select Case KeyCode
       
        Dim OldDir
       
        Case vbKeyEnd
            If Player(MyIndex).Moving = NO Then
                    OldDir = GetPlayerDir(MyIndex)
                    If Player(MyIndex).Dir = DIR_LEFT Then
                        Call SetPlayerDir(MyIndex, DIR_DOWN)
                        ElseIf Player(MyIndex).Dir = DIR_RIGHT Then
                        Call SetPlayerDir(MyIndex, DIR_DOWN)
                        ElseIf Player(MyIndex).Dir = DIR_UP Then
                        Call SetPlayerDir(MyIndex, DIR_DOWN)
                        If OldDir <> DIR_LEFT Then Call SendPlayerDir
                        End If
                        End If
                       
            Case vbKeyDelete
            If Player(MyIndex).Moving = NO Then
            OldDir = GetPlayerDir(MyIndex)
                  If Player(MyIndex).Dir = DIR_UP Then
                  Call SetPlayerDir(MyIndex, DIR_LEFT)
                  ElseIf Player(MyIndex).Dir = DIR_RIGHT Then
                  Call SetPlayerDir(MyIndex, DIR_LEFT)
                  ElseIf Player(MyIndex).Dir = DIR_DOWN Then
                        Call SetPlayerDir(MyIndex, DIR_LEFT)
                        If OldDir <> DIR_UP Then Call SendPlayerDir
                    End If
                End If
               
                Case vbKeyPageDown
            If Player(MyIndex).Moving = NO Then
            OldDir = GetPlayerDir(MyIndex)
                  If Player(MyIndex).Dir = DIR_UP Then
                  Call SetPlayerDir(MyIndex, DIR_RIGHT)
                  ElseIf Player(MyIndex).Dir = DIR_DOWN Then
                  Call SetPlayerDir(MyIndex, DIR_RIGHT)
                  ElseIf Player(MyIndex).Dir = DIR_LEFT Then
                        Call SetPlayerDir(MyIndex, DIR_RIGHT)
                        If OldDir <> DIR_UP Then Call SendPlayerDir
                    End If
                End If
       
        Case vbKeyHome
            If Player(MyIndex).Moving = NO Then
            OldDir = GetPlayerDir(MyIndex)
                  If Player(MyIndex).Dir = DIR_DOWN Then
                  Call SetPlayerDir(MyIndex, DIR_UP)
                  ElseIf Player(MyIndex).Dir = DIR_RIGHT Then
                  Call SetPlayerDir(MyIndex, DIR_UP)
                  ElseIf Player(MyIndex).Dir = DIR_LEFT Then
                        Call SetPlayerDir(MyIndex, DIR_UP)
                        If OldDir <> DIR_UP Then Call SendPlayerDir
                    End If
                End If
               
            Case vbKeyInsert
                If Player(MyIndex).Access > 0 Then
                    picAdmin.Visible = Not picAdmin.Visible
                End If
        End Select
       
        ' hotbar
        For i = 1 To MAX_HOTBAR
            If KeyCode = 111 + i Then
                SendHotbarUse i
            End If
        Next

        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "Form_KeyUp", "frmMain", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub
    End Sub

    OBS: oq foi adicionado de novo ?

    Isso q esta dentro da spoiler abaixo
    Spoiler:
    Código:

       
        Dim OldDir
       
        Case vbKeyEnd
            If Player(MyIndex).Moving = NO Then
                    OldDir = GetPlayerDir(MyIndex)
                    If Player(MyIndex).Dir = DIR_LEFT Then
                        Call SetPlayerDir(MyIndex, DIR_DOWN)
                        ElseIf Player(MyIndex).Dir = DIR_RIGHT Then
                        Call SetPlayerDir(MyIndex, DIR_DOWN)
                        ElseIf Player(MyIndex).Dir = DIR_UP Then
                        Call SetPlayerDir(MyIndex, DIR_DOWN)
                        If OldDir <> DIR_LEFT Then Call SendPlayerDir
                        End If
                        End If
                       
            Case vbKeyDelete
            If Player(MyIndex).Moving = NO Then
            OldDir = GetPlayerDir(MyIndex)
                  If Player(MyIndex).Dir = DIR_UP Then
                  Call SetPlayerDir(MyIndex, DIR_LEFT)
                  ElseIf Player(MyIndex).Dir = DIR_RIGHT Then
                  Call SetPlayerDir(MyIndex, DIR_LEFT)
                  ElseIf Player(MyIndex).Dir = DIR_DOWN Then
                        Call SetPlayerDir(MyIndex, DIR_LEFT)
                        If OldDir <> DIR_UP Then Call SendPlayerDir
                    End If
                End If
               
                Case vbKeyPageDown
            If Player(MyIndex).Moving = NO Then
            OldDir = GetPlayerDir(MyIndex)
                  If Player(MyIndex).Dir = DIR_UP Then
                  Call SetPlayerDir(MyIndex, DIR_RIGHT)
                  ElseIf Player(MyIndex).Dir = DIR_DOWN Then
                  Call SetPlayerDir(MyIndex, DIR_RIGHT)
                  ElseIf Player(MyIndex).Dir = DIR_LEFT Then
                        Call SetPlayerDir(MyIndex, DIR_RIGHT)
                        If OldDir <> DIR_UP Then Call SendPlayerDir
                    End If
                End If
       
        Case vbKeyHome
            If Player(MyIndex).Moving = NO Then
            OldDir = GetPlayerDir(MyIndex)
                  If Player(MyIndex).Dir = DIR_DOWN Then
                  Call SetPlayerDir(MyIndex, DIR_UP)
                  ElseIf Player(MyIndex).Dir = DIR_RIGHT Then
                  Call SetPlayerDir(MyIndex, DIR_UP)
                  ElseIf Player(MyIndex).Dir = DIR_LEFT Then
                        Call SetPlayerDir(MyIndex, DIR_UP)
                        If OldDir <> DIR_UP Then Call SendPlayerDir
                    End If
                End If
               

    OBS²: ao apertar o botão "DELETE" ele vai para o lado "ESQUERDO" ao apertar o botão "END" ele vai para "BAIXO" ao apertar o botão "PAGEDOWN" ele vai para a "DIREITA" ao apertar o botão "HOME" ele vai para "CIMA".

    OBS³: ele so muda a direção, o char nao anda ao apertar o botão ele so vira, vira para os lados, cima e baixo ! Smile

    Fim ! Smile

    Simples, Util e facil ! Smile

    Créditos: A Mim Thales12

      Data/hora atual: Seg Dez 17, 2018 8:06 am