27.11.2013, 12:40
Preciso de uma ajuda em meu sistema de vip por dias toda vez que eu relogo ele perde o vip e quando da 4 dias de vip ele buga fica 32/12/2013 allguem me ajuda do +rep
esse fix date fica no comando de da vip
pawn Код:
forward CheckVip(playerid);
public CheckVip(playerid)
{
for(new i = 0; i < sizeof(VipInfo); i++)
{
getdate(year, month, day);
if(year > VipInfo[i][vAno2])
{
PerderVIP(playerid);
}
if(year == VipInfo[i][vAno2] && month > VipInfo[i][vMes2])
{
PerderVIP(playerid);
}
if(year == VipInfo[i][vAno2] && month == VipInfo[i][vMes2] && day >= VipInfo[i][vDia2])
{
PerderVIP(playerid);
}
}
return 1;
}
stock PerderVIP(playerid)
{
for(new i = 0; i < sizeof(VipInfo); i++)
{
if(strcmp(PlayerName(playerid),VipInfo[i][vNick],true)==0)
{
strmid(VipInfo[i][vNick], "Ninguem", 0, strlen("Ninguem"), 255);
VipInfo[i][vDia] = 0;
VipInfo[i][vMes] = 0;
VipInfo[i][vAno] = 0;
VipInfo[i][vDia2] = 0;
VipInfo[i][vMes2] = 0;
VipInfo[i][vAno2] = 0;
VipInfo[i][vTempo] = 0;
PlayerInfo[playerid][pVIP] = 0;
SaveVip();
SendClientMessage(playerid, COLOR_YELLOW, "Vocк perdeu seu VIP, renove-o e receba seus benefнcios de volta");
break;
}
}
}
stock FixDate(mes, add)
{
if(mes+add <= 12)//ex: 9+3=12
{
return 0;//tempo a ser adicionado
}
else
{
return 1;//tempo a ser adicionado
}
}
pawn Код:
VipInfo[i][vDia2] = day+tempo;
VipInfo[i][vMes2] = month+FixDate(month, tempo);