SA-MP Forums Archive
[Ajuda] Vip Mes , Soma - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Vip Mes , Soma (/showthread.php?tid=371506)



Vip Mes , Soma - mau.tito - 23.08.2012

Ola Galera Vim aqui perdir ajuda num sistema vip do meu gm

eu quero fazer com o getdate , mas nao intendi como utilizalo, se alguem puder ajuda como eu utilizo ele agrdз.

outra coisa no meu sistema vip o player pode escolher o dia BLZ.
so que o valor de um dia nao ta somando com a quantidade de dias que o player quer ¬¬
alguem pode me ajuda ae.


pawn Код:
if(dialogid == 26)
    {
       if(!response)return true;
       new tito[100];
       format(tito,sizeof(tito), "Vocк deseja Efetuar a Compra de %d Dias ,Vocк Perdera %d Gold.", strval(inputtext), 100 * strval(inputtext));
       ShowPlayerDialog(playerid, 27, DIALOG_STYLE_MSGBOX, "TVip - Vip", tito, "Sнm", "Nгo");
    }
    if(dialogid == 27)
    {
       new tito[100];
       if(!response)return true;
       VipInfo[playerid][vTipo] = 1;
       VipInfo[playerid][vDias] = strval(inputtext);
       VipInfo[playerid][vGold] -= 100 * strval(inputtext);
       format(tito,sizeof(tito),"Vocк Comprou %d Dias ,Vocк gastou %d Gold.", strval(inputtext), 100 * strval(inputtext));
       SendClientMessage(playerid, -1, tito);
       SalvarVip(playerid);
    }



Re: Vip Mes , Soma - paulor - 23.08.2012


GetDate й o mais complexo, aconselharia o GetTime, se vc desejar pode ver meus cуdigos ъteis que postei para ter uma ideia de como fazer...

http://forum.sa-mp.com/showpost.php?...postcount=1581 - GetDate.
http://forum.sa-mp.com/showpost.php?...postcount=1653 - GetTime.



Re: Vip Mes , Soma - mau.tito - 23.08.2012

Quote:
Originally Posted by paulor
Посмотреть сообщение

GetDate й o mais complexo, aconselharia o GetTime, se vc desejar pode ver meus cуdigos ъteis que postei para ter uma ideia de como fazer...

http://forum.sa-mp.com/showpost.php?...postcount=1581 - GetDate.
http://forum.sa-mp.com/showpost.php?...postcount=1653 - GetTime.
Ok. vou tentar fazer aqui.


@ Edit
Nem Intendi Seu Code


Re: Vip Mes , Soma - paulor - 23.08.2012

pawn Код:
new PTVip[MAX_PLAYERS][2]; //Crio uma var para Armazenar o Vip dele e o Tempo do Vip dele...

public OnPlayerConnect(playerid) {
    if(PTVip[playerid][0]) if(gettime() >= PTVip[playerid][1]) { PTVip[playerid][0] = 0; SendClientMessage(playerid, 0xFF0000FF, "[INFO] Seu VIP expirou!!"); } //Verifico se ele tem o Vip, Vejo se o Unix time atual й maior que o armazenado, se sim retiro o Vip.
    return 1;
}

CMD:darvip(playerid, params[]) {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Vocк nгo й um Admin!");
    new GiveID, PVip, PTDias;
    if(sscanf(params, "uii", GiveID, PVip, PTDias)) return SendClientMessage(playerid, 0xFFFFFFFF, "[USO] /darvip [id/nick] [Vip(1-Bronze, 2-Prata e 3-Ouro)] [Dias]");
    if(!IsPlayerConnected(GiveID)) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Jogador Offline!");
    if(!(PVip > 0 && PVip < 4)) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Vip somente de 1-3!");
    if(!(PTDias > 0)) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Dias maiores que 0!");
    new PTStr[33];
    format(PTStr, sizeof(PTStr), "[INFO] Vocк recebeu VIP %s por %d dias!!", (PVip==1)?("Bronze"):(PVip==2)?("Prata"):("Ouro"), PTDias);
    SendClientMessage(GiveID, 0x00FF00FF, PTStr);
    PTVip[GiveID][1] = gettime() + (PTDias*24*60*60); //Pego a quantidade de dias digitado e somo ao Unix atual como segundo.
    PTVip[GiveID][0] = PVip; //Seto qual vip ele deseja.
    return 1;
}

CMD:tirarvip(playerid, params[]) {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Vocк nгo й um Admin!");
    new GiveID;
    if(sscanf(params, "u", GiveID)) return SendClientMessage(playerid, 0xFFFFFFFF, "[USO] /tirarvip [id/nick]");
    if(!IsPlayerConnected(GiveID)) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Jogador Offline!");
    new PTStr[32];
    format(PTStr, sizeof(PTStr), "[INFO] Vocк perdeu seu VIP %s!!", (PVip==1)?("Bronze"):(PVip==2)?("Prata"):("Ouro"));
    SendClientMessage(GiveID, 0xFF0000FF, PTStr);
    PTVip[GiveID][1] = 0;
    PTVip[GiveID][0] = 0;
    return 1;
}

CMD:tempovip(playerid) {
    if(!PTVip[playerid][0]) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Vocк nгo й um VIP!");
    new PTStr[45];
    if(PTVip[playerid][0]) {
        if(gettime() >= PTVip[playerid][1]) { PTVip[playerid][0] = 0; SendClientMessage(playerid, 0xFF0000FF, "[INFO] Seu VIP expirou!!"); return 1; } // Aki й mesma coisa do OnPlayerConnect
        format(PTStr, sizeof(PTStr), "[INFO] Restam %d dias para acabar o seu VIP!", (((PTVip[playerid][1] - gettime())/60)/60)/24); //Aki ele vai mostrar o tempo restante ainda, em dias..
        SendClientMessage(playerid, 0x00FF00FF, PTStr);
    }
    return 1;
}