MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Mirage Creation - Janelas InGame Móveis

4 participantes

Ir para baixo

Mirage Creation - Janelas InGame Móveis Empty Mirage Creation - Janelas InGame Móveis

Mensagem por Caio~ C10 Qui 03 Jan 2013, 13:43

- Descrição -

Esse sistema faz com que aquelas janelas do inventário, magias, status, party sejam móveis igual a janela de loja e do banco. E também faz com que todas essas janelas possam ser abertas simultâneamente.

- Tutorial -

Abra o Mirage_Creation_Client.vbp pelo VB6.
Agora na Sub Input_Mouse_Move() proucure pelo código:

Código:
            'Move Shop
            Case ShopWindow
                With GameWindow.Shop.Screen
                    .DX = .DX  MousePosAdd.X
                    .DY = .DY  MousePosAdd.Y
                    If WindowsInScreen Then
                        If .DX < 0 Then .DX = 0
                        If .DY < 0 Then .DY = 0
                        If .DX > ScreenWidth - .dW Then .DX = ScreenWidth - .dW
                        If .DY > ScreenHeight - .dH Then .DY = ScreenHeight - .dH
                    End If
                End With
 'Move Bank
            Case BankWindow
                With GameWindow.Bank.Screen
                    .DX = .DX  MousePosAdd.X
                    .DY = .DY  MousePosAdd.Y
                    If WindowsInScreen Then
                        If .DX < 0 Then .DX = 0
                        If .DY < 0 Then .DY = 0
                        If .DX > ScreenWidth - .dW Then .DX = ScreenWidth - .dW
                        If .DY > ScreenHeight - .dH Then .DY = ScreenHeight - .dH
                    End If
                End With

Substitua ele todo por este código:

Código:
            'Move Shop
            Case ShopWindow
                    Call Window_Move(GameWindow.Shop.Screen)
               
            'Move Bank
            Case BankWindow
                Call Window_Move(GameWindow.Bank.Screen)
           
            'Move inventory
            Case InventoryWindow
                Call Window_Move(GameWindow.Inventory.Screen)
           
            'Move skills
            Case SkillWindow
                Call Window_Move(GameWindow.Skill.Screen)
           
            'Move status
            Case characterwindow
                Call Window_Move(GameWindow.Character.Window)
               
            'Move party
            Case PartyWindow
                Call Window_Move(GameWindow.Party.Window)

Agora coloque esta Sub no final da página desse mesmo módulo.
Código:
Private Sub Window_Move(ByRef WindowNum As Grh_Input)
    With WindowNum
        .DX = .DX + MousePosAdd.X
        .DY = .DY + MousePosAdd.Y
       
        If WindowsInScreen Then
            If .DX < 0 Then .DX = 0
            If .DY < 0 Then .DY = 0
            If .DX > ScreenWidth - .dW Then .DX = ScreenWidth - .dW
            If .DY > ScreenHeight - .dH Then .DY = ScreenHeight - .dH
        End If
    End With
End Sub

Pronto! A parte de mover a janela já está feita. Agora vamos para a parte de abrir mais de uma janela simutâneamente.

Na modInput ainda, proucure pela Function Input_Mouse_LeftClick_Window(ByVal WindowIndex As Byte) As Byte
Agora proucure pelo código:

Código:
                                    Select Case i

                                        Case 1
                                            ResetWindows InventoryWindow
                                            ShowGameWindow(InventoryWindow) = Not ShowGameWindow(InventoryWindow)
                                        Case 2
                                            ShowGameWindow(ChatWindow) = Not ShowGameWindow(ChatWindow)
                                        Case 3
                                            ResetWindows SkillWindow
                                            ShowGameWindow(SkillWindow) = Not ShowGameWindow(SkillWindow)
                                        Case 4
                                            ResetWindows PartyWindow
                                            ShowGameWindow(PartyWindow) = Not ShowGameWindow(PartyWindow)
                                        Case 5
                                            ResetWindows characterwindow
                                            ShowGameWindow(characterwindow) = Not ShowGameWindow(characterwindow)

Substitua ele todo por:

Código:
                                    Select Case i

                                        Case 1
                                            ShowGameWindow(InventoryWindow) = Not ShowGameWindow(InventoryWindow)
                                        Case 2
                                            ShowGameWindow(ChatWindow) = Not ShowGameWindow(ChatWindow)
                                        Case 3
                                            ShowGameWindow(SkillWindow) = Not ShowGameWindow(SkillWindow)
                                        Case 4
                                            ShowGameWindow(PartyWindow) = Not ShowGameWindow(PartyWindow)
                                        Case 5
                                            ShowGameWindow(characterwindow) = Not ShowGameWindow(characterwindow)

- Créditos -

Caio~ C10 - Por criar o código e o tutorial
Valentine - Por simplificar o código.


Última edição por Caio~ C10 em Qui 03 Jan 2013, 16:14, editado 1 vez(es)
Caio~ C10
Caio~ C10
Membro Veterano
Membro Veterano

Mensagens : 803

http://www.mmorpgbr.com/t10695-evolution-games

Ir para o topo Ir para baixo

Mirage Creation - Janelas InGame Móveis Empty Re: Mirage Creation - Janelas InGame Móveis

Mensagem por willa Qui 03 Jan 2013, 13:58

Não testei, mas parece estar funcional,levo meu Cred+, facil e eficaz.
willa
willa
Membro Junior
Membro Junior

Mensagens : 80

Ir para o topo Ir para baixo

Mirage Creation - Janelas InGame Móveis Empty Re: Mirage Creation - Janelas InGame Móveis

Mensagem por DrayonDuarte Qui 03 Jan 2013, 14:06

Não testei mais acho que você não postaria algo que não tive-se fufando, por postar e disponibilizar +1, continue postando.
DrayonDuarte
DrayonDuarte
Membro
Membro

Mensagens : 243

Ir para o topo Ir para baixo

Mirage Creation - Janelas InGame Móveis Empty Re: Mirage Creation - Janelas InGame Móveis

Mensagem por Valentine Qui 03 Jan 2013, 15:05

Isso é bom, mas você pode criar um Sub, isso economizaria linhas e tempo, ao invés de adicionar a parte de movimentar a janela que fala no seu tópico, você poderia modificar o código original assim:
Onde tem:
Código:
        Select Case SelGameWindow
         
            'Move Shop
            Case ShopWindow
                With GameWindow.Shop.Screen
                    .DX = .DX + MousePosAdd.x
                    .DY = .DY + MousePosAdd.Y
                    If WindowsInScreen Then
                        If .DX < 0 Then .DX = 0
                        If .DY < 0 Then .DY = 0
                        If .DX > ScreenWidth - .dW Then .DX = ScreenWidth - .dW
                        If .DY > ScreenHeight - .dH Then .DY = ScreenHeight - .dH
                    End If
                End With
               
            'Move Bank
            Case BankWindow
                With GameWindow.Bank.Screen
                    .DX = .DX + MousePosAdd.x
                    .DY = .DY + MousePosAdd.Y
                    If WindowsInScreen Then
                        If .DX < 0 Then .DX = 0
                        If .DY < 0 Then .DY = 0
                        If .DX > ScreenWidth - .dW Then .DX = ScreenWidth - .dW
                        If .DY > ScreenHeight - .dH Then .DY = ScreenHeight - .dH
                    End If
                End With
           
        End Select
Substituir por:
Código:
        Select Case SelGameWindow
         
            'Move Shop
            Case ShopWindow
                Call Window_Move(GameWindow.Shop.Screen)
           
            'Move Bank
            Case BankWindow
                Call Window_Move(GameWindow.Bank.Screen)
           
            'Move inventory
            Case InventoryWindow
                Call Window_Move(GameWindow.Inventory.Screen)
               
            'Move skills
            Case SkillWindow
                Call Window_Move(GameWindow.Skill.Screen)
               
            'Move status
            Case characterwindow
                Call Window_Move(GameWindow.Character.Window)
               
            'Move party
            Case PartyWindow
                Call Window_Move(GameWindow.Party.Window)
           
        End Select

E no final do modInput, você adiciona:
Código:
Private Sub Window_Move(ByRef WindowNum As Grh_Input)
    With WindowNum
        .DX = .DX + MousePosAdd.x
        .DY = .DY + MousePosAdd.Y
        If WindowsInScreen Then
            If .DX < 0 Then .DX = 0
            If .DY < 0 Then .DY = 0
            If .DX > ScreenWidth - .dW Then .DX = ScreenWidth - .dW
            If .DY > ScreenHeight - .dH Then .DY = ScreenHeight - .dH
        End If
    End With
End Sub

Pode prestar atenção o quanto de linhas vai economizar dessa forma e como vai ficar bem mais fácil fazer com que possa movimentar outras janelas com o mouse, apenas chamando um sub, do que copiar todo um código.

Atenciosamente, Valentine.
avatar
Valentine
Membro de Honra
Membro de Honra

Mensagens : 472

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

Mirage Creation - Janelas InGame Móveis Empty Re: Mirage Creation - Janelas InGame Móveis

Mensagem por Caio~ C10 Qui 03 Jan 2013, 15:48

Obrigado a todos, garanto que o código é funcional.

Valentine, eu nem tinha pensado nisso, valeu.

EDIT:
Código atualizado. Agora ele está menor.
Créditos ao Valentine por simplificar o código.
Caio~ C10
Caio~ C10
Membro Veterano
Membro Veterano

Mensagens : 803

http://www.mmorpgbr.com/t10695-evolution-games

Ir para o topo Ir para baixo

Mirage Creation - Janelas InGame Móveis Empty Re: Mirage Creation - Janelas InGame Móveis

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos