Excesso de Exp

    Compartilhe
    avatar
    Thales12
    Administrador
    Administrador

    Mensagens : 140
    Level : 8
    Data de inscrição : 01/11/2011
    Idade : 23
    Localização : Rio de Janeiro

    default Excesso de Exp

    Mensagem por Thales12 em Qua Fev 15, 2012 2:42 am

    O char pode ter mais exp do que o limite, quando ele está no
    nível máximo. Isso faz que, ao atingir certa quantia de Exp, o server
    feche.

    Para corrigir, localize o modPlayer > SetPlayerExp e adicione abaixo do Player(index).exp = exp este código:
    Código:
    If GetPlayerLevel(index) = MAX_LEVELS And Player(index).exp > GetPlayerNextLevel(index) Then
            Player(index).exp = GetPlayerNextLevel(index)
            Exit Sub
        End If
    No cliente, localize Function GetPlayerExp e adicione abaixo do End Function este código:

    Código:
    Function GetPlayerNextLevel(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
     
          GetPlayerNextLevel = (50 / 3) * ((GetPlayerLevel(index) + 1) ^ 3 - (6 * (GetPlayerLevel(index) + 1) ^ 2) + 17 * (GetPlayerLevel(index) + 1) - 12)

       
        ' Error handler
        Exit Function
    errorhandler:
        HandleError "GetPlayerNextLevel", "modDatabase", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Function
    End Function
    E adicione abaixo do Player(index).EXP, no Sub SetPlayerExp, este código:

    Código:
    If GetPlayerLevel(index) = MAX_LEVELS And Player(index).EXP > GetPlayerNextLevel(index) Then
            Player(index).EXP = GetPlayerNextLevel(index)
            Exit Sub
        End If

    Créditos: desconhecido
    Créditos: A mim por postar

      Data/hora atual: Seg Dez 17, 2018 7:54 am