OnPlayerUpdateEx (MySQL)
#1

i transformed the login/register from gf in mysql, and onplayerupdateex is not working, the informations is not saving

what is wrong ?

Код:
public OnPlayerUpdateEx(playerid)
{
	if(IsPlayerConnected(playerid))
	{
		if(gPlayerLogged[playerid])
		{
        	new var[32];
        	new Pname[24];
    		GetPlayerName(playerid, Pname, 24);
        	new escname[24];
            mysql_real_escape_string(Pname, escname);
            format(var, 32, "UPDATE `users` SET Key = %s WHERE `Nickname` = %s", PlayerInfo[playerid][pKey],escname);
      	    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
            format(var, 32, "UPDATE `users` SET Level = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pLevel],escname);
            format(var, 32, "UPDATE `users` SET AdminLevel = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pAdmin],escname);
            format(var, 32, "UPDATE `users` SET DonateRank = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pDonateRank],escname);
            format(var, 32, "UPDATE `users` SET UpgradePoints = %d WHERE `Nickname` = %s",PlayerInfo[playerid][gPupgrade],escname);
            format(var, 32, "UPDATE `users` SET ConnectedTime = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pConnectTime],escname);
            format(var, 32, "UPDATE `users` SET Registered = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pReg],escname);
            format(var, 32, "UPDATE `users` SET Sex = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pSex],escname);
            format(var, 32, "UPDATE `users` SET Age = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pAge],escname);
            format(var, 32, "UPDATE `users` SET Origin = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pOrigin],escname);
            format(var, 32, "UPDATE `users` SET CK = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pCK],escname);
            format(var, 32, "UPDATE `users` SET Muted = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pMuted],escname);
            format(var, 32, "UPDATE `users` SET Respect = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pExp],escname);
            format(var, 32, "UPDATE `users` SET Money = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pCash],escname);
            format(var, 32, "UPDATE `users` SET Bank = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pAccount],escname);
            format(var, 32, "UPDATE `users` SET Crimes = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pCrimes],escname);
            format(var, 32, "UPDATE `users` SET Kills = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pKills],escname);
            format(var, 32, "UPDATE `users` SET Deaths = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pDeaths],escname);
            format(var, 32, "UPDATE `users` SET Arrested = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pArrested],escname);
            format(var, 32, "UPDATE `users` SET WantedDeaths = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pWantedDeaths],escname);
            format(var, 32, "UPDATE `users` SET Phonebook = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pPhoneBook],escname);
            format(var, 32, "UPDATE `users` SET LottoNr = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pLottoNr],escname);
            format(var, 32, "UPDATE `users` SET Fishes = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pFishes],escname);
            format(var, 32, "UPDATE `users` SET BiggestFish = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pBiggestFish],escname);
            format(var, 32, "UPDATE `users` SET Job = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pJob],escname);
            format(var, 32, "UPDATE `users` SET Paycheck = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pPayCheck],escname);
            format(var, 32, "UPDATE `users` SET HeadValue = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pHeadValue],escname);
            format(var, 32, "UPDATE `users` SET Jailed = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pJailed],escname);
            format(var, 32, "UPDATE `users` SET JailTime = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pJailTime],escname);
            format(var, 32, "UPDATE `users` SET Materials = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pMats],escname);
            format(var, 32, "UPDATE `users` SET Drugs = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pDrugs],escname);
            format(var, 32, "UPDATE `users` SET Leader = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pLeader],escname);
            format(var, 32, "UPDATE `users` SET Member = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pMember],escname);
            format(var, 32, "UPDATE `users` SET FMember = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pFMember],escname);
            format(var, 32, "UPDATE `users` SET Rank = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pRank],escname);
            format(var, 32, "UPDATE `users` SET Char = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pChar],escname);
            format(var, 32, "UPDATE `users` SET ContractTime = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pContractTime],escname);
            format(var, 32, "UPDATE `users` SET DetSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pDetSkill],escname);
            format(var, 32, "UPDATE `users` SET SexSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pSexSkill],escname);
            format(var, 32, "UPDATE `users` SET BoxSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pBoxSkill],escname);
            format(var, 32, "UPDATE `users` SET LawSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pLawSkill],escname);
            format(var, 32, "UPDATE `users` SET MechSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pMechSkill],escname);
            format(var, 32, "UPDATE `users` SET JackSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pJackSkill],escname);
            format(var, 32, "UPDATE `users` SET CarSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pCarSkill],escname);
            format(var, 32, "UPDATE `users` SET NewsSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pNewsSkill],escname);
            format(var, 32, "UPDATE `users` SET DrugsSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pDrugsSkill],escname);
            format(var, 32, "UPDATE `users` SET CookSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pCookSkill],escname);
            format(var, 32, "UPDATE `users` SET FishSkill = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pFishSkill],escname);
            format(var, 32, "UPDATE `users` SET pSHealth=%.1f WHERE `Nickname` = %s",PlayerInfo[playerid][pSHealth],escname);
   		    GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
            format(var, 32, "UPDATE `users` SET pHealth=%.1f WHERE `Nickname` = %s",PlayerInfo[playerid][pHealth],escname);
            format(var, 32, "UPDATE `users` SET Int = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pInt],escname);
            format(var, 32, "UPDATE `users` SET Local = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pLocal],escname);
            format(var, 32, "UPDATE `users` SET Team = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pTeam],escname);
            format(var, 32, "UPDATE `users` SET Model = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pModel],escname);
            format(var, 32, "UPDATE `users` SET PhoneNr = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pPnumber],escname);
            format(var, 32, "UPDATE `users` SET House = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pPhousekey],escname);
            format(var, 32, "UPDATE `users` SET Bizz = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pPbiskey],escname);
			if ((PlayerInfo[playerid][pPos_x]==0.0 && PlayerInfo[playerid][pPos_y]==0.0 && PlayerInfo[playerid][pPos_z]==0.0))
 			{
				PlayerInfo[playerid][pPos_x] = 1684.9;
				PlayerInfo[playerid][pPos_y] = -2244.5;
				PlayerInfo[playerid][pPos_z] = 13.5;
			}
			if(Spectate[playerid] != 255)
			{
				PlayerInfo[playerid][pPos_x] = Unspec[playerid][sPx];
				PlayerInfo[playerid][pPos_y] = Unspec[playerid][sPy];
				PlayerInfo[playerid][pPos_z] = Unspec[playerid][sPz];
       		    PlayerInfo[playerid][pInt] = Unspec[playerid][sPint];
	    		PlayerInfo[playerid][pLocal] = Unspec[playerid][sLocal];
            }
            format(var, 32, "UPDATE `users` SET Pos_x = %.1f WHERE `Nickname` = %s",PlayerInfo[playerid][pPos_x],escname);
            format(var, 32, "UPDATE `users` SET Pos_y = %.1f WHERE `Nickname` = %s",PlayerInfo[playerid][pPos_y],escname);
            format(var, 32, "UPDATE `users` SET Pos_z = %.1f WHERE `Nickname` = %s",PlayerInfo[playerid][pPos_z],escname);
            format(var, 32, "UPDATE `users` SET CarLic = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pCarLic],escname);
            format(var, 32, "UPDATE `users` SET FlyLic = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pFlyLic],escname);
            format(var, 32, "UPDATE `users` SET BoatLic = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pBoatLic],escname);
            format(var, 32, "UPDATE `users` SET FishLic = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pFishLic],escname);
            format(var, 32, "UPDATE `users` SET GunLic = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pGunLic],escname);
            format(var, 32, "UPDATE `users` SET Gun1 = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pGun1],escname);
            format(var, 32, "UPDATE `users` SET Gun2 = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pGun2],escname);
            format(var, 32, "UPDATE `users` SET Gun3 = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pGun3],escname);
            format(var, 32, "UPDATE `users` SET Gun4 = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pGun4],escname);
            format(var, 32, "UPDATE `users` SET Ammo1 = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pAmmo1],escname);
            format(var, 32, "UPDATE `users` SET Ammo2 = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pAmmo2],escname);
            format(var, 32, "UPDATE `users` SET Ammo3 = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pAmmo3],escname);
            format(var, 32, "UPDATE `users` SET Ammo4 = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pAmmo4],escname);
            format(var, 32, "UPDATE `users` SET CarTime = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pCarTime],escname);
            format(var, 32, "UPDATE `users` SET PayDay = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pPayDay],escname);
            format(var, 32, "UPDATE `users` SET PayDayHad = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pPayDayHad],escname);
            format(var, 32, "UPDATE `users` SET CDPlayer = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pCDPlayer],escname);
            format(var, 32, "UPDATE `users` SET Wins = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pWins],escname);
            format(var, 32, "UPDATE `users` SET Loses = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pLoses],escname);
            format(var, 32, "UPDATE `users` SET AlcoholPerk = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pAlcoholPerk],escname);
            format(var, 32, "UPDATE `users` SET DrugPerk = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pDrugPerk],escname);
            format(var, 32, "UPDATE `users` SET MiserPerk = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pMiserPerk],escname);
            format(var, 32, "UPDATE `users` SET PainPerk = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pPainPerk],escname);
            format(var, 32, "UPDATE `users` SET TraderPerk = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pTraderPerk],escname);
            format(var, 32, "UPDATE `users` SET Tutorial = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pTut],escname);
            format(var, 32, "UPDATE `users` SET Mission = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pMissionNr],escname);
            format(var, 32, "UPDATE `users` SET Warnings = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pWarns],escname);
            format(var, 32, "UPDATE `users` SET Adjustable = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pAdjustable],escname);
            if(PlayerInfo[playerid][pDonateRank] < 1) { PlayerInfo[playerid][pFuel] = 0; }
            format(var, 32, "UPDATE `users` SET Fuel = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pFuel],escname);
            format(var, 32, "UPDATE `users` SET Married = %d WHERE `Nickname` = %s",PlayerInfo[playerid][pMarried],escname);
            format(var, 32, "UPDATE `users` SET MarriedTo = %s WHERE `Nickname` = %s",PlayerInfo[playerid][pMarriedTo],escname);
		    mysql_function_query(mysqlh, var, false, "SendQuery", "");
		}
	}
	return 1;
Reply
#2

You don't send a query each time when formatting var
Reply
#3

@ alexander

is true... thanks
Reply
#4

Is this 'OnPlayerUpdateEx' called every OnPlayerUpdate ? If so, this is DEATHLY for your server.
Also, you should do UPDATE users SET Drugs = %d, Leader=%d etc etc, not a new query for every stat.
Reply
#5

Quote:
Originally Posted by ikkentim
Посмотреть сообщение
Is this 'OnPlayerUpdateEx' called every OnPlayerUpdate ? If so, this is DEATHLY for your server.
Also, you should do UPDATE users SET Drugs = %d, Leader=%d etc etc, not a new query for every stat.
I agree.
Reply
#6

Actually, you should only update a value when it has actually changed. Kind of pointless to constantly update information that didn't change.
Reply
#7

i tried this this but don't work, the server saved only the first update (playerupdate1)

i know it's wrong but how i can fix it?
Код:
stock PlayerUpdate1(playerid)
{
	new string[800];
   	new query[800];
   	new Pname[24];
   	GetPlayerName(playerid, Pname, 24);
   	new escname[24];
   	mysql_real_escape_string(Pname, escname);
	new Level = PlayerInfo[playerid][pLevel];
	new AdminLevel = PlayerInfo[playerid][pAdmin];
	new DonateRank = PlayerInfo[playerid][pDonateRank];
	new Upgrade = PlayerInfo[playerid][gPupgrade];
	new ConnectTime = PlayerInfo[playerid][pConnectTime];
	new Reg = PlayerInfo[playerid][pReg];
	new Sex = PlayerInfo[playerid][pSex];
	new Age = PlayerInfo[playerid][pAge];
	new Origin = PlayerInfo[playerid][pOrigin];
	new Mute = PlayerInfo[playerid][pMuted];
	new Exp = PlayerInfo[playerid][pExp];
	new Money = GetPlayerMoney(playerid);
	new Account = PlayerInfo[playerid][pAccount];
	new Crimes = PlayerInfo[playerid][pCrimes];
	new Deaths = PlayerInfo[playerid][pDeaths];
	new Arrested = PlayerInfo[playerid][pArrested];
	strcat(string,"UPDATE `users` SET `Level` = '%i', `AdminLevel` = '%i', `DonateRank` = '%i', `UpgradePoints` = '%i', `ConnectedTime` = '%i', `Registered` = '%i', `Sex` = '%i'",sizeof(string));
	strcat(string,", `Age` = '%i', `Origin` = '%i', `Muted` = '%i', `Respect` = '%i', `Money` = '%i', `Bank` = '%i', `Crimes` = '%i', `Deaths` = '%i',`Arrested` = '%i' WHERE `Nickname` = '%s'",sizeof(string));
	format(query, sizeof(query),string, Level,AdminLevel,DonateRank,Upgrade,ConnectTime,Reg,Sex,Age,Origin,Mute,Exp,Money,Account,Crimes,Deaths,Arrested,escname);
	mysql_function_query(mysqlh, query, false, "SendQuery", "");
}

stock PlayerUpdate2(playerid)
{
	new string[1024];
   	new query[1024];
   	new Pname[24];
   	GetPlayerName(playerid, Pname, 24);
   	new escname[24];
   	mysql_real_escape_string(Pname, escname);
	new WantedDeaths = PlayerInfo[playerid][pWantedDeaths];
	new PhoneBook = PlayerInfo[playerid][pPhoneBook];
	new LottoNr = PlayerInfo[playerid][pLottoNr];
	new sFishes = PlayerInfo[playerid][pFishes];
	new BiggestFish = PlayerInfo[playerid][pBiggestFish];
	new Job = PlayerInfo[playerid][pJob];
	new PayCheck = PlayerInfo[playerid][pPayCheck];
	new HeadValue = PlayerInfo[playerid][pHeadValue];
	new Jailed = PlayerInfo[playerid][pJailed];
	new JailTime = PlayerInfo[playerid][pJailTime];
	new Mats = PlayerInfo[playerid][pMats];
	new Drugs = PlayerInfo[playerid][pDrugs];
	new Leader = PlayerInfo[playerid][pLeader];
	new Member = PlayerInfo[playerid][pMember];
	new Rank = PlayerInfo[playerid][pRank];
	new Char = PlayerInfo[playerid][pChar];
	new ContractTime = PlayerInfo[playerid][pContractTime];
	new DetSkill = PlayerInfo[playerid][pDetSkill];
	new SexSkill = PlayerInfo[playerid][pSexSkill];
	new BoxSkill = PlayerInfo[playerid][pBoxSkill];
	new LawSkill = PlayerInfo[playerid][pLawSkill];
	new MechSkill = PlayerInfo[playerid][pMechSkill];
	new JackSkill = PlayerInfo[playerid][pJackSkill];
	new CarSkill = PlayerInfo[playerid][pCarSkill];
	new NewsSkill = PlayerInfo[playerid][pNewsSkill];
	strcat(string,"UPDATE `users` SET `WantedDeaths` = '%i', `Phonebook` = '%i', `LottoNr` = '%i', `Fishes` = '%i', `BiggestFish` = '%i', `Job` = '%i', `Paycheck` = '%i', `HeadValue` = '%i'",sizeof(string));
	strcat(string,", `Jailed` = '%i', `JailTime` = '%i', `Materials` = '%i', `Drugs` = '%i', `Leader` = '%i', `Member` = '%i', `Rank` = '%i', `Char` = '%i', `ContractTime` = '%i'",sizeof(string));
	strcat(string,", `DetSkill` = '%i', `SexSkill` = '%i', `BoxSkill` = '%i', `LawSkill` = '%i', `MechSkill` = '%i', `JackSkill` = '%i', `CarSkill` = '%i', `NewsSkill` = '%i' WHERE `Nickname` = '%s'",sizeof(string));
	format(query, sizeof(query),string, WantedDeaths,PhoneBook,LottoNr,sFishes,BiggestFish,Job,PayCheck,HeadValue,Jailed,JailTime,Mats,Drugs,Leader,Member,Rank,Char,ContractTime,DetSkill,SexSkill,BoxSkill,LawSkill,MechSkill,JackSkill,CarSkill,NewsSkill,escname);
	mysql_function_query(mysqlh, query, false, "SendQuery", "");
}

stock PlayerUpdate3(playerid)
{
	new string[1024];
   	new query[1024];
   	new Pname[24];
   	GetPlayerName(playerid, Pname, 24);
   	new escname[24];
   	mysql_real_escape_string(Pname, escname);
	new DrugsSkill = PlayerInfo[playerid][pDrugsSkill];
	new CookSkill = PlayerInfo[playerid][pCookSkill];
	new FishSkill = PlayerInfo[playerid][pFishSkill];
	new Float:Health = PlayerInfo[playerid][pHealth];
	new Float:SHealth = PlayerInfo[playerid][pSHealth];
	new Int = PlayerInfo[playerid][pInt];
	new Local = PlayerInfo[playerid][pLocal];
	new Team = PlayerInfo[playerid][pTeam];
	new Pnumber = PlayerInfo[playerid][pPnumber];
	new Phousekey = PlayerInfo[playerid][pPhousekey];
	new Pbiskey = PlayerInfo[playerid][pPbiskey];
	new Float:Pos_x = PlayerInfo[playerid][pPos_x];
	new Float:Pos_y = PlayerInfo[playerid][pPos_y];
	new Float:Pos_z = PlayerInfo[playerid][pPos_z];
	new CarLic = PlayerInfo[playerid][pCarLic];
	new FlyLic = PlayerInfo[playerid][pFlyLic];
	new BoatLic = PlayerInfo[playerid][pBoatLic];
	new FishLic = PlayerInfo[playerid][pFishLic];
	new GunLic = PlayerInfo[playerid][pGunLic];
	new Gun1 = PlayerInfo[playerid][pGun1];
	new Gun2 = PlayerInfo[playerid][pGun2];
	new Gun3 = PlayerInfo[playerid][pGun3];
	new Gun4 = PlayerInfo[playerid][pGun4];
	new Ammo1 = PlayerInfo[playerid][pAmmo1];
	strcat(string,"UPDATE `users` SET `DrugsSkill` = '%i', `CookSkill` = '%i', `FishSkill` = '%i', `pSHealth` = '%f', `pHealth` = '%f', `Int` = '%i', `Local` = '%i'",sizeof(string));
	strcat(string,", `Team` = '%i', `PhoneNr` = '%i', `House` = '%i', `Bizz` = '%i', `Pos_x` = '%f', `Pos_y` = '%f', `Pos_z` = '%f', `CarLic` = '%i', `FlyLic` = '%i'",sizeof(string));
	strcat(string,", `BoatLic` = '%i', `FishLic` = '%i', `GunLic` = '%i', `Gun1` = '%i', `Gun2` = '%i', `Gun3` = '%i', `Gun4` = '%i', `Ammo1` = '%i' WHERE `Nickname` = '%s'",sizeof(string));
	format(query, sizeof(query),string, DrugsSkill,CookSkill, FishSkill,Health,SHealth,Int,Local,Team,Pnumber,Phousekey,Pbiskey,Pos_x,Pos_y,Pos_z,CarLic,FlyLic,BoatLic,FishLic,GunLic,Gun1, Gun2,Gun3,Gun4,Ammo1,escname);
	mysql_function_query(mysqlh, query, false, "SendQuery", "");
}

stock PlayerUpdate4(playerid)
{
	new string[1024];
   	new query[1024];
   	new Pname[24];
   	GetPlayerName(playerid, Pname, 24);
   	new escname[24];
   	mysql_real_escape_string(Pname, escname);
	new Ammo2 = PlayerInfo[playerid][pAmmo2];
	new Ammo3 = PlayerInfo[playerid][pAmmo3];
	new Ammo4 = PlayerInfo[playerid][pAmmo4];
	new CarTime = PlayerInfo[playerid][pCarTime];
	new sPayDay = PlayerInfo[playerid][pPayDay];
	new PayDayHad = PlayerInfo[playerid][pPayDayHad];
	new CDPlayer = PlayerInfo[playerid][pCDPlayer];
	new Wins = PlayerInfo[playerid][pWins];
	new Loses = PlayerInfo[playerid][pLoses];
	new AlcoholPerk = PlayerInfo[playerid][pAlcoholPerk];
	new DrugPerk = PlayerInfo[playerid][pDrugPerk];
	new MiserPerk = PlayerInfo[playerid][pMiserPerk];
	new PainPerk = PlayerInfo[playerid][pPainPerk];
	new TraderPerk = PlayerInfo[playerid][pTraderPerk];
	new Tut = PlayerInfo[playerid][pTut];
	new Warns = PlayerInfo[playerid][pWarns];
	new Adjustable = PlayerInfo[playerid][pAdjustable];
	new Fuel = PlayerInfo[playerid][pFuel];
	new Married = PlayerInfo[playerid][pMarried];
	new strmarried[24];
	mysql_real_escape_string(PlayerInfo[playerid][pMarriedTo], strmarried);
	strcat(string,"UPDATE `users` SET `Ammo2` = '%i', `Ammo3` = '%i', `Ammo4` = '%i', `CarTime` = '%i', `PayDay` = '%i', `PayDayHad` = '%i', `CDPlayer` = '%i', `Wins` = '%i'",sizeof(string));
	strcat(string,", `Loses` = '%i', `AlcoholPerk` = '%i', `DrugPerk` = '%i', `MiserPerk` = '%i', `PainPerk` = '%i', `TraderPerk` = '%i', `Tutorial` = '%i', `Warnings` = '%i'",sizeof(string));
	strcat(string,", `Adjustable` = '%i', `Fuel` = '%i', `Married` = '%i', `MarriedTo` = '%s' WHERE `Nickname` = '%s'",sizeof(string));
	format(query, sizeof(query),string, Ammo2,Ammo3,Ammo4,CarTime,sPayDay,PayDayHad,CDPlayer,Wins, Loses,AlcoholPerk,DrugPerk,MiserPerk,PainPerk,TraderPerk,Tut,Warns,Adjustable,Fuel,Married,strmarried,escname);
	mysql_function_query(mysqlh, query, false, "SendQuery", "");
}

stock PlayerUpdate5(playerid)
{
	new string[800];
   	new query[800];
   	new Pname[24];
   	GetPlayerName(playerid, Pname, 24);
   	new escname[24];
   	mysql_real_escape_string(Pname, escname);
	new LoginYear = PlayerInfo[playerid][pLoginYear];
	new LoginMonth = PlayerInfo[playerid][pLoginMonth];
	new LoginDay = PlayerInfo[playerid][pLoginDay];
	new LoginHour = PlayerInfo[playerid][pLoginHour];
	new LoginMinute = PlayerInfo[playerid][pLoginMinute];
	new LoginSecond = PlayerInfo[playerid][pLoginSecond];
	new NMuted = PlayerInfo[playerid][pMNewbie];
	new Pills = PlayerInfo[playerid][pPills];
	new Racer = PlayerInfo[playerid][pRacer];
	new FactionSpawn = PlayerInfo[playerid][pFactionSpawn];
	new SpawnChange = PlayerInfo[playerid][pSpawnChange];
	new WantedLevel = PlayerInfo[playerid][pWantedLevel];
	new LTeam = PlayerInfo[playerid][pLTeam];
	strcat(string,"UPDATE `users` SET `LoginYear` = '%i', `LoginMonth` = '%i', `LoginDay` = '%i', `LoginHour` = '%i', `LoginMinute` = '%i', `LoginSecond` = '%i', `NMuted` = '%i'",sizeof(string));
	strcat(string,", `Pills` = '%i', `Racer` = '%i', `FactionSpawn` = '%i', `SpawnChange` = '%i', `WantedLevel` = '%i', `LTeam` = '%i' WHERE `Nickname` = '%s'",sizeof(string));
	format(query, sizeof(query),string, LoginYear,LoginMonth,LoginDay,LoginHour,LoginMinute,LoginSecond,NMuted,Pills,Racer,FactionSpawn,SpawnChange,WantedLevel,LTeam,escname);
	mysql_function_query(mysqlh, query, false, "SendQuery", "");
}
Код:
public OnPlayerUpdateEx(playerid)
{
	if(IsPlayerConnected(playerid))
	{
		if(gPlayerLogged[playerid])
		{
            PlayerUpdate1(playerid);
            PlayerUpdate2(playerid);
            PlayerUpdate3(playerid);
            PlayerUpdate4(playerid);
            PlayerUpdate5(playerid);      	    
            PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
   		    GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
			if ((PlayerInfo[playerid][pPos_x]==0.0 && PlayerInfo[playerid][pPos_y]==0.0 && PlayerInfo[playerid][pPos_z]==0.0))
 			{
				PlayerInfo[playerid][pPos_x] = 1684.9;
				PlayerInfo[playerid][pPos_y] = -2244.5;
				PlayerInfo[playerid][pPos_z] = 13.5;
			}
			if(Spectate[playerid] != 255)
			{
				PlayerInfo[playerid][pPos_x] = Unspec[playerid][sPx];
				PlayerInfo[playerid][pPos_y] = Unspec[playerid][sPy];
				PlayerInfo[playerid][pPos_z] = Unspec[playerid][sPz];
       		    PlayerInfo[playerid][pInt] = Unspec[playerid][sPint];
	    		PlayerInfo[playerid][pLocal] = Unspec[playerid][sLocal];
            }
            if(PlayerInfo[playerid][pDonateRank] < 1)
			{
			    PlayerInfo[playerid][pFuel] = 0;
			}
		}
	}
	return 1;
Reply
#8

Quote:
Originally Posted by Vince
Посмотреть сообщение
Actually, you should only update a value when it has actually changed. Kind of pointless to constantly update information that didn't change.
^^

Why trying again to update every stats?

You have 2 options:

1-Update the stuff when it's changed, i.e. in a command, dialog, etc. Update the rest in OnPlayerDisconnect, i.e. Weapons, Health, Armour, etc.

2-Update all in OnPlayerDisconnect, but it will be kinda slow.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)