Sistema de Resets Automático

    Compartilhe
    avatar
    Thales12
    Administrador
    Administrador

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

    default Sistema de Resets Automático

    Mensagem por Thales12 em Seg Fev 13, 2012 1:07 am


    Client~Side

    No final da Type PlayerRec antes do End Type adicione:

    Código:
        Resets As Long

    Procure por:

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

    E abaixo adicione:

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

    Procure por:

    Código:
    Sub SetPlayerPK(ByVal Index As Long, ByVal PK 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).PK = PK
       
        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "SetPlayerPK", "modDatabase", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub
    End Sub

    E abaixo adicione:

    Código:
    Function GetPlayerResets(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
        GetPlayerResets = Player(Index).Resets
       
        ' Error handler
        Exit Function
    errorhandler:
        HandleError "GetPlayerResets", "modDatabase", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Function
    End Function


    Sub SetPlayerResets(ByVal Index As Long, ByVal Resets 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).Resets = Resets
       
        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "SetPlayerResets", "modDatabase", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub
    End Sub

    Serve~Side

    No final da Type PlayerRec antes do End Type adicione:

    Código:
        Resets As Long

    Procure por:

    Código:
        Buffer.WriteLong GetPlayerPK(index)

    E abaixo adicione:

    Código:
        Buffer.WriteLong GetPlayerResets(index)

    No final da Sub CheckPlayerLevelUp, antes do End Sub, adicione:

    Código:
    [code]    If GetPlayerLevel(index) = 1000 Then ' Mude o 1000 para o level nessessario para resetar
            Call PlayerMsg(index, "Parabens " & GetPlayerName(index) & "você acaba  de resetar", 15)
            Call SendAnimation(1, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index)) ' Mude o número 1 para o número da animção que aparecera ao resetar
            Call SetPlayerLevel(index, 1) 'Volta para o level 1
            Call SetPlayerExp(index, 1) ' Traz a experiencia do player para 1
            Call setplayerResets(index, GetPlayerResets(index) + 1)
            Call SendPlayerData(index)  ' Salva o player
            Call SendEXP(index)  ' Salva a experiencia do player
        End If[/code]

    Procure por:

    Código:
    Sub SetPlayerPK(ByVal index As Long, ByVal PK As Long)
        Player(index).PK = PK
    End Sub

    E abaixo adicione:

    Código:
    Function GetPlayerResets(ByVal index As Long) As Long
        If index > MAX_PLAYERS Then Exit Function
        GetPlayerResets = Player(index).Resets
    End Function


    Sub SetPlayerResets(ByVal index As Long, ByVal Resets As Long)
        Player(index).Resets = Resets
    End Sub

    Créditos:

    Ricardo

      Data/hora atual: Dom Out 21, 2018 1:43 am