MySQL Saving and Variables
#1

Hi scripterzzz !

I have mysql system so i want to make the player stats to save every 5 minutes... The timer isn't problem, but the problem is that i have 150 variables for each player... Can someone show me 2-3 lines code how to start making the save system and will the server be ok ?
Reply
#2

Put the enums, I have in this way:

pawn Код:
enum pInfo
{
    pMoney,
    pScore,
    pKills,
    pDeaths,
    pAdmin,
    Float:pos_x,
    Float:pos_y,
    Float:pos_z
};
new PlayerInfo[MAX_PLAYERS][pInfo];
After that, you need to connect with your mySQL database.

pawn Код:
forward ConnectMySQL();
public ConnectMySQL()
{
    TuberiasMySQL =  mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);

    if(mysql_ping() == 1)
    {
        printf("[MYSQL]: Connection to `%s` succesful!", SQL_DB);
    }
    else
    {
        printf("[ERROR]: Connection to `%s` failed!", SQL_DB);
        SendRconCommand("exit");
    }
    return 1;
}
pawn Код:
public OnGameModeInit()
{
    ConnectMySQL();
}
In my script helped me JustBored and he make me a static like this:

pawn Код:
static TuberiasMySQL;
If the problem is not the timer, so here is the way to save the account:

pawn Код:
GuardarCuenta(playerid)
{
    new str[200],Float:x,Float:y,Float:z, pName[32]; GetPlayerPos(playerid,x,y,z); GetPlayerName(playerid, pName, 24);
    format(str, sizeof(str), "UPDATE users SET X='%f',Y='%f',Z='%f',Dinero='%d',Puntuacion='%d',Asesinatos='%d',Deaths='%d',Admin='%d' WHERE username='%s'",
    x,y,z,PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pScore], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pAdmin],pName);
    mysql_function_query(TuberiasMySQL, str, false, "OnQueryFinish", "i", playerid);
}
Regards,
Pablo.
Reply
#3

Yea i know that stuff... I was asking what will happen if i have 150 variables and i save them with mysql like this...

pawn Код:
new
        query[1024],
        query1[560],
        ime[MAX_PLAYER_NAME];

        GetPlayerName(playerid, ime, sizeof(ime));

        format(query, sizeof(query), "UPDATE Igraci SET pKey = '%s', pLevel = '%d', pAdmin = '%d', pDonateRank = '%d', pConnectTime = '%d', pReg = '%d', pSex = '%d', pAge = '%d', pOrigin = '%d', pExp = '%d', pCash = '%d', pAccount = '%d', pPhoneBook = '%d', pLottoNr = '%d', pFishes = '%d', pBiggestFish = '%d', pJob = '%d', pPayCheck = '%d', pHeadValue = '%d', pJailed = '%d'",
        PlayerInfo[playerid][pKey],
        PlayerInfo[playerid][pLevel],
        PlayerInfo[playerid][pAdmin],
        PlayerInfo[playerid][pDonateRank],
        PlayerInfo[playerid][pConnectTime],
        PlayerInfo[playerid][pReg],
        PlayerInfo[playerid][pSex],
        PlayerInfo[playerid][pAge],
        PlayerInfo[playerid][pOrigin],
        PlayerInfo[playerid][pExp],
        PlayerInfo[playerid][pCash],
        PlayerInfo[playerid][pAccount],
        PlayerInfo[playerid][pPhoneBook],
        PlayerInfo[playerid][pLottoNr],
        PlayerInfo[playerid][pFishes],
        PlayerInfo[playerid][pBiggestFish],
        PlayerInfo[playerid][pJob],
        PlayerInfo[playerid][pPayCheck],
        PlayerInfo[playerid][pHeadValue],
        PlayerInfo[playerid][pJailed]);
       
        format(query, sizeof(query), "%s, pJailTime = '%d', pCekaBolnica = '%d', pBolnicaTime = '%d', pMats = '%d', pPreMats = '%d', pPreMatsTimer = '%d', pPreMatsPre = '%d', pPreMatsVlozeno = '%d', pDrugs = '%d', pPreDroga = '%d', pPreDrogaTimer = '%d', pPreDrogaPre = '%d', pPreDrogaVlozeno = '%d', pLeader = '%d', pMember = '%d', pRank = '%d', pChar = '%d', pContractTime = '%d', pTBaterija = '%d', pSexSkill = '%d'",
        query,
        PlayerInfo[playerid][pJailTime],
        PlayerInfo[playerid][pCekaBolnica],
        PlayerInfo[playerid][pBolnicaTime],
        PlayerInfo[playerid][pMats],
        PlayerInfo[playerid][pPreMats],
        PlayerInfo[playerid][pPreMatsTimer],
        PlayerInfo[playerid][pPreMatsPre],
        PlayerInfo[playerid][pPreMatsVlozeno],
        PlayerInfo[playerid][pDrugs],
        PlayerInfo[playerid][pPreDroga],
        PlayerInfo[playerid][pPreDrogaTimer],
        PlayerInfo[playerid][pPreDrogaPre],
        PlayerInfo[playerid][pPreDrogaVlozeno],
        PlayerInfo[playerid][pLeader],
        PlayerInfo[playerid][pMember],
        PlayerInfo[playerid][pRank],
        PlayerInfo[playerid][pChar],
        PlayerInfo[playerid][pContractTime],
        PlayerInfo[playerid][pTBaterija],
        PlayerInfo[playerid][pSexSkill]);
       
        format(query, sizeof(query), "%s, pSakaMob = '%d', pMechSkill = '%d', pJackSkill = '%d', pCarSkill = '%d', pNewsSkill = '%d', pDrugsSkill = '%d', pCookSkill = '%d', pFishSkill = '%d' WHERE pProfil = '%s'",
        query,
        PlayerInfo[playerid][pSakaMob],
        PlayerInfo[playerid][pMechSkill],
        PlayerInfo[playerid][pJackSkill],
        PlayerInfo[playerid][pCarSkill],
        PlayerInfo[playerid][pNewsSkill],
        PlayerInfo[playerid][pDrugsSkill],
        PlayerInfo[playerid][pCookSkill],
        PlayerInfo[playerid][pFishSkill],
        ime);
       
        mysql_function_query(1, query, false, "", "");

//I HAVE MORE, IM MAKING THEM RIGHT NOW...
Reply
#4

You mean something like

Код:
			format(string, sizeof(string), "UPDATE players SET `Cash`=%d,`Account`=%d,`AdminLevel`=%d,`Level`=%d,`Respect`=%d,`UpgradePoints`=%d,`Kills`=%d,`Gun1`=%d,`Gun2`=%d,`Gun3`=%d,`Gun4`=%d,`Gun5`=%d,`Gun6`=%d,`Ammo1`=%d,`Ammo2`=%d,`Ammo3`=%d,`Ammo4`=%d,`Ammo5`=%d,`Ammo6`=%d,`pSHealth`=%f,`Health`=%f,`Pos_x`=%f,`Pos_y`=%f,`Pos_z`=%f,`Int`=%d,`Local`=%d,`Team`=%d,`Char`=%d,`PhoneNr`=%d,`pHouseKey`=%d,`Bizz`=%d WHERE `Name` = '%s'",
			PlayerInfo[playerid][pCash],
			PlayerInfo[playerid][pAccount],
			PlayerInfo[playerid][pAdmin],
			PlayerInfo[playerid][pLevel],
			PlayerInfo[playerid][pExp],
			PlayerInfo[playerid][gPupgrade],
			PlayerInfo[playerid][pKills],
			PlayerInfo[playerid][pGun1],
	        PlayerInfo[playerid][pGun2],
	        PlayerInfo[playerid][pGun3],
	        PlayerInfo[playerid][pGun4],
	        PlayerInfo[playerid][pGun5],
	        PlayerInfo[playerid][pGun6],
	        PlayerInfo[playerid][pAmmo1],
	        PlayerInfo[playerid][pAmmo2],
	        PlayerInfo[playerid][pAmmo3],
	        PlayerInfo[playerid][pAmmo4],
	        PlayerInfo[playerid][pAmmo5],
	        PlayerInfo[playerid][pAmmo6],
	        PlayerInfo[playerid][pSHealth],
	        PlayerInfo[playerid][pHealth],
	        PlayerInfo[playerid][pPos_x],
	        PlayerInfo[playerid][pPos_y],
	        PlayerInfo[playerid][pPos_z],
	        PlayerInfo[playerid][pInt],
	        PlayerInfo[playerid][pLocal],
	        PlayerInfo[playerid][pTeam],
	        PlayerInfo[playerid][pModel],
	        PlayerInfo[playerid][pPnumber],
	        PlayerInfo[playerid][pHousekey],
	        PlayerInfo[playerid][pPbiskey],
			PlayerName(playerid));
			mysql_query_ex(string);
Just make a public with it like OnPlayerUpdate(playerid) eith those variables in it and set the time to the public
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)