Correctly?
#1

Hello. I've seen that when a player disconnects or leaves the server is accesses callback "OnPlayerSave" which saves and updates in the database MYSQL variables to the player.
Isn't it better that every time there is a new variation of a variable to use "MYSQL_UPDATE" and direct update?
This can lag if there are more than 200 online players and server restarts, it will take much they can do lag until all variables player in updating the database.
Код HTML:
forward OnPlayerSave(playerid);
public OnPlayerSave(playerid)
{
	new query[500];
	if(IsLoggedIn[playerid] == 1 && playerid != INVALID_PLAYER_ID && !IsPlayerNPC(playerid))
    {
        mysql_format(MySQLCon, query, sizeof(query), "UPDATE `players` SET `Admin`=%d, `Vip`=%d, `Money`=%d, `Score`=%d, `TrustedLevel`=%d, `Reg`=%d, `Sex`=%d, `Age`=%d, `Deaths`=%d, `Kills`=%d, `X`=%f, `Y`=%f, `Z`=%f, `Interior`=%d,`VW`=0,`SkinID`=%d, `Email`='%e' WHERE `ID`=%d AND `user`='%e'",
        pInfo[playerid][pAdmin],
        pInfo[playerid][pVip],
        GetPlayerMoney(playerid),
        GetPlayerScore(playerid),
        pInfo[playerid][pTrustedLevel],
        pInfo[playerid][pReg],
        pInfo[playerid][pSex],
        pInfo[playerid][pAge],
        pInfo[playerid][pDeaths],
        pInfo[playerid][pKills],
        pInfo[playerid][pPos_x],
        pInfo[playerid][pPos_y],
        pInfo[playerid][pPos_z],	
        GetPlayerInterior(playerid),
		pInfo[playerid][pSkinID],
		pInfo[playerid][pEmail],
        pInfo[playerid][pID],
        GetName(playerid));
        mysql_tquery(MySQLCon, query, "", "");
        print(query);

		mysql_format(MySQLCon, query, sizeof(query), "UPDATE `players` SET `IsBanned`=%d WHERE `ID`=%d AND user='%e'", pInfo[playerid][pIsBanned], GetName(playerid));
		mysql_tquery(MySQLCon, query, "", "");
        IsLoggedIn[playerid] = 0;
	}
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)