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.

Sistema De Rank Ninja

3 participantes

Ir para baixo

Sistema De Rank Ninja Empty Sistema De Rank Ninja

Mensagem por [ADM] Cronos Seg 20 Jan 2014, 10:53

Se voces kerem saber como fazer akele Sistema de Rank Ninja tipo ke fika [Estudante],[Gennin],etc.no lado do Nome leia até o fim.


Vamos Começar...


Va No Server~Side:

1-Procure na addchar por: 
 
Código:
For n = 1 To Stats.Stat_Count - 1
            Player(Index).Stat(n) = Class(ClassNum).Stat(n)
        Next n


2-Adicione em baixo:

Código:
Player(index).Rank = 1

Só bote Isso se voce kiser ke a pessoa ja começe no Jogo com esse Rank!!


3-No final da modDataBase Adicione:



Código:
Function GetPlayerRank(ByVal index As Long) As Long

    If index > MAX_PLAYERS Then Exit Function
  GetPlayerRank = Player(index).Rank
End Function

Sub SetPlayerRank(ByVal index As Long, ByVal Rank As Long)
    Player(index).Rank = Rank
End Sub



4-Embaixo de:



Código:
HandleDataSub(CPartyLeave) = GetAddress(AddressOf HandlePartyLeave)



5-Adicione:



Código:
HandleDataSub(CSetRank) = GetAddress(AddressOf HandleSetRank)



6-No Final Adicione:



Código:
Sub HandleSetRank(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
    Dim u As String
    Dim n As Long
    Dim i As Long
    Dim Buffer As clsBuffer
    Set Buffer = New clsBuffer
    Buffer.WriteBytes Data()

    ' Prevent hacking
    If GetPlayerAccess(index) < ADMIN_CREATOR Then
        Exit Sub
    End If

    n = FindPlayer(Buffer.ReadString)
    i = Buffer.ReadLong
    Set Buffer = Nothing

If IsPlaying(n) = False Then Exit Sub

Player(n).Rank = i
SendPlayerData n
SavePlayer n

Select Case i
    Case 1
        u = "Estudante"
    Case 2
        u = "Gennin"
    Case 3
        u = "Chunnin"
    Case 4
        u = "Jounnin"
    Case 5
        u = "Anbu"
    Case 6
        u = "Sennin"
    Case 7
        u = "Desertor"
    Case 8
        u = "Hokage"
    Case 9
        u = "Kazekage"
    Case 10
        u = "Mizukage"
    Case 11
        u = "Raikage"
    Case 12
        u = "Tsuchikage"

Case Else

    Exit Sub

End Select
    
GlobalMsg  " Parabéns, o jogador: " & GetPlayerName(n) & " Se tornou " & u & "!", Blue

End Sub

7-Procure por:




Código:
Buffer.WriteLong GetPlayerAccess(index)



8-Embaixo Adicione:



Código:
Buffer.WriteByte Player(index).Rank



9-Na Private Type PlayerRec Adicione:



Código:
Rank As Byte



10-Procure Por:



Código:
CPartyLeave



11-Embaixo Adicione:



Código:
CSetRank


Agora é a parte do Client~Side:



12-No Final da modText Adicione:



Código:
Public Sub DrawPlayerRank(ByVal Index As Long)
If Player(Index).Rank < 0 Then Exit Sub

Dim TextX As Long
Dim TextY As Long
Dim color As Long
Dim Name As String

Select Case Player(Index).Rank
    Case 1
        Name = "Estudante"
        color = QBColor(Blue)
    Case 2
        Name = "Gennin"
        color = QBColor(BrightGreen)
    Case 3
        Name = "Chunnin"
        color = QBColor(BrightBlue)
    Case 4
        Name = "Jounnin"
        color = QBColor(Blue)
    Case 5
        Name = "ANBU"
        color = QBColor(DarkGrey)
    Case 6
        Name = "Sennin"
        color = QBColor(Pink)
    Case 7
        Name = "Nukenin"
        color = QBColor(Red)
    Case 8
        Name = "Hokage"
        color = QBColor(BrightRed)
    Case 9
        Name = "Kazekage"
        color = QBColor(Yellow)
    Case 10
        Name = "Mizukage"
        color = QBColor(Cyan)
    Case 11
        Name = "Raikage"
        color = QBColor(Yellow)
    Case 12
        Name = "Tshuchikage"
        color = QBColor(Yellow)

        Exit Sub
End Select
    
    ' calc pos
    TextX = ConvertMapX(GetPlayerX(Index) * PIC_X) + Player(Index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(Name)))
    If GetPlayerSprite(Index) < 1 Or GetPlayerSprite(Index) > NumCharacters Then
        TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - 18
    Else
        ' Determine location for text
        TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 4) + 9
    End If

    ' Draw name
    Call DrawText(TexthDC, TextX, TextY, Name, color)
    
End Sub


13-Na Type PlayerRec Adicione:




Código:
Rank As Byte

14-Na modClientTcp adicione:




Código:
Public Sub SendSetRank(ByVal Name As String, ByVal Access As Byte)
Dim Buffer As clsBuffer

    Set Buffer = New clsBuffer
    Buffer.WriteLong CSetRank
    Buffer.WriteString Name
    Buffer.WriteLong Access
    SendData Buffer.ToArray()
    Set Buffer = Nothing

End Sub

15-No final da modDataBase Adicione:




Código:
Sub SetPlayerRank(ByVal Index As Long, ByVal Rank As Long)
    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler

    If Index > MAX_PLAYERS Then Exit Sub
    Player(Index).Rank = Rank
    
    ' Error handler
    Exit Sub
errorhandler:
    HandleError "SetPlayerRank", "modDatabase", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub
End Sub

Function GetPlayerRank(ByVal Index As Long) As Long
    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler

    If Index > MAX_PLAYERS Then Exit Function
    GetPlayerRank = Player(Index).Rank
    
    ' Error handler
    Exit Function
errorhandler:
    HandleError "GetPlayerRank", "modDatabase", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Function
End Function


16-Procure Por:




Código:
Call DrawPlayerName(i)


17-Embaixo Adicione:




Código:
DrawPlayerRank i



18-Procure por:



Código:
CPartyLeave

19-Embaixo adicione:




Código:
CSetRank



20-Embaixo de:



Código:
Call SetPlayerAccess(i, Buffer.ReadLong)


21-Adicione:




Código:
Player(i).Rank = Buffer.ReadByte



22-Emcima de:


Case "/info" Adicione:



Código:
Case "/rank"
                    If GetPlayerAccess(MyIndex) < ADMIN_CREATOR Then GoTo Continue

                    If UBound(Command) < 1 Then
                        AddText "Usage: /rank (nome) (num)", AlertColor
                        GoTo Continue
                    End If

                    If IsNumeric(Command(1)) Or Not IsNumeric(Command(2)) Then
                        AddText "Usage: /rank (nome) (num)", AlertColor
                        GoTo Continue
                    End If
                    
                    SendSetRank Command(1), CLng(Command(2))

Obrigado por tar lendo e é isso ae Very Happy



Para o [ADM] setar novo Rank Para alguem é tipo /Rank Cronos 10


FLWS ATÉ...


Última edição por [ADM] Cronos em Dom 26 Jan 2014, 11:41, editado 1 vez(es)
[ADM] Cronos
[ADM] Cronos
Novato
Novato

Mensagens : 9

Ir para o topo Ir para baixo

Sistema De Rank Ninja Empty Re: Sistema De Rank Ninja

Mensagem por Valentine Qua 22 Jan 2014, 12:50

Seria bom especificar o título do tópico, porque existem vários sistemas de rank, fui ver o tópico achando que era rank de level
avatar
Valentine
Membro de Honra
Membro de Honra

Mensagens : 472

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

Sistema De Rank Ninja Empty Re: Sistema De Rank Ninja

Mensagem por newbie123 Ter 25 Nov 2014, 17:25

Ja que o membro não respondeu minha MP, vou falar por aqui mesmo, o criador desse sistema foi o Thales12... embora seu tutorial esteja mais organizado o que o do thales, ainda assim usa o mesmo codigos do mesmo, então por favor ponha os creditos dele. https://mmorpgbr.forumeiro.com/t12586-sistema-de-rank-ninja?highlight=rank
newbie123
newbie123
Membro Vitalicio
Membro Vitalicio

Mensagens : 622

Ir para o topo Ir para baixo

Sistema De Rank Ninja Empty Re: Sistema De Rank Ninja

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