Using an array to save this... - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (
https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Using an array to save this... (
/showthread.php?tid=183857)
Using an array to save this... -
Scenario - 17.10.2010
Guys... Is it possible to use an array to save a players weapon data into a MySQL database? Instead of doing this...
pawn Код:
stock SavePlayerWeapons(playerid)
{
if(PlayerStatistics[playerid][pAuth] == 1)
{
for(new x = 0; x < 12; x++)
{
GetPlayerWeaponData(playerid, x, PlayerStatistics[playerid][pWeapons][x], PlayerStatistics[playerid][pAmmo][x]);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Weapon1` = %d, `Weapon2` = %d, `Weapon3` = %d, `Weapon4` = %d, `Weapon5` = %d, `Weapon6` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pWeapons][1], PlayerStatistics[playerid][pWeapons][2], PlayerStatistics[playerid][pWeapons][3], PlayerStatistics[playerid][pWeapons][4], PlayerStatistics[playerid][pWeapons][5], PlayerStatistics[playerid][pWeapons][6], PlayerStatistics[playerid][pDatabaseID]);
mysql_query(Query);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Weapon7` = %d, `Weapon8` = %d, `Weapon9` = %d, `Weapon10` = %d, `Weapon11` = %d, `Weapon12` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pWeapons][7], PlayerStatistics[playerid][pWeapons][8], PlayerStatistics[playerid][pWeapons][9], PlayerStatistics[playerid][pWeapons][10], PlayerStatistics[playerid][pWeapons][11], PlayerStatistics[playerid][pWeapons][12], PlayerStatistics[playerid][pDatabaseID]);
mysql_query(Query);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Ammo1` = %d, `Ammo2` = %d, `Ammo3` = %d, `Ammo4` = %d, `Ammo5` = %d, `Ammo6` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pAmmo][1], PlayerStatistics[playerid][pAmmo][2], PlayerStatistics[playerid][pAmmo][3], PlayerStatistics[playerid][pAmmo][4], PlayerStatistics[playerid][pAmmo][5], PlayerStatistics[playerid][pAmmo][6], PlayerStatistics[playerid][pDatabaseID]);
mysql_query(Query);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Ammo7` = %d, `Ammo8` = %d, `Ammo9` = %d, `Ammo10` = %d, `Ammo11` = %d, `Ammo12` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pAmmo][7], PlayerStatistics[playerid][pAmmo][8], PlayerStatistics[playerid][pAmmo][9], PlayerStatistics[playerid][pAmmo][10], PlayerStatistics[playerid][pAmmo][11], PlayerStatistics[playerid][pAmmo][12], PlayerStatistics[playerid][pDatabaseID]);
mysql_query(Query);
}
}
return 1;
}
Possibly do something like this...
pawn Код:
stock SavePlayerWeapons(playerid)
{
if(PlayerStatistics[playerid][pAuth] == 1)
{
for(new x = 0; x < 12; x++)
{
GetPlayerWeaponData(playerid, x, PlayerStatistics[playerid][pWeapons][x], PlayerStatistics[playerid][pAmmo][x]);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Weapons[x]` = %d AND `Ammo[x]` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pWeapons][x], PlayerStatistics[playerid][pAmmo][x], PlayerStatistics[playerid][pDatabaseID]);
mysql_query(Query);
}
}
return 1;
}
Also... Would it be best to check for a "Username" and remove "UserID" completely out of my system?
Re: Using an array to save this... -
[HiC]TheKiller - 17.10.2010
Quote:
Originally Posted by RealCop228
Guys... Is it possible to use an array to save a players weapon data into a MySQL database? Instead of doing this...
pawn Код:
stock SavePlayerWeapons(playerid) { if(PlayerStatistics[playerid][pAuth] == 1) { for(new x = 0; x < 12; x++) { GetPlayerWeaponData(playerid, x, PlayerStatistics[playerid][pWeapons][x], PlayerStatistics[playerid][pAmmo][x]);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Weapon1` = %d, `Weapon2` = %d, `Weapon3` = %d, `Weapon4` = %d, `Weapon5` = %d, `Weapon6` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pWeapons][1], PlayerStatistics[playerid][pWeapons][2], PlayerStatistics[playerid][pWeapons][3], PlayerStatistics[playerid][pWeapons][4], PlayerStatistics[playerid][pWeapons][5], PlayerStatistics[playerid][pWeapons][6], PlayerStatistics[playerid][pDatabaseID]); mysql_query(Query); format(Query, sizeof(Query), "UPDATE `Accounts` SET `Weapon7` = %d, `Weapon8` = %d, `Weapon9` = %d, `Weapon10` = %d, `Weapon11` = %d, `Weapon12` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pWeapons][7], PlayerStatistics[playerid][pWeapons][8], PlayerStatistics[playerid][pWeapons][9], PlayerStatistics[playerid][pWeapons][10], PlayerStatistics[playerid][pWeapons][11], PlayerStatistics[playerid][pWeapons][12], PlayerStatistics[playerid][pDatabaseID]); mysql_query(Query);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Ammo1` = %d, `Ammo2` = %d, `Ammo3` = %d, `Ammo4` = %d, `Ammo5` = %d, `Ammo6` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pAmmo][1], PlayerStatistics[playerid][pAmmo][2], PlayerStatistics[playerid][pAmmo][3], PlayerStatistics[playerid][pAmmo][4], PlayerStatistics[playerid][pAmmo][5], PlayerStatistics[playerid][pAmmo][6], PlayerStatistics[playerid][pDatabaseID]); mysql_query(Query); format(Query, sizeof(Query), "UPDATE `Accounts` SET `Ammo7` = %d, `Ammo8` = %d, `Ammo9` = %d, `Ammo10` = %d, `Ammo11` = %d, `Ammo12` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pAmmo][7], PlayerStatistics[playerid][pAmmo][8], PlayerStatistics[playerid][pAmmo][9], PlayerStatistics[playerid][pAmmo][10], PlayerStatistics[playerid][pAmmo][11], PlayerStatistics[playerid][pAmmo][12], PlayerStatistics[playerid][pDatabaseID]); mysql_query(Query); } } return 1; }
Possibly do something like this...
pawn Код:
stock SavePlayerWeapons(playerid) { if(PlayerStatistics[playerid][pAuth] == 1) { for(new x = 0; x < 12; x++) { GetPlayerWeaponData(playerid, x, PlayerStatistics[playerid][pWeapons][x], PlayerStatistics[playerid][pAmmo][x]);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Weapons[x]` = %d AND `Ammo[x]` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pWeapons][x], PlayerStatistics[playerid][pAmmo][x], PlayerStatistics[playerid][pDatabaseID]); mysql_query(Query); } } return 1; }
Also... Would it be best to check for a "Username" and remove "UserID" completely out of my system?
|
Do you mean something like this
pawn Код:
stock SavePlayerWeapons(playerid)
{
if(PlayerStatistics[playerid][pAuth] == 1)
{
for(new x = 0; x < 12; x++)
{
GetPlayerWeaponData(playerid, x, PlayerStatistics[playerid][pWeapons][x], PlayerStatistics[playerid][pAmmo][x]);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Weapons%d` = %d AND `Ammo%d` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pWeapons][x], x, PlayerStatistics[playerid][pAmmo][x], x, PlayerStatistics[playerid][pDatabaseID]);
mysql_query(Query);
}
}
return 1;
}
Or you could save it all into a single field and use sscanf to split it.
Re: Using an array to save this... -
Scenario - 17.10.2010
Quote:
Originally Posted by [HiC]TheKiller
Do you mean something like this
pawn Код:
stock SavePlayerWeapons(playerid) { if(PlayerStatistics[playerid][pAuth] == 1) { for(new x = 0; x < 12; x++) { GetPlayerWeaponData(playerid, x, PlayerStatistics[playerid][pWeapons][x], PlayerStatistics[playerid][pAmmo][x]);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Weapons%d` = %d AND `Ammo%d` = %d WHERE `UserID` = %d", PlayerStatistics[playerid][pWeapons][x], x, PlayerStatistics[playerid][pAmmo][x], x, PlayerStatistics[playerid][pDatabaseID]); mysql_query(Query); } } return 1; }
Or you could save it all into a single field and use sscanf to split it.
|
Could you elaborate a little more on the sscanf part?