Universo Games
Ola , Convidado

Colocando DEV/Gm Tag Logo1110

Você ainda não e cadastrado então cadastre-se e veja todas as atualizações no Mundo RPG!!!
Universo Games
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Universo Games

Suporte e Desenvolvimento só no Universo Games
 
InícioInício  PortalPortal  EventosEventos  PublicaçõesPublicações  Últimas imagensÚltimas imagens  RegistarRegistar  EntrarEntrar  
Ola Convidado, Seja Bem vindo a equipe lhe deseja boa sorte no seu projeto!

 

 Colocando DEV/Gm Tag

Ir para baixo 
AutorMensagem
Lucas Roberto
Administrador
Administrador
Lucas Roberto


Mensagens : 711

Colocando DEV/Gm Tag Empty
MensagemAssunto: Colocando DEV/Gm Tag   Colocando DEV/Gm Tag EmptyQui 10 Nov 2011, 18:32

Olá galera , eu queria saber antes como fazia que colocas-se nome em cima do jogador! E Vie no forum do Eclipse como que se faz :


Ok, então este tutorial vai deixá-lo adicionar [GM] antes de seu Moderador / Mappers nomes ingame e no bate-papo, e [DEV] Antes de Devs / Admins nomes ingame e no chat. A coisa é, na verdade, isso não adicionar a tag para o seu personagem que só aparece como ele faz. Desta forma, não estragar arquivos jogador quando você faz alguém um Admin ou chutá-los da Admin. Ele também se auto-atualiza suas mudanças de acesso.

Se você quiser mudar as tags para outra coisa basta substituir [GM] e [DEV] com outra coisa.

Aqui está uma prévia do que ele faz.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Atenção:Esse sistema pega tabem em eclipse 2.0 pra cima

Como você pode ver, meu nome é ainda Ertzel mas tem o [DEV] tag antes dela. Então, quando os jogadores querem enviar uma mensagem pessoal que não precisa incluir a tag.

Todas as partes bate-papo são de origem, e as peças do jogo estão cliente então primeiro vamos começar com o chat ...

- Servidor -

Em modPlayer ir ao fundo e adicionar

Código:
Public Function GetPlayerTag(ByVal index As Long) As String
    Select Case GetPlayerAccess(index)
        Case ADMIN_MONITOR, ADMIN_MAPPER
            GetPlayerTag = "[GM] "
        Case ADMIN_DEVELOPER, ADMIN_CREATOR
            GetPlayerTag = "[Dev] "
        Case Else
            GetPlayerTag = " "
    End Select
End Function

Va em modHandleData e substitua a seguinde sub:
Código:
Private Sub HandleEmoteMsg(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

Por Esse Sub:

Código:
Private Sub HandleEmoteMsg(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
    Dim Msg As String
    Dim I As Long
    Dim Buffer As clsBuffer
    Set Buffer = New clsBuffer
    Buffer.WriteBytes Data()
    Msg = Buffer.ReadString

    ' Prevent hacking
    For I = 1 To Len(Msg)

        If AscW(Mid$(Msg, I, 1)) < 32 Or AscW(Mid$(Msg, I, 1)) > 126 Then
            Exit Sub
        End If

    Next
    Call AddLog("Map #" & GetPlayerMap(index) & ": " & GetPlayerName(index) & " " & Msg, PLAYER_LOG)
    Call MapMsg(GetPlayerMap(index), GetPlayerTag(index) & GetPlayerName(index) & " " & Right$(Msg, Len(Msg) - 1), EmoteColor)
    Set Buffer = Nothing
End Sub

Em modServeTCP subistitua a sub:
Código:
Sub SayMsg_Map(ByVal MapNum As Long, ByVal Index As Long, ByVal message As String, ByVal saycolour As Long)

Por:

Código:
Sub SayMsg_Map(ByVal MapNum As Long, ByVal index As Long, ByVal message As String, ByVal saycolour As Long)
    Dim Buffer As clsBuffer
   
    Set Buffer = New clsBuffer
    Buffer.WriteLong SSayMsg
    Buffer.WriteString GetPlayerName(index)
    Buffer.WriteLong GetPlayerAccess(index)
    Buffer.WriteLong GetPlayerPK(index)
    Buffer.WriteString message
    Buffer.WriteString "[Map] " & GetPlayerTag(index)
    Buffer.WriteLong saycolour
   
    SendDataToMap MapNum, Buffer.ToArray()
   
    Set Buffer = Nothing
End Sub

Substitua tabem abaixo dessa sub a sub:

Código:
Sub SayMsg_Global(ByVal Index As Long, ByVal message As String, ByVal saycolour As Long)

Por:

Código:
Sub SayMsg_Global(ByVal index As Long, ByVal message As String, ByVal saycolour As Long)
    Dim Buffer As clsBuffer
   
    Set Buffer = New clsBuffer
    Buffer.WriteLong SSayMsg
    Buffer.WriteString GetPlayerName(index)
    Buffer.WriteLong GetPlayerAccess(index)
    Buffer.WriteLong GetPlayerPK(index)
    Buffer.WriteString message
    Buffer.WriteString "[Global]" & GetPlayerTag(index)
    Buffer.WriteLong saycolour
   
    SendDataToAll Buffer.ToArray()
   
    Set Buffer = Nothing
End Sub

Parte do Client:

~~~Client~~~

Em modText substitua a sub
Código:

Public Sub DrawPlayerName(ByVal Index As Long)
Ate :
' Draw name
Call DrawText(TexthDC, TextX, TextY, Name, color)

Por esta sub:

Código:
Public Sub DrawPlayerName(ByVal Index As Long)
    Dim TextX As Long
    Dim TextY As Long
    Dim color As Long
    Dim sTag As String

    ' Check access level
    If GetPlayerPK(Index) = NO Then

        Select Case GetPlayerAccess(Index)
            Case 0
                color = RGB(255, 96, 0)
                sTag = vbNullString
            Case 1
                color = QBColor(DarkGrey)
                sTag = "[GM] "
            Case 2
                color = QBColor(Cyan)
                sTag = "[GM] "
            Case 3
                color = QBColor(BrightGreen)
                sTag = "[DEV] "
            Case 4
                color = QBColor(Yellow)
                sTag = "[DEV] "
        End Select

    Else
        color = QBColor(BrightRed)
    End If

    If GetPlayerSprite(Index) < 1 Or GetPlayerSprite(Index) > NumCharacters Then
        TextX = ConvertMapX(GetPlayerX(Index) * PIC_X) + Player(Index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(sTag & GetPlayerName(Index))))
        TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - 16
    Else
        TextX = ConvertMapX(GetPlayerX(Index) * PIC_X) + Player(Index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(sTag & GetPlayerName(Index))))
        TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight) + 16
    End If

    Call DrawText(TexthDC, TextX, TextY, sTag & GetPlayerName(Index), color)
End Sub


Pronto sistema feito!

Creditos:
touchofdeathforums.com - Por Disponibilizar o tuto
Lordsams - Por Traduzir
Ir para o topo Ir para baixo
https://universogamesmmo.forumeiros.com
 
Colocando DEV/Gm Tag
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
»  [EO] Colocando Status Online/Offline
»  [EO] Colocando Gráfico do Personagem no Menu
» colocando sprites no EO
» Colocando Ip Fixo
» [EO] Colocando barra de HP nos NPC

Permissões neste sub-fórumNão podes responder a tópicos
Universo Games :: Criação de Jogos :: Eclipse Origens :: Tutorias-
Ir para: