For some reason, My VIP isn't staying on a relog.
Thats inside the Include, All other items work when calling with that function.
Well then check your command that sets VIP, might set to the wrong variable or something similar. Otherwise I don't see how it could be a problem.
Код:
if(strcmp(cmd, "/makevip", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playerid][pAdmin] >= 1337)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/makevip [playerid/name] [rank]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(giveplayerid == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, GREY2, "Invalid player.");
return 1;
}
new x_string[64];
x_string = strtok(cmdtext, idx);
if(!strlen(x_string))
{
SyntaxMessage(playerid, "/makevip [playerid/name] [rank]");
return 1;
}
new year, month, day;
getdate(year, month, day);
if(strcmp(x_string,"0",true) == 0)
{
PlayerInfo[giveplayerid][pDonateRank] = 0;
format(string, sizeof(string), "WARNING: %s's VIP status has been revoked by %s.",PlayerName(giveplayerid),PlayerName(playerid));
ABroadCast(RED,string,1);
format(string, sizeof(string), "Your VIP has been taken away by %s.", PlayerName(playerid));
SendClientMessage(giveplayerid, RED, string);
ClearVIP(giveplayerid);
return 1;
}
else if(strcmp(x_string,"1",true) == 0)
{
PlayerInfo[giveplayerid][pDonateRank] = 1;
format(string, sizeof(string), "WARNING: %s has been made a bronze VIP by %s.",PlayerName(giveplayerid),PlayerName(playerid));
ABroadCast(RED,string,1);
format(string, sizeof(string), "You have been made a Bronze VIP by %s.", PlayerName(playerid));
SendClientMessage(giveplayerid, LIGHTBLUE, string);
PlayerInfo[giveplayerid][pJoinDate][1] = day;
PlayerInfo[giveplayerid][pJoinDate][2] = month;
PlayerInfo[giveplayerid][pJoinDate][3] = year;
PlayerInfo[giveplayerid][pExpireDate][1] = day;
if ((month + 1) <= 12)
{
PlayerInfo[giveplayerid][pExpireDate][2] = month + 1;
PlayerInfo[giveplayerid][pExpireDate][3] = year;
}
if ((month + 1) == 13)
{
PlayerInfo[giveplayerid][pExpireDate][2] = 1;
PlayerInfo[giveplayerid][pExpireDate][3] = year + 1;
}
}
else if(strcmp(x_string,"2",true) == 0)
{
PlayerInfo[giveplayerid][pDonateRank] = 2;
format(string, sizeof(string), "WARNING: %s has been made a silver VIP by %s.",PlayerName(giveplayerid),PlayerName(playerid));
ABroadCast(RED,string,1);
format(string, sizeof(string), "You have been made a Silver VIP by %s.", PlayerName(playerid));
SendClientMessage(giveplayerid, LIGHTBLUE, string);
PlayerInfo[giveplayerid][pJoinDate][1] = day;
PlayerInfo[giveplayerid][pJoinDate][2] = month;
PlayerInfo[giveplayerid][pJoinDate][3] = year;
PlayerInfo[giveplayerid][pExpireDate][1] = day;
if ((month + 1) <= 12)
{
PlayerInfo[giveplayerid][pExpireDate][2] = month + 1;
PlayerInfo[giveplayerid][pExpireDate][3] = year;
}
if ((month + 1) == 13)
{
PlayerInfo[giveplayerid][pExpireDate][2] = 1;
PlayerInfo[giveplayerid][pExpireDate][3] = year + 1;
}
}
else if(strcmp(x_string,"3",true) == 0)
{
PlayerInfo[giveplayerid][pDonateRank] = 3;
format(string, sizeof(string), "WARNING: %s has been made a gold VIP by %s.",PlayerName(giveplayerid),PlayerName(playerid));
ABroadCast(RED,string,1);
format(string, sizeof(string), "You have been made a Gold VIP by %s.", PlayerName(playerid));
SendClientMessage(giveplayerid, LIGHTBLUE, string);
PlayerInfo[giveplayerid][pJoinDate][1] = day;
PlayerInfo[giveplayerid][pJoinDate][2] = month;
PlayerInfo[giveplayerid][pJoinDate][3] = year;
PlayerInfo[giveplayerid][pExpireDate][1] = day;
if ((month + 1) <= 12)
{
PlayerInfo[giveplayerid][pExpireDate][2] = month + 1;
PlayerInfo[giveplayerid][pExpireDate][3] = year;
}
if ((month + 1) == 13)
{
PlayerInfo[giveplayerid][pExpireDate][2] = 1;
PlayerInfo[giveplayerid][pExpireDate][3] = year + 1;
}
}
else if(strcmp(x_string,"4",true) == 0)
{
PlayerInfo[giveplayerid][pDonateRank] = 4;
format(string, sizeof(string), "WARNING: %s has been made a platinum VIP by %s.",PlayerName(giveplayerid),PlayerName(playerid));
ABroadCast(RED,string,1);
format(string, sizeof(string), "You have been made a Platinum VIP by %s.", PlayerName(playerid));
SendClientMessage(giveplayerid, LIGHTBLUE, string);
PlayerInfo[giveplayerid][pJoinDate][1] = day;
PlayerInfo[giveplayerid][pJoinDate][2] = month;
PlayerInfo[giveplayerid][pJoinDate][3] = year;
PlayerInfo[giveplayerid][pExpireDate][1] = day;
if ((month + 1) <= 12)
{
PlayerInfo[giveplayerid][pExpireDate][2] = month + 1;
PlayerInfo[giveplayerid][pExpireDate][3] = year;
}
if ((month + 1) == 13)
{
PlayerInfo[giveplayerid][pExpireDate][2] = 1;
PlayerInfo[giveplayerid][pExpireDate][3] = year + 1;
}
}
else if(strcmp(x_string,"5",true) == 0)
{
PlayerInfo[giveplayerid][pDonateRank] = 5;
format(string, sizeof(string), "WARNING: %s has been made an extended platinum VIP by %s.",PlayerName(giveplayerid),PlayerName(playerid));
ABroadCast(RED,string,1);
format(string, sizeof(string), "You have been made an Extended Platinum VIP by %s.", PlayerName(playerid));
SendClientMessage(giveplayerid, LIGHTBLUE, string);
PlayerInfo[giveplayerid][pJoinDate][1] = day;
PlayerInfo[giveplayerid][pJoinDate][2] = month;
PlayerInfo[giveplayerid][pJoinDate][3] = year;
PlayerInfo[giveplayerid][pExpireDate][1] = day;
if ((month + 5) <= 12)
{
PlayerInfo[giveplayerid][pExpireDate][2] = month + 5;
PlayerInfo[giveplayerid][pExpireDate][3] = year;
}
if ((month + 5) >= 13)
{
PlayerInfo[giveplayerid][pExpireDate][2] = (month + 5) - 12;
PlayerInfo[giveplayerid][pExpireDate][3] = year + 1;
}
}
if (PlayerInfo[giveplayerid][pDonateRank] == 1 || PlayerInfo[giveplayerid][pDonateRank] == 2 || PlayerInfo[giveplayerid][pDonateRank] == 3 || PlayerInfo[giveplayerid][pDonateRank] == 4 || PlayerInfo[giveplayerid][pDonateRank] == 5)
{
SendClientMessage(giveplayerid, WHITE, "HINT: Type /help to see your new VIP commands.");
}
}
else { SendClientMessage(playerid, GREY, " You are not authorized to use this command."); }
return 1;
}
Because if this is, then you should really stop using it, anyway take a look inside your database and see if it is getting saved, if it is not, then the problem is at the saving point.