SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] Vip por Dias

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031977
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] Vip por Dias Empty [Tutorial] Vip por Dias

    Mensagem por Weslley_Script Seg 15 maio 2023 - 12:09

    Tutorial Vip Por Dias


    Lembrando,eu aprendi e apenas quero encinar para quem vive tentando e nunca consegue
    Bom é uma coisa fácil de se criar,vamos começar,cada linha do Tutorial vou explicar
    Comeзando
    No topo de seu Gamemode/FS

    peão Код:

    Código:
    #include SII



    peão Код:

    Código:
    enum pInfo
    {
     pVip, //Armazenará o Vip
     pDias, //Armazenará os dias do Vip
    }
    new WInfo [ MAX_PLAYERS ] [ pInfo ] ;


    Comando você usará assim

    peão Код:

    Código:
    COMANDO : darvip ( playerid, params [ ] )
    {
        new Dias,level,iddele;
        if ( ! IsPlayerAdmin )  return SendClientMessage ( playerid, COR_CINZA1, "Você não tem permissão para usar esse comando!" ) ;
        if ( sscanf ( params, "ddd" , iddele, level,Dias ) )  return SendClientMessage ( playerid, COR_CINZA1, "Use: /darvip [id] [level] [dias]" ) ;
        se ( !IsPlayerConnected ( iddele ) )  return SendClientMessage ( playerid, COR_CINZA2, "Jogador não conectado." ) ;
            WInfo [ iddele ] [ pDias ]  =  ( gettime ( )  +  ( Dias *  24  *  60  *  60 ) ) ; //Dias Multipiclando O Tempo * 24 * 60 * 60
         WInfo [ iddele ] [ pVip ]  = level; //Nível Vip
        retornar  1 ;
    }


    Mais se você quer mandar uma mensagem para o jogador falando quantos dias de vip ele tem
    por exemplo

    peão Код:

    Código:
    nova String [ 128 ] ;
    format ( String, sizeof ( String ) , "{DCDCDC}| Forum SA:MP INFORMA | {FFFF00}Você ainda tem %d dias De vip" , WInfo [ playerid ] [ pDias ] ) ; //Chama a variável que guarda o vip
     SendClientMessage ( playerid, GetPlayerColor ( playerid ) , String ) ;


    irá dar um valor muito grande
    faзa assim

    peão Код:

    Código:
    nova String [ 128 ] ;
    format ( String, sizeof ( String ) , "{DCDCDC}| Fórum SA:MP INFORMA | {FFFF00}Você ainda tem %d dias De vip" , ( WInfo [ playerid ] [ pDias ]  -  gettime ( ) )  /  ( 60  *  60  *  24 ) //Da um número mais preciso);
    SendClientMessage ( playerid, GetPlayerColor ( playerid ) , String );


    Verificação para ver se o vip venceu

    peão Код:

    Código:
    [left]if ( WInfo [ playerid ] [ pVip ]  >=  1 )
            {
                 VIPVencido [ playerid ]  =  0 ;
                if ( gettime ( )  >= WInfo [ playerid ] [ pDias ] )
                {
                         WInfo [ playerid ] [ pVip ]  =  0 ;
                        WInfo [ playerid ] [ pDias]  =  0 ;
                        SendClientMessage ( playerid, COR_VIP, "|BPS INFORMA| Seu VIP venceu. Renove seu VIP para ter seus benefícios novamente!" ) ;
                    }
            }[/left]


    Vamos como salvar o Vip
    Mexo com SII
    então vamos LA
    Na sua callback/dialog de registro adicionada

    peão Код:

    Código:
    INI_WriteInt ( "Dias" , 0 ) ;
    INI_WriteInt ( "Vip" , 0 ) ;

    Ja na callback de Login coloque
    WInfo [ playerid ] [ pDias ]  = INI_ReadInt ( "Dias" ) ;
    WInfo [ playerid ] [ pVip ]  = INI_ReadInt ( "Vip" ) ;


    Agora no final do seu gamemode coloque uma stock para salvar as contas

    peão Код:

    Código:
    SalvarContas ( playerid )
    {
        format ( formata [ playerid ] , 69 , "Contas/%s.ini" , pNome ( playerid ) ) ; //Formata e Use de seu acordo como Players/%s.ini
        if ​​( INI_Open ( formata [ playerid ] ) ) //Abre a conta
        {
             INI_WriteInt ( "Dias" , WInfo [ playerid ] [ pDias ] ) ;// Salva os Dias do Player
                     INI_WriteInt ( "Vip" , WInfo [ playerid ] [ pVip ] ) ; // Salva os Dias do Player
             INI_Save ( ) ; //Salva
             INI_Close ( ) ; //Fecha
        }
        return  1 ;
    }


    Retorno de chamada OnGameModeExit

    peão Код:

    Código:
    for ( new i =  0 ; i < MAX_PLAYERS; i ++ )  //LOop pra salvar a conta de geral
        {
         SalvarContas ( x ) ;
        }



    peão Код:

    Código:
    Callback OnPlayerDisconnect

    SalvarContas ( playerid ) ;


    Vip Por Dias Salvando DOF2
    Topo do GM/FS

    peão Код:

    Código:
    #include <DOF2>


    salvando

    peão Код:

    Código:
    stock SalvarPlayer ( playerid )
    {
            if ( DOF2_FileExists ( ReturnFileUser ( playerid ) ) )
            {
                     DOF2_SetInt ( ReturnFileUser ( playerid ) , "Vip" , WInfo [ playerid ] [ pVip ] ) ; //Salva o VIP, tinha esquecido de colocar pra salvar
                     DOF2_SetInt ( ReturnFileUser ( playerid ) , "Dias" , WInfo[ playerid ] [ pDias ] ) ; //Salva os dias
                     DOF2_SaveFile ( ) ; //salva os arquivos
            }
    }


    Carregando os Arquivos

    peão Код:

    Código:
    [left]stock CarregarPlayer ( playerid )
    {
            if ( DOF2_FileExists ( ReturnFileUser ( playerid ) ) )
            {
     
                     WInfo [ playerid ] [ pVip ]  = DOF2_GetInt ( ReturnFileUser ( playerid ) , "Vip" ) ;
                    WInfo [ playerid ] [ pDias ]  = DOF2_GetInt ( ReturnFileUser ( playerid) , "Dias" ) ;
            }
    }[/left]



    peão Код:

    Código:
    public OnPlayerConnect ( playerid )
    {
     CarregarPlayer ( playerid ) ;
    retornar  1 ;
    }



    peão Код:

    Código:
    Função de Login

    CarregarPlayer ( playerid ) ;



    peão Код:

    Código:
    public OnGameModeExit
    SalvarPlayer ( playerid ) ;

    Creditos: Wellington1999

    assim ele dará o verdadeiro valor por exemplo 40 Dias,Bom é isso é simples, mais pra quem não tinha idéia ta ai



    [Tutorial] Vip por Dias D07Xwqb
    [Tutorial] Vip por Dias Yjab9HN

      Data/hora atual: Qua 8 maio 2024 - 7:16