Suporte ao desenvolvimento de jogos!


    Andando com o Mouse

    Compartilhe
    avatar
    NeapØn~
    Membro Ativo
    Membro Ativo

    Mensagens : 253
    Créditos : 69

    Andando com o Mouse

    Mensagem por NeapØn~ em Qua Abr 06, 2011 1:11 pm

    Bom sem muito papo galera bora começar.

    Client-Side

    Faça um novo check lá no picOptions com essas configurações:

    Código:
    Caption = Andar Com [b]Mouse[/b]

    Agora clica duas vezes no Check e poe esse codigo:

    Código:
    Call PutVar(App.Path & "\config.ini", "CONFIG", "MouseMovement", Check1.Value)

    mas antes verifique se o nome do check está "Check1".

    Agora no modgamelogic no fim ponha essa nova função:

    Código:
    Public Function MouseCheck() As Boolean

    If Val(GetVar(App.Path & "\config.ini", "CONFIG", "MouseMovement")) = 1 Then
    MouseCheck = True
    Else
    MouseCheck = False
    End If
    End Function

    agora vá no frmMirage e procure por:

    Código:
    Private Sub picScreen_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

    Ai troque tudo por:

    Código:
    Dim I As Long

    If InSpawnEditor Then
    If SpawnLocator > 0 Then
    TempNpcSpawn(SpawnLocator).Used = 1
    TempNpcSpawn(SpawnLocator).x = Int((x + (NewPlayerX * PIC_X)) / PIC_X)
    TempNpcSpawn(SpawnLocator).y = Int((y + (NewPlayerY * PIC_Y)) / PIC_Y)
    frmMapProperties.Spawn(SpawnLocator
     - 1).Caption = "(" & TempNpcSpawn(SpawnLocator).x & ", " &
    TempNpcSpawn(SpawnLocator).y & ")"
    SpawnLocator = 0
    End If

    Exit Sub

    Novamente no modGamelogic procure por:
    Código:

    Public MouseX As Long
    Public MouseY As Long

    Embaixo coloque:
    Código:

    Public XToGo As Long
    Public YToGo As Long

    procure no modGamelogic:

    Código:
    ' Blit the backbuffer
    Call DD_PrimarySurf.Blt(rec_pos, DD_BackBuffer, rec, DDBLT_WAIT)

    embaixo ponha:

    Código:
    If XToGo <> -1 Or YToGo <> -1 Then
    Dim XDif As Long
    Dim YDif As Long

    XDif = Abs(GetPlayerX(MyIndex) - XToGo)
    YDif = Abs(GetPlayerY(MyIndex) - YToGo)

    If XToGo = GetPlayerX(MyIndex) Or XToGo = -1 Then
    XToGo = -1
    XDif = 0
    Else
    XDif = Abs(GetPlayerX(MyIndex) - XToGo)
    End If

    If YToGo = GetPlayerY(MyIndex) Or YToGo = -1 Then
    YToGo = -1
    YDif = 0
    Else
    YDif = Abs(GetPlayerY(MyIndex) - YToGo)
    End If

    Debug.Print (XDif & " " & YDif)

    If XDif > YDif Then
    If GetPlayerX(MyIndex) - XToGo > 0 Then
    DirLeft = True
    Else
    DirRight = True
    End If
    End If

    If YDif > XDif Then
    If GetPlayerY(MyIndex) - YToGo > 0 Then
    DirUp = True
    Else
    DirDown = True
    End If
    End If

    If XDif = YDif And XDif <> 0 And YDif <> 0 Then
    ' I'll be nice and give you the non-directional movement code
    'If Int(Rnd * 2) = 0 Then
    If GetPlayerX(MyIndex) - XToGo > 0 Then
    DirLeft = True
    Else
    DirRight = True
    End If
    ' Else
    If GetPlayerY(MyIndex) - YToGo > 0 Then
    DirUp = True
    Else
    DirDown = True
    End If
    'End If
    End If
    End If

    Procure por:

    S
    Código:
    ub CheckInput(ByVal KeyState As Byte, ByVal KeyCode As Integer, ByVal Shift As Integer)

    ai troque tudo por:

    Código:
    If GettingMap = False Then
    If KeyState = 1 Then
    If KeyCode = vbKeyReturn Then
    Call CheckMapGetItem
    End If
    If KeyCode = vbKeyControl Then
    ControlDown = True
    End If
    If KeyCode = vbKeyUp Then
    DirUp = True
    DirDown = False
    DirLeft = False
    DirRight = False
    End If
    If KeyCode = vbKeyDown Then
    DirUp = False
    DirDown = True
    DirLeft = False
    DirRight = False
    End If
    If KeyCode = vbKeyLeft Then
    DirUp = False
    DirDown = False
    DirLeft = True
    DirRight = False
    End If
    If KeyCode = vbKeyRight Then
    DirUp = False
    DirDown = False
    DirLeft = False
    DirRight = True
    End If
    If KeyCode = vbKeyShift Then
    ShiftDown = True
    End If
    Else
    If KeyCode = vbKeyUp Then
    XToGo = -1
    YToGo = -1
    End If
    If KeyCode = vbKeyDown Then
    XToGo = -1
    YToGo = -1
    End If
    If KeyCode = vbKeyLeft Then
    XToGo = -1
    YToGo = -1
    End If
    If KeyCode = vbKeyRight Then
    XToGo = -1
    YToGo = -1
    End If
    If KeyCode = vbKeyShift Then ShiftDown = False
    If KeyCode = vbKeyControl Then ControlDown = False
    End If
    End If

    em modClientTCP na Sub TcpInit() ali em baixo onde tem PlayerBuffer = "" em baixo ponha:

    Código:
    XToGo = -1
    YToGo = -1


    Ufa..Acabo Nao Precisa Explicar o Nome ja diz tudo.

    Creditos:Lopô e Neapon


    _________________
    avatar
    Valentine
    Administrador
    Administrador

    Medalhas :
    Mensagens : 4728
    Créditos : 1005

    Re: Andando com o Mouse

    Mensagem por Valentine em Qua Abr 06, 2011 1:12 pm

    Cara muito bom, tava procurando por isso msm
    + 1 crédito

    Vo tentar adaptar ao eclipse origins


    _________________
    avatar
    NeapØn~
    Membro Ativo
    Membro Ativo

    Mensagens : 253
    Créditos : 69

    Re: Andando com o Mouse

    Mensagem por NeapØn~ em Qua Abr 06, 2011 1:15 pm

    bom nao sei mais acho que por assim funfa no eclipse mais faça um backup antes


    _________________
    avatar
    FilipeJF
    Aldeia Friend
    Aldeia Friend

    Medalhas :
    Mensagens : 1920
    Créditos : 134

    Re: Andando com o Mouse

    Mensagem por FilipeJF em Qua Abr 20, 2011 8:55 am

    Muito bom, meu amigo e eu conseguimos COM muito esforço, adaptar para o Eclipse Evolution, que não é mais necessário, já que o Pributon (que é bem melhor), possui esse sistema tambem. Muito bom, Neapon.


    _________________

    avatar
    NeapØn~
    Membro Ativo
    Membro Ativo

    Mensagens : 253
    Créditos : 69

    Re: Andando com o Mouse

    Mensagem por NeapØn~ em Qua Abr 20, 2011 12:04 pm

    opa obrigado so nao estou postando mais script que o pc novo vai chega ate la ... :'(


    _________________

    Dexter
    Iniciante
    Iniciante

    Mensagens : 54
    Créditos : 11

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: Andando com o Mouse

    Mensagem por Dexter em Dom Maio 29, 2011 2:16 am

    Bom na verdade é Lucas Lôpo.
    avatar
    Jonny157
    Ocasional
    Ocasional

    Mensagens : 237
    Créditos : 9

    Re: Andando com o Mouse

    Mensagem por Jonny157 em Sex Jun 24, 2011 11:50 pm

    FelipeJF esse código que vc adaptou funciona no Eclipse Stable.. se funcionar passa ai pra mim.

    Quero adicionar este sistema de andar com o mouse no meu jogo.. =D
    avatar
    Valentine
    Administrador
    Administrador

    Medalhas :
    Mensagens : 4728
    Créditos : 1005

    Re: Andando com o Mouse

    Mensagem por Valentine em Ter Jun 28, 2011 8:58 am

    @FilipeJF escreveu:Muito bom, meu amigo e eu conseguimos COM muito esforço, adaptar para o Eclipse Evolution, que não é mais necessário, já que o Pributon (que é bem melhor), possui esse sistema tambem. Muito bom, Neapon.
    A melhor de todas as engines que usa directx7 é o eclipse origins, ela é muito bem feita, apesar de ser simples a estabilidade para suportar um bom jogo online é otima


    _________________
    avatar
    FilipeJF
    Aldeia Friend
    Aldeia Friend

    Medalhas :
    Mensagens : 1920
    Créditos : 134

    Re: Andando com o Mouse

    Mensagem por FilipeJF em Ter Jun 28, 2011 1:46 pm

    Já a Eclipse/ Elysium não tem o mesmo suporte para suportar tantos players igual o Origins?


    _________________

    avatar
    Valentine
    Administrador
    Administrador

    Medalhas :
    Mensagens : 4728
    Créditos : 1005

    Re: Andando com o Mouse

    Mensagem por Valentine em Ter Jun 28, 2011 6:36 pm

    @FilipeJF escreveu:Já a Eclipse/ Elysium não tem o mesmo suporte para suportar tantos players igual o Origins?
    Pode até ter, mais os códigos do eclipse origins são bem mais simplificados e novos, facilita até pra converter para o directx8, fora que tem poucos bugs


    _________________

    Conteúdo patrocinado

    Re: Andando com o Mouse

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Jan 18, 2018 8:44 pm