if(strcmp(cmd, "/darvip", true) ==0 || strcmp(cmd, "/setarvip", true) ==0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] < 1340) { SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo tem autorizaзгo para usar esse comando."); return 1; } VipVaga(); if(VagaSobrando == 0) { SendClientMessage(playerid, COLOR_GRAD1, "Nгo hб mais vagas na lista use /limparvip primeiro."); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /darvip [ ID ] [Nivel] 1(Prata) 2(Ouro) 3(VIP-Sуcio)"); return 1; } new para1; new level; para1 = ReturnUser(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /darvip [ ID ] [Nivel] 1(Prata) 2(Ouro) 3(VIP-Sуcio)"); return 1; } level = strval(tmp); GetPlayerName(para1, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(IsPlayerConnected(para1)) { if(para1 != INVALID_PLAYER_ID) { format(string, sizeof string, "Vocк deu VIP Nнvel %d para %s", level, giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof string, "Vocк ganhou VIP Nнvel %d do admin {FF34B3}%s", level, sendername); SendClientMessage(para1, COLOR_LIGHTBLUE, string); getdate(year, month, day); gettime(hour,minute,second); format(string, sizeof(string), "%s deu vip ao %s nнvel %d (%d/%d/%d - %d:%d)",sendername,giveplayer,level,day, month, year,hour, minute); VipsLog(string); PlayerInfo[para1][pVIP] = level; new var03 = 0; for(new i = 0; i < sizeof(VipInfo); i++) { if(strcmp(giveplayer,VipInfo[i][vNick],true)==0) { VipInfo[i][vTipo] = level; VipInfo[i][vDia] = day; VipInfo[i][vMes] = month+1; VipInfo[i][vAno] = year; SaveVip(); var03 = 1; break; } } if(var03 == 0) { for(new i = 0; i < sizeof(VipInfo); i++) { if(strcmp("Ninguem",VipInfo[i][vNick],true)==0) { strmid(VipInfo[i][vNick], giveplayer, 0, strlen(giveplayer), 255); VipInfo[i][vTipo] = level; VipInfo[i][vDia] = 0; VipInfo[i][vMes] = 0; VipInfo[i][vAno] = 0; SaveVip(); break; } } } } } } return 1; }
//TOPO
new vip[MAX_PLAYERS];
//Onplayerconnect - Requestclass ou outro que vc queira
new string[256];
GetPlayerName(playerid, nome, sizeof(nome));
format(string, sizeof(string),"PASTA DE SALVAMENTO/%s.txt", nome);
vip[playerid] = DOF2_GetInt(string,"tempoVip");
if(gettime() > vip[playerid])
{
vip[playerid] = 0;
DOF2_SetInt(file00,"tempoVip", 0);
}
else
{
format(string, sizeof(string), "Seu vip expira em %s.", convertNumber(vip[playerid]-gettime()));
SendClientMessage(playerid, 0xF6FF00AA, string);
}
//Fim do GM
stock convertNumber(n)
{
new dia, hr, mn, seg, resto;
resto = n;
seg = resto % 60;
resto /= 60;
mn = resto % 60;
resto /= 60;
hr = resto % 24;
resto /= 24;
dia = resto;
new str[50];
format(str, sizeof(str), "%d dias, %02d horas %02d minutos %02d segundos", dia, hr, mn, seg);
return str;
}
stock ConvertDays(dias)
{
new
valueday = 86400*dias,
daysconvert,
gtime = gettime()
;
#emit LOAD.S.PRI gtime
#emit LOAD.S.ALT valueday
#emit ADD
#emit STOR.S.PRI daysconvert
return daysconvert;
}
//Comando em STRCMP
if(strcmp(cmd,"/setarvip", true)==0)
{
new nome[MAX_PLAYER_NAME],string[256],string2[256];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(string, sizeof(string), "PASTA_DE_SALVAMENTO/%s.txt", nome);
new id, days;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Digite: /SetarVip [ID] [DIAS]");
return 1;
}
id = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Digite: /SetarVip [ID] [DIAS]");
return 1;
}
days = strval(tmp);
if(days < -1 || days > 999) {
SendClientMessage(playerid, Vermelho, "Quantidade invбlida");
return 1;
}
if(IsPlayerConnected(id)) {
vip[id] = ConvertDays(days);
new pname[MAX_PLAYER_NAME];
GetPlayerName(id, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "Vocк deu %d dias de VIP para %s.", days, pname);
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "Vocк recebeu %d dias de VIP.", days);
SendClientMessage(id, -1, string);
format(string2, sizeof(string2), "PASTA_DE_SALVAMENTO/%s.txt", pname);
DOF2_SetInt(string2, "tempoVip", vip[id]);
return 1;
}
else {
SendClientMessage(playerid, -1, "Jogador nгo encontrado.");
return 1;
}
}
Adapte do jeito que quiser, ZCMD sscanf e tals, nгo fui eu que criei, apenas adaptei para meu uso.
PHP код:
|
Aqui o SaveFile buga meu arquivo as vezes e acaba nгo salvando, e quando eu nгo uso o savefile ele salva
ueahuehauea |