Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte no desenvolvimento de jogos


    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0]

    GalaxyHells
    GalaxyHells
    Ocasional
    Ocasional

    Mensagens : 193
    Créditos : 21

    Ficha do personagem
    Nível: 1
    Experiência:
    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Left_bar_bleue0/0[Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty_bar_bleue  (0/0)
    Vida:
    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Left_bar_bleue30/30[Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty_bar_bleue  (30/30)

    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0]

    Mensagem por GalaxyHells em Qua Ago 22, 2018 10:27 pm

    Client-Side

    Na frmMain de preferencia na picAdmin adicione:
    1 checkbox
    Name: ChkInvisible
    Caption: Ficar Invisivel

    De dois cliques no ChkInvisible e adicione:

    Código:
    'Invisible Player -Hells
    If ChkInvisible.Value > 0 Then
        Call SendPKS(2, 1)
        Player(MyIndex).Invisivel = 1
        SendRequestPlayerData
    Else
        Call SendPKS(2, 0)
        Player(MyIndex).Invisivel = 0
        SendRequestPlayerData
    End If

    Na Private Sub Form_KeyUp procure por:

    Código:
    If Player(MyIndex).Access > 0 Then

    e em baixo adicione:

    Código:
    'Invisible Player -Hells
    If Player(MyIndex).Invisivel > 0 Then
                        frmmain.ChkInvisible.Value = 1
                        Else: frmmain.ChkInvisible.Value = 0
                    End If

    No modTypes na Private Type PlayerRec antes do end type, adicione:

    Código:
    'Invisible Player -Hells
        Invisivel As Byte

    no modDirectDraw7 na sub Render_Graphics procure por:

    Código:
    ' Y-based render. Renders Players, Npcs and Resources based on Y-axis.
        For Y = 0 To Map.MaxY
            If NumCharacters > 0 Then
                ' Players
                For i = 1 To Player_HighIndex
                    If IsPlaying(i) And GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                        If Player(i).Y = Y Then

    em baixo adicione:

    Código:
    'Invisible Player -Hells
    If Player(i).Invisivel = 0 Then
                                Call BltPlayer(i)
                            End If


    Para eo 3.0 os códigos mudam um pouquinho::



    no modDirectDraw7 na sub Render_Graphics procure por:


    Código:
    ' Players
                        For i = 1 To Player_HighIndex
                            If IsPlaying(i) And GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                                If Player(i).y = y Then
                                    Call DrawPlayer(i)
                                End If
                            End If
                        Next

    troque por:
    Código:
    ' Players
                        For i = 1 To Player_HighIndex
                            If IsPlaying(i) And GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                                If Player(i).y = y Then
                                    'Invisible Player -Hells
                                    If Player(i).Invisivel = 0 Then
                                        Call DrawPlayer(i)
                                    End If
                                End If
                            End If
                        Next





    ainda na sub Render_Grapichs procure por:

    Código:
                ' draw player names
                For i = 1 To Player_HighIndex
                    If IsPlaying(i) And GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                        Call DrawPlayerName(i)
                    End If
                Next

        
    e substitua por essa:   
    Código:
                ' draw player names
                For i = 1 To Player_HighIndex
                    If IsPlaying(i) And GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                        'Invisible Player -Hells
                        If Player(i).Invisivel = 0 Then
                            Call DrawPlayerName(i)
                        End If
                    End If
                Next

    Atenção! Tome cuidado, caso tenha alguma call ali basta copiar e adicionar novamente dps de ter colado essa sub

    Client & Server-Side

    No modHandleData na sub HandlePlayerData procure por:

    Código:
    'Invisible Player -Hells
    Call SetPlayerPK(i, Buffer.ReadLong)


    Em baixo adicione:

    Código:
    'Invisible Player -Hells
    Player(i).Invisivel = Buffer.ReadByte


    Pronto Very Happy
    Agora basta salvar e compilar.
    //Se quiser uma versão para a EO 3.0 basta me dizer que eu faço...


    Edit: Editei pra EO 3.0 por do @koezyrs.
        


    Última edição por GalaxyHells em Qua Dez 25, 2019 2:51 am, editado 2 vez(es)


    _________________
    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] 90yel0
    Takabe
    Takabe
    Novato
    Novato

    Mensagens : 21
    Créditos : 6

    Ficha do personagem
    Nível: 1
    Experiência:
    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Left_bar_bleue0/0[Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty_bar_bleue  (0/0)
    Vida:
    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Left_bar_bleue30/30[Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty_bar_bleue  (30/30)

    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty Re: [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0]

    Mensagem por Takabe em Qua Ago 22, 2018 10:36 pm

    Cada dia que passa vc fica pior em mano, parabéns
    Profane ~
    Profane ~
    Moderador Global
    Moderador Global

    Mensagens : 792
    Créditos : 128

    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty Re: [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0]

    Mensagem por Profane ~ em Qua Ago 22, 2018 10:36 pm

    É apenas um pacote com 1 Byte.

    Pedir uma total HandleData do player apenas para esse comando é algo desnecessário.

    Indicaria criar um novo pacote para atualizar apenas ele e enviar para o mapa o resultado.

    Porém, ele pode continuar sendo enviado em conjunto no HandleData já que jogadores que entrarem no mapa receberão já o valor completo como sempre recebem.


    _________________
    "Mistress of shattered hopes and forever broken dreams"
    GalaxyHells
    GalaxyHells
    Ocasional
    Ocasional

    Mensagens : 193
    Créditos : 21

    Ficha do personagem
    Nível: 1
    Experiência:
    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Left_bar_bleue0/0[Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty_bar_bleue  (0/0)
    Vida:
    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Left_bar_bleue30/30[Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty_bar_bleue  (30/30)

    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty Re: [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0]

    Mensagem por GalaxyHells em Qua Dez 25, 2019 2:56 am



    _________________
    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] 90yel0

    Conteúdo patrocinado

    [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0] Empty Re: [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0]

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Jul 09, 2020 12:18 pm