22.03.2017, 00:58
I made a rank system, everything works, im just having some problems with saving and loading.
This is the rank variable:
This is what i do to load the rank after the login:
And this is what i do after the player quits and i save the data:
Everything ^ from code above works, except from saving and loading ranks.
I want to save the rankname variable in the Player[playerid][Rank].
Yes, i already made the row "Ranks" in mysql as varchar.
This is the rank variable:
Код:
new const gRank[][e_RANK] =
{
{"Private", 0, MAX_HEALTH, 0.0},
{"Private First Class", 50, MAX_HEALTH, 0.0},
{"Specialist", 100, 75.0, 0.0},
{"Corporal", 500, MAX_HEALTH, 5.0},
{"Sergeant", 1000, MAX_HEALTH, 5.0},
{"Staff Sergeant", 1500, MAX_HEALTH, 15.0},
{"Master Sergeant", 2500, MAX_HEALTH, 15.0},
{"Sergeant Major", 4500, MAX_HEALTH, 40.0},
{"Officer", 6000, MAX_HEALTH, 50.0},
{"Warrant Officer", 7500, MAX_HEALTH, 60.0},
{"Chief Warrant Officer",9000, MAX_HEALTH, 70.0},
{"Lieutenant", 10000, MAX_HEALTH, 70.0},
{"First Lieutenant", 12500, MAX_HEALTH, 85.0},
{"Second Lieutenant", 15000, MAX_HEALTH, MAX_ARMOUR},
{"Captain", 20000, MAX_HEALTH, MAX_ARMOUR},
{"Major", 25000, MAX_HEALTH, MAX_ARMOUR},
{"Colonel", 30000, MAX_HEALTH, MAX_ARMOUR},
{"Marshall", 33000, MAX_HEALTH, MAX_ARMOUR},
{"Field Marshall", 37000, MAX_HEALTH, MAX_ARMOUR},
{"General", 40000, MAX_HEALTH, MAX_ARMOUR},
{"Brigadier General", 45000, MAX_HEALTH, MAX_ARMOUR},
{"Major General", 50000, MAX_HEALTH, MAX_ARMOUR},
{"Master Of War", 60000, MAX_HEALTH, MAX_ARMOUR},
{"God Of War", 9999999,MAX_HEALTH, MAX_ARMOUR}
};
Код:
cache_get_value_int(0, "Rank", Player[playerid][Rank]);
Код:
UpdatePlayerData(playerid)
{
if (Player[playerid][IsLoggedIn] == false) return 0;
new query[180];
mysql_format(g_SQL, query, sizeof query, "UPDATE `players` SET `Kills` = %d,`Deaths` = %d,`Score` = %i,`Money` = %i, `Level` = %d,`Cookies` = %d, `Warns`, `Vip` = %d, `Banned` = %d, `Rank` = %s WHERE `id` = %d LIMIT 1",
Player[playerid][Kills],
Player[playerid][Deaths],
GetPlayerScore(playerid),
GetPlayerMoney(playerid),
Player[playerid][Level],
Player[playerid][Cookies],
Player[playerid][Warns],
Player[playerid][Vip],
Player[playerid][Banned],
gRank[rankName],
Player[playerid][ID]);
mysql_tquery(g_SQL, query);
return 1;
}
I want to save the rankname variable in the Player[playerid][Rank].
Yes, i already made the row "Ranks" in mysql as varchar.


