23.08.2012, 19:06
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;
}