Saving player weapons
#1

I was working on a system to save players weapons on disconnect, I'm using a MySQL system. How could I go about doing this? This is the database layout;

DATABASE_NAME
- accounts (the table in which weapons are)
-- Weapon1, Weapon1A, Weapon2, Weapon2A... ...Weapon14, Weapon14A (the columns where weapons go)

I wanted to make a function which saves the guns in these slots on disconnect, and loads them on connect. I was thinking of something like;

pawn Code:
forward SavePlayerWeapons(playerid);

public OnPlayerDisconnect(playerid, reason)
{
    SavePlayerWeapons(playerid);
    return 1;
}

public SavePlayerWeapons(playerid)
{
//I don't know what to do here...
}
Reply
#2

get y in saving
Code:
enum Info
{
	pPass,
	pMoney,
	pHealth,
	pArmour,
	pScore,
	pKills,
	pDeaths,
	pWep1,
	pWep1a,
	pWep2,
	pWep2a,
	pWep3,
	pWep3a,
	pWep4,
	pWep4a,
	pWep5,
	pWep5a,
	pWep6,
	pWep6a,
	pWep7,
	pWep7a,
	pWep8,
	pWep8a,
	pWep9,
	pWep9a,
	pWep10,
	pWep10a,
	pWep11,
	pWep11a,
	pWep12,
	pWep12a
}
new PlayerInfo[MAX_PLAYERS][Info];
Code:
you can add this in public
    GetPlayerWeaponData(playerid, 0, PlayerInfo[playerid][pWeapon0], PlayerInfo[playerid][pAmmo0]);
    GetPlayerWeaponData(playerid, 1, PlayerInfo[playerid][pWeapon1], PlayerInfo[playerid][pAmmo1]);
    GetPlayerWeaponData(playerid, 2, PlayerInfo[playerid][pWeapon2], PlayerInfo[playerid][pAmmo2]);
    GetPlayerWeaponData(playerid, 3, PlayerInfo[playerid][pWeapon3], PlayerInfo[playerid][pAmmo3]);
    GetPlayerWeaponData(playerid, 4, PlayerInfo[playerid][pWeapon4], PlayerInfo[playerid][pAmmo4]);
    GetPlayerWeaponData(playerid, 5, PlayerInfo[playerid][pWeapon5], PlayerInfo[playerid][pAmmo5]);
    GetPlayerWeaponData(playerid, 6, PlayerInfo[playerid][pWeapon6], PlayerInfo[playerid][pAmmo6]);
    GetPlayerWeaponData(playerid, 7, PlayerInfo[playerid][pWeapon7], PlayerInfo[playerid][pAmmo7]);
    GetPlayerWeaponData(playerid, 8, PlayerInfo[playerid][pWeapon8], PlayerInfo[playerid][pAmmo8]);
    GetPlayerWeaponData(playerid, 9, PlayerInfo[playerid][pWeapon9], PlayerInfo[playerid][pAmmo9]);
    GetPlayerWeaponData(playerid, 10, PlayerInfo[playerid][pWeapon10], PlayerInfo[playerid][pAmmo10]);
    GetPlayerWeaponData(playerid, 11, PlayerInfo[playerid][pWeapon11], PlayerInfo[playerid][pAmmo11]);
    GetPlayerWeaponData(playerid, 12, PlayerInfo[playerid][pWeapon12], PlayerInfo[playerid][pAmmo12]);
    INI_WriteInt(File,"Weapon0",PlayerInfo[playerid][pWeapon0]);
    INI_WriteInt(File,"Ammo0",PlayerInfo[playerid][pAmmo0]);
    INI_WriteInt(File,"Weapon1",PlayerInfo[playerid][pWeapon1]);
    INI_WriteInt(File,"Ammo1",PlayerInfo[playerid][pAmmo1]);
    INI_WriteInt(File,"Weapon2",PlayerInfo[playerid][pWeapon2]);
    INI_WriteInt(File,"Ammo2",PlayerInfo[playerid][pAmmo2]);
    INI_WriteInt(File,"Weapon3",PlayerInfo[playerid][pWeapon3]);
    INI_WriteInt(File,"Ammo3",PlayerInfo[playerid][pAmmo3]);
    INI_WriteInt(File,"Weapon4",PlayerInfo[playerid][pWeapon4]);
    INI_WriteInt(File,"Ammo4",PlayerInfo[playerid][pAmmo4]);
    INI_WriteInt(File,"Weapon5",PlayerInfo[playerid][pWeapon5]);
    INI_WriteInt(File,"Ammo5",PlayerInfo[playerid][pAmmo5]);
    INI_WriteInt(File,"Weapon6",PlayerInfo[playerid][pWeapon6]);
    INI_WriteInt(File,"Ammo6",PlayerInfo[playerid][pAmmo6]);
    INI_WriteInt(File,"Weapon7",PlayerInfo[playerid][pWeapon7]);
    INI_WriteInt(File,"Ammo7",PlayerInfo[playerid][pAmmo7]);
    INI_WriteInt(File,"Weapon8",PlayerInfo[playerid][pWeapon8]);
    INI_WriteInt(File,"Ammo8",PlayerInfo[playerid][pAmmo8]);
    INI_WriteInt(File,"Weapon9",PlayerInfo[playerid][pWeapon9]);
    INI_WriteInt(File,"Ammo9",PlayerInfo[playerid][pAmmo9]);
    INI_WriteInt(File,"Weapon10",PlayerInfo[playerid][pWeapon10]);
    INI_WriteInt(File,"Ammo10",PlayerInfo[playerid][pAmmo10]);
    INI_WriteInt(File,"Weapon11",PlayerInfo[playerid][pWeapon11]);
    INI_WriteInt(File,"Ammo11",PlayerInfo[playerid][pAmmo11]);
    INI_WriteInt(File,"Weapon12",PlayerInfo[playerid][pWeapon12]);
    INI_WriteInt(File,"Ammo12",PlayerInfo[playerid][pAmmo12]);
Reply
#3

https://sampforum.blast.hk/showthread.php?tid=352703
here is where u can learn how to use yini saving
Reply
#4

The guy wants to do it on MySQL, why are you teaching him y_ini ?

However, this maybe helpful for you
pawn Code:
stock SavePlayerWeapons(playerid)
{
    GetPlayerWeaponData(playerid, 0, PlayerInfo[playerid][pWeapon1], PlayerInfo[playerid][pWeapon1A]); // Change according to your saving variable
    GetPlayerWeaponData(playerid, 1, PlayerInfo[playerid][pWeapon2], PlayerInfo[playerid][pWeapon2A]); // Same change accordingly ^
    GetPlayerWeaponData(playerid, 3, PlayerInfo[playerid][pWeapon3], PlayerInfo[playerid][pWeapon3A]); // ^^
    // Add more weapons in the same way like above
}
Reply
#5

Do I need to have a forward for that?
Reply
#6

Quote:
Originally Posted by Luke_James
View Post
Do I need to have a forward for that?
No it is a stock you don't have to.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)