22.07.2015, 16:25
Hellu,
I have gamemode and filterscript. I don't know why PVar is not saving Mission Passed data. have a look on the codes.
This is the gamemode where i SetPVar:
& This is the filterscript where i Set GetPVar:
Sorry i know i have mistaken somewhere lel
I have gamemode and filterscript. I don't know why PVar is not saving Mission Passed data. have a look on the codes.
This is the gamemode where i SetPVar:
Code:
enum PlayerData
{
MissionPass
};
new AccInfo[MAX_PLAYERS][PlayerData];
public OnPlayerConnect(playerid)
{
AccInfo[playerid][MissionPass] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
AccInfo[playerid][MissionPass] = 0;
return 1;
}
forward NoExplode(playerid);
public NoExplode(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerPlaySound(playerid, 1185, 0.0, 0.0, 0.0);
if(gTeam[i] == TEAM_ATTACKERS)
{
GameTextForPlayer(i, "~g~ Mission Completed", 6000, 4);
GivePlayerMoney(i, 4000);
SetPlayerScore(i,GetPlayerScore(i)+5);
AccInfo[playerid][MissionPass]++;
SetPVarInt(playerid, "MissionPass", AccInfo[playerid][MissionPass]); //PVar is here
SendClientMessage(playerid,-1,"{7C7C7C}» You've Recieved 5 Points and $4,000 for Completing the mission Objective.");
}
if(gTeam[i] == TEAM_DEFENDERS)
{
GameTextForPlayer(i, "~r~ Mission Failed", 6000, 4);
GivePlayerMoney(i, -2000);
SendClientMessage(playerid,-1,"{FF0000}» You've Lost -$2000 Money for Not completing the Mission Objective.");
}
SetTimer("NewMode",5000,false);
}
}
return 1;
}
Code:
if(strcmp(cmd, "/stats", true) == 0)
{
new string[128];
new pDeaths;
new player1, h, m, s;
new file[100];
new str[256];
if(!strlen(params)) player1 = playerid;
else player1 = strval(params);
if(IsPlayerConnected(player1))
{
#if USE_DIALOGS == true
new dialog[1000];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(player1)));
TotalGameTime(player1, h, m, s);
if(AccInfo[player1][Deaths] == 0) pDeaths = 1;
else pDeaths = AccInfo[player1][Deaths];
format(string, sizeof(string), "{00FF00}» AccServ: {FFFFFF}You're Currently viewing the Stats of %s (/stats {PlayerID])",PlayerName2(player1));
SendClientMessage(playerid, green, string);
PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
format(string, sizeof(string),"{72A6FF}Mission Passed: {FFFFFF}%d\n",GetPVarInt(playerid, "MissionPass")); //GVar
strcat(dialog,string);
return ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_MSGBOX,"{FFFF00}eX-MM - {FFFFFF}Player's Statistics",dialog,"Close","");
} else
return SendClientMessage(playerid, red, "{FF0000}» Error: {BABABA}Player Not Connected.");
}
//from here the player data load when they login
LoginPlayer(playerid)
{
if(ServerInfo[GiveMoney] == 1)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, dUserINT(PlayerName2(playerid)).("Money"));
}
SetPlayerWantedLevel(playerid,dUserINT(PlayerName2(playerid)).("WantedLevel"));
#if SaveScore == true
SetPlayerScore(playerid,dUserINT(PlayerName2(playerid)).("Score"));
#endif
dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
AccInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("Deaths"));
AccInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("Kills"));
AccInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("Level"));
AccInfo[playerid][pVip] = (dUserINT(PlayerName2(playerid)).("AccountType"));
AccInfo[playerid][hours] = dUserINT(PlayerName2(playerid)).("Hours");
AccInfo[playerid][mins] = dUserINT(PlayerName2(playerid)).("Minutes");
AccInfo[playerid][secs] = dUserINT(PlayerName2(playerid)).("Seconds");
AccInfo[playerid][Reactionwon] = (dUserINT(PlayerName2(playerid)).("Reactionwon"));
AccInfo[playerid][Registered] = 1;
AccInfo[playerid][LoggedIn] = 1;
GetPVarInt(playerid, "MissionPass"); //GVar
}
//Here player data save
SavePlayerStats(playerid)
{
dUserSetINT(PlayerName2(playerid)).("Money",GetPlayerMoney(playerid));
dUserSetINT(PlayerName2(playerid)).("Kills",AccInfo[playerid][Kills]);
dUserSetINT(PlayerName2(playerid)).("Reactionwon",AccInfo[playerid][Reactionwon]);
dUserSetINT(PlayerName2(playerid)).("Deaths",AccInfo[playerid][Deaths]);
dUserSetINT(PlayerName2(playerid)).("WantedLevel",GetPlayerWantedLevel(playerid));
GetPVarInt(playerid, "MissionPass");
}


