Sistema totalmente Client~Side, abra o Client~Side vai em frmMain na parte do codigo procure por:
e mude a sub toda para:
OBS: oq foi adicionado de novo ?
Isso q esta dentro da spoiler abaixo
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 ! :)
Fim ! :)
Simples, Util e facil ! :)
Créditos: A Mim Thales12
- 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 ! :)
Fim ! :)
Simples, Util e facil ! :)
Créditos: A Mim Thales12