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 de Resets

+7
maraquanos-marakgarin
marak-garin
SynysterGates
caik
DrayonDuarte
HollywoorD10
lucas100vzs
11 participantes

Ir para baixo

Sistema de Rank de Resets Empty Sistema de Rank de Resets

Mensagem por lucas100vzs Qui 20 Dez 2012, 12:30

OBS: É NECESSÁRIO O SISTEMA DE : Sistema de Rank Funcional do Valentine !!!

CLIENT~SIDE

Bem vamos lá, primeiramente, crie de preferência dentro da "PicRank" :

-Uma "lstBox" :
Nome: lstRankReset

-Uma label:
Nome: lblResets
Caption: Resets

-Outra Label:
Nome: lblLevel
Caption: Level

Ficará mais ou menos assim:

E sobreponha a "lstRank" , ou seja, não substitua, ponha a "lstRankReset" em cima da "lstRank" , ou vice e versa, assim:
Spoiler:


Agora, dentro da "lblResets" adicione:

Código:
lstRankResets.Visible = True
lstRank.Visible = False
SendRequestRank

E dentro da "lblLevel" adicione:

Código:
lstRankResets.Visible = False
lstRank.Visible = True
SendRequestRank

Agora procure por:

Código:
FrmMain.lstRank.Clear

Abaixo adicione:

Código:
FrmMain.lstRankResets.Clear

Depois procure por:

Código:
FrmMain.lstRankLevel.AddItem i & ":Nível: " & Buffer.ReadLong & ", Nome: " & Buffer.ReadString

E abaixo adicione:

Código:
FrmMain.lstRankResets.AddItem i & ":Reset: " & Buffer.ReadLong & ", Nome: " & Buffer.ReadString

SERVER~SIDE

Na sub, "Sub SendRankUpdate(ByVal Index As Long)", depois de:

Código:
Buffer.WriteString Rank(i).Name

Adicione:

Código:
Buffer.WriteLong Rank(i).Resets
Buffer.WriteString Rank(i).Name

Depois na "Private Type RankRec", antes do "End Type" , e abaixo de:

Código:
Level As Long

Adicione:

Código:
Resets as Long

Troque sua "SubChangeRank" por esta:

Código:
Private Function CheckRank(ByVal Index As Long) As Byte
Dim i As Byte
    For i = 1 To MAX_RANK
        If GetPlayerLevel(Index) > Rank(i).Level Then
            CheckRank = i
            Exit Function
        End If
    Next i
   
    For i = 1 To MAX_RANK
        If GetPlayerResets(Index) > Rank(i).Resets Then
            CheckRank = i
            Exit Function
        End If
    Next i
   
End Function
E toda a sua "Private Sub ChangeRank" por esta:

Código:
Private Sub ChangeRank(ByVal Index As Long, RankPos As Byte)
Dim i As Long, ClearPos As Byte

    ' if not change position in rank
    If GetPlayerName(Index) = Trim$(Rank(RankPos).Name) Then
        Rank(RankPos).Level = GetPlayerLevel(Index)
        SaveRank
        Exit Sub
    End If
   
    If GetPlayerName(Index) = Trim$(Rank(RankPos).Name) Then
        Rank(RankPos).Resets = GetPlayerResets(Index)
        SaveRank
        Exit Sub
    End If

    ' search player in rank
    For i = 1 To MAX_RANK
        If GetPlayerName(Index) = Trim$(Rank(i).Name) Then
            Rank(i).Name = vbNullString
            Rank(i).Level = 0
            ClearPos = i
            Exit For
        End If
    Next i
   
    For i = 1 To MAX_RANK
        If GetPlayerName(Index) = Trim$(Rank(i).Name) Then
            Rank(i).Name = vbNullString
            Rank(i).Resets = 0
            ClearPos = i
            Exit For
        End If
    Next i

    ' down clear position
    If ClearPos > 0 Then
        For i = ClearPos To MAX_RANK
            If i = MAX_RANK Then
                Rank(i).Name = vbNullString
                Rank(i).Level = 0
            Else
                Rank(i).Name = Rank(i + 1).Name
                Rank(i).Level = Rank(i + 1).Level
            End If
        Next i
    End If
   
    If ClearPos > 0 Then
        For i = ClearPos To MAX_RANK
            If i = MAX_RANK Then
                Rank(i).Name = vbNullString
                Rank(i).Resets = 0
            Else
                Rank(i).Name = Rank(i + 1).Name
                Rank(i).Resets = Rank(i + 1).Resets
            End If
        Next i
    End If
   
    ' open space in rank to player
    For i = MAX_RANK To RankPos Step -1
        If i > RankPos Then
            Rank(i).Name = Rank(i - 1).Name
            Rank(i).Level = Rank(i - 1).Level
        End If
    Next i
   
    For i = MAX_RANK To RankPos Step -1
        If i > RankPos Then
            Rank(i).Name = Rank(i - 1).Name
            Rank(i).Resets = Rank(i - 1).Resets
        End If
    Next i
   
    ' put player in rank
    Rank(RankPos).Name = GetPlayerName(Index)
    Rank(RankPos).Level = GetPlayerLevel(Index)
    Rank(RankPos).Resets = GetPlayerResets(Index)
   
    SaveRank
End Sub
Feito isto, troque toda a sua "Private Sub SaveRank()" , por esta:

Código:
Public Sub SaveRank()
Dim filename As String, i As Byte

    filename = App.Path & "\data\rank.ini"
   
    For i = 1 To MAX_RANK
        PutVar filename, "RANK", "Name" & i, Trim$(Rank(i).Name)
        PutVar filename, "RANK", "Level" & i, Val(Rank(i).Level)
        PutVar filename, "RANK", "Resets" & i, Val(Rank(i).Resets)
    Next i
End Sub

E depois toda a sua "Private Sub LoadRank()" por esta:

Código:
Public Sub LoadRank()
Dim filename As String, i As Byte

    filename = App.Path & "\data\rank.ini"
   
    If FileExist(filename, True) Then
        For i = 1 To MAX_RANK
            Rank(i).Name = GetVar(filename, "RANK", "Name" & i)
            Rank(i).Level = Val(GetVar(filename, "RANK", "Level" & i))
            Rank(i).Resets = Val(GetVar(filename, "RANK", "Resets" & i))
        Next i
    Else
        SaveRank
    End If
End Sub


Créditos

-Valentine pelo sistema de Rank Level.
-Eu pelo sistema de Rank de Resets.
lucas100vzs
lucas100vzs
Membro Sênior
Membro Sênior

Mensagens : 396

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por HollywoorD10 Qui 03 Jan 2013, 14:01

Boa mano gostei muito +1 Cred
Espero que ajuda bastante gente
HollywoorD10
HollywoorD10
Membro
Membro

Mensagens : 137

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por DrayonDuarte Qui 03 Jan 2013, 14:04

Obrigado por disponibilizar para agente, pelo o tempo e trabalho de criar o topico.

+1 de crédito, continue postando.
DrayonDuarte
DrayonDuarte
Membro
Membro

Mensagens : 243

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por caik Qua 30 Jan 2013, 08:13

ai nem funfa o Server fica nesse erro:For i = 1 To MAX_RANK
If GetPlayerReset(Index) > Rank(i).Resets Then
CheckRank = i
Exit Function
End If
Next i

End Function
caik
caik
Membro Junior
Membro Junior

Mensagens : 89

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por SynysterGates Qua 30 Jan 2013, 10:49

Por que o Certo é:

Código:
For i = 1 To MAX_RANK
        If GetPlayerResets(Index) > Rank(i).Resets Then
            CheckRank = i
            Exit Function
        End If
    Next i
   
End Function

......
SynysterGates
SynysterGates
Membro Junior
Membro Junior

Mensagens : 81

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por marak-garin Qua 30 Jan 2013, 12:46

tava precisando desse tutorial mesmo Very Happy
marak-garin
marak-garin
Novato
Novato

Mensagens : 20

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por maraquanos-marakgarin Qua 30 Jan 2013, 17:09

belo sistema Very Happy
maraquanos-marakgarin
maraquanos-marakgarin
Novato
Novato

Mensagens : 18

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por caik Qua 30 Jan 2013, 19:01

aew desculpa eu pensei que tinha dado certo mais num deu olha o erro: Sub or Function not defined. NO GetPlayerResets pq???


For i = 1 To MAX_RANK
If GetPlayerResets(Index) > Rank(i).Resets Then
CheckRank = i
Exit Function
End If
Next i

......
Vlw aew me Ajudo Mt +1 cred
caik
caik
Membro Junior
Membro Junior

Mensagens : 89

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por lucas100vzs Qui 31 Jan 2013, 10:08

Deu Erro no:

Código:
GetplayerResets(Index)

Porque tens de ter o sistema de reset....Rank de resets, requer sistema de reset Razz
lucas100vzs
lucas100vzs
Membro Sênior
Membro Sênior

Mensagens : 396

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por caik Qui 31 Jan 2013, 11:16

Aew lucas Acho que eu nao tenho o sistema de resets acho que e por isso vlw aew por avisa e pelo sistema +1
caik
caik
Membro Junior
Membro Junior

Mensagens : 89

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por Snake Seg 04 Fev 2013, 14:42

Deu certo aqui mas quando eu fui olhar la a lista do rank de resets meu nick tava la em primeiro mas meu personagem n tem nenhum reset Shocked tem como arruma ai ? Vlw manow !!

~Edit; Ei pow passa algum sistema de reset ae pq aqui ta dando erro quando tento compilar o server da erro no GetPlayerResets falta declara a GetPlayerResets !!
Snake
Snake
Membro
Membro

Mensagens : 108

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por Himinato Sex 02 Jan 2015, 13:28

Desculpa reviver o tópico mais o meu da erro e o sistema de reset que eu tenho é esse :
Código:
    If GetPlayerLevel(Index) >= 200 Then 'Aqui você coloca o level que ele ira resetar.
SetPlayerLevel Index, 1 ' Aqui o level q vc vai voltar.
SetPlayerExp Index, 100 ' Quanto de XP você vai ficar ao resetar.
PlayerMsg Index, "Você Resetou! Parabéns.", White ' Mensagem de que você resetou.
SendPlayerData Index ' Atualiza
SendEXP Index ' Atualiza
SendAnimation GetPlayerMap(Index), 1, 0, 0, TARGET_TYPE_PLAYER, Index 'Ativa a animação selecionada (1)
End If ' Fecha a Condição.
   
End Sub

e o erro que esta dando é esse

Código:
Private Function CheckRank(ByVal Index As Long) As Byte
Dim i As Byte
    For i = 1 To MAX_RANK
        If GetPlayerLevel(Index) > Rank(i).Level Then
            CheckRank = i
            Exit Function
        End If
    Next i
   
    For i = 1 To MAX_RANK
        If GetPlayerResets(Index) > Rank(i).Resets Then
            CheckRank = i
            Exit Function
        End If
    Next i
   
End Function
        End If
    Next i
   
End Function



Alguém pode me ajudar a arrumar isso ?
Himinato
Himinato
Membro
Membro

Mensagens : 130

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por Pablo Sex 02 Jan 2015, 20:56

Himinato, você está realmente usando a eclipse origins?
Se sim, retire o seu sistema de resets, e coloque apenas o do tópico
Claro, refaça o mesmo.

Se mesmo assim não funcionar, comente aqui novamente.
Pablo
Pablo
Moderador Global
Moderador Global

Mensagens : 1371

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por Himinato Sáb 03 Jan 2015, 20:24

não entendi, é pra eu deletar o sistema de reset e ver se funciono ?
e sim uso realmente o eclipse origins
Himinato
Himinato
Membro
Membro

Mensagens : 130

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

Mensagem por -DarkninoxD- Dom 04 Jan 2015, 19:23

Himinato, o sistema de Reset q você tem é simples, ao resetar não conta os resets, simplesmente volta para o Level 1 e zera a Exp.


Procure um para Eclipse Origens Completo com todas as Functions e Subs necessárias como "GetPlayerResets" e "SetPlayerResets", remova esse sistema de Reset seu e faça o novo por completo, e faça o teste.
-DarkninoxD-
-DarkninoxD-
Membro Vitalicio
Membro Vitalicio

Mensagens : 734

http://dragonball-mrb.blogspot.com

Ir para o topo Ir para baixo

Sistema de Rank de Resets Empty Re: Sistema de Rank de Resets

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