[Tutorial] Vip por Dias
#1

Tutorial Vip Por Dias

Lembrando,eu aprendi fazer e apenas quer encinar para quem vive tentando e nunca consegue
Bom й uma coisa facil de se criar,vamos comeзar, cada linha do Tutorial irei explicar
Comeзando
No topo de seu Gamemode/FS
pawn Код:
#include SII
pawn Код:
enum pInfo
{
pVip,//Armazenarб o Vip
pDias,//Armazenarб os dias do Vip
}
new WInfo[MAX_PLAYERS][pInfo];
Comando vocк utilizarб assim
pawn Код:
COMMAND: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]");
    if(!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;//Level Vip
    return 1;
}
Mais se vocк quer mandar uma mensagem para o jogador falando quantos dias de vip ele tem
por exemplo
pawn Код:
new String[128];
format(String, sizeof(String), "{DCDCDC}| Forum SA:MP INFORMA | {FFFF00}Vocк й ainda tem %d dias De vip", WInfo[playerid][pDias]);//Chama a variavel que guarda o vip
SendClientMessage(playerid, GetPlayerColor(playerid), String);
irб dar um valor muito grande
faзa assim
pawn Код:
new String[128];
format(String, sizeof(String), "{DCDCDC}| Forum 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
pawn Код:
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 seu benefinios novamente!");
                }
        }
Vamo como salvar o Vip
Mexo com SII
entгo vamos LA
Na sua callback/dialog de registro adicione
pawn Код:
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
pawn Код:
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;
}
Callback OnGameModeExit
pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++) //LOop pra salvar a conta de geral
    {
    SalvarContas(x);
    }
pawn Код:
Callback OnPlayerDisconnect

SalvarContas(playerid);
Vip Por Dias Salvando DOF2
Topo do GM/FS
pawn Код:
#include <DOF2>
Salvando
pawn Код:
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
pawn Код:
stock CarregarPlayer(playerid)
{
        if(DOF2_FileExists(ReturnFileUser(playerid)))
        {
 
                WInfo[playerid][pVip] = DOF2_GetInt(ReturnFileUser(playerid),"Vip");
                WInfo[playerid][pDias] = DOF2_GetInt(ReturnFileUser(playerid),"Dias");
        }
}
pawn Код:
public OnPlayerConnect(playerid)
{
CarregarPlayer(playerid);
return 1;
}
pawn Код:
Funзгo de Login

CarregarPlayer(playerid);
pawn Код:
public OnGameModeExit
SalvarPlayer(playerid);
assim ele darб o verdadeiro valor por exemplo 40 Dias,Bom й isso й simples, mais pra quem nгo tinha idйia ta ai
Reply


Messages In This Thread
Vip por Dias[ATUALIZADO - by Wellington1999 - 14.09.2013, 18:50
Re: Vip por Dias - by zPain - 14.09.2013, 19:20
Re: Vip por Dias - by PT - 14.09.2013, 19:26
Re: Vip por Dias - by Wellington1999 - 14.09.2013, 23:28
Re: Vip por Dias - by PT - 15.09.2013, 04:10
Re: Vip por Dias - by Caio_Freeze - 15.09.2013, 22:12
Re: Vip por Dias - by Wellington1999 - 16.09.2013, 01:37
Re: Vip por Dias - by zSuYaNw - 16.09.2013, 03:44
Re: Vip por Dias - by zPain - 16.09.2013, 04:55
Re: Vip por Dias - by Russo66 - 16.09.2013, 20:00

Forum Jump:


Users browsing this thread: 1 Guest(s)