Position saving problem
#1

Well when player quits the X Y Z goes to 0 on my database, how can i make the position saves. I used to use a Timer b4 for saving and position saved but now with disconnect it doesnt. I disable the timer because it was creating a big account bug
pawn Код:
if(Logged[playerid] == 1 && spawned[playerid] == 1)
    {
        PlayerData[playerid][Interior] = GetPlayerInterior(playerid);
        GetPlayerPos(playerid,X,Y,Z);
        GetPlayerName(playerid,pname,sizeof(pname));

        format(query,sizeof(query),"UPDATE accounts SET AdminLevel = %d,Cash = %d,vip = %d,Member = %d,Leader = %d,IsInOrg = %d,IsLaw = %d,IsGang = %d,IsPriv = %d,WantedLevel = %d,MinutesPlayed = %d,HoursPlayed = %d,Level = %d,Cig= %d,Sprunk = %d,Snack = %d,Lighter = %d WHERE Name = '%s'",
        PlayerData[playerid][AdminLevel],hCash[playerid],PlayerData[playerid][vip],PlayerData[playerid][Member],PlayerData[playerid][Leader],PlayerData[playerid][IsInOrg],PlayerData[playerid][IsLaw],PlayerData[playerid][IsGang],PlayerData[playerid][IsPriv],GetPlayerWantedLevel(playerid),PlayerData[playerid][MinutesPlayed],PlayerData[playerid][HoursPlayed],GetPlayerScore(playerid),PlayerData[playerid][Cig],PlayerData[playerid][Sprunk],PlayerData[playerid][Snack],PlayerData[playerid][Lighter],pname);
        mysql_query(query);

        format(query,sizeof(query),"UPDATE accounts SET FightingStyle = %d,Passport = %d,Bag = %d,GunLicense = %d,Job = %d,Pot = %d,Crack = %d,Bank = %d,BankAccount = %d,CarLicense = %d,Fuelcan = %d,Civilskin = %d,MinutesToNextLevel = %d,simcard = %d,phone = %d,phonebook = %d WHERE Name = '%s'",
        PlayerData[playerid][FightingStyle],PlayerData[playerid][Passport],PlayerData[playerid][Bag],PlayerData[playerid][GunLicense],PlayerData[playerid][Job],PlayerData[playerid][Pot],PlayerData[playerid][Crack],PlayerData[playerid][Bank],PlayerData[playerid][BankAccount],PlayerData[playerid][CarLicense],PlayerData[playerid][Fuelcan],PlayerData[playerid][Civilskin],PlayerData[playerid][MinutesToNextLevel],PlayerData[playerid][simcard],PlayerData[playerid][phone],PlayerData[playerid][phonebook],pname);
        mysql_query(query);

        format(query,sizeof(query),"UPDATE accounts SET X = %f,Y = %f,Z = %f,Interior = %d,BoatLicense = %d,Banned = %d,Achievement = %d,vKeys = %d WHERE Name = '%s'",
        X,Y,Z,PlayerData[playerid][Interior],PlayerData[playerid][BoatLicense],PlayerData[playerid][Banned],PlayerData[playerid][Achievement],PlayerData[playerid][vKeys],pname);
        mysql_query(query);
    }
Reply
#2

new query[600], Float: x, Float: y, Float: z;

Meybe?
Reply
#3

I added Those on top on my gamemode
Reply
#4

Off topic but why are you executing 3 queries instead of a long one?
Reply
#5

are u sure ure getting the coordinates the right way before trying to save them with mysql?
Also activate the log function of ur mysql plugin and check the log to see what has been logged.
(helps alot)
Reply
#6

If you are using BlueG's version of mysql you could

mysql_debug(1);

// Saving Code here.

mysql_debug(0);

and see if it was successfully executed in the debug..txt that shows up in your Server's folder.
Reply
#7

pawn Код:
if(Logged[playerid] == 1 && spawned[playerid] == 1)
    {
        mysql_debug(0);
        PlayerData[playerid][Interior] = GetPlayerInterior(playerid);
        GetPlayerPos(playerid,Float:X,Float:Y,Float:Z);
        GetPlayerName(playerid,pname,sizeof(pname));

        format(query,sizeof(query),"UPDATE accounts SET AdminLevel = %d,Cash = %d,vip = %d,Member = %d,Leader = %d,IsInOrg = %d,IsLaw = %d,IsGang = %d,IsPriv = %d,WantedLevel = %d,MinutesPlayed = %d,HoursPlayed = %d,Level = %d,Cig= %d,Sprunk = %d,Snack = %d,Lighter = %d WHERE Name = '%s'",
        PlayerData[playerid][AdminLevel],hCash[playerid],PlayerData[playerid][vip],PlayerData[playerid][Member],PlayerData[playerid][Leader],PlayerData[playerid][IsInOrg],PlayerData[playerid][IsLaw],PlayerData[playerid][IsGang],PlayerData[playerid][IsPriv],GetPlayerWantedLevel(playerid),PlayerData[playerid][MinutesPlayed],PlayerData[playerid][HoursPlayed],GetPlayerScore(playerid),PlayerData[playerid][Cig],PlayerData[playerid][Sprunk],PlayerData[playerid][Snack],PlayerData[playerid][Lighter],pname);
        mysql_query(query);

        format(query,sizeof(query),"UPDATE accounts SET FightingStyle = %d,Passport = %d,Bag = %d,GunLicense = %d,Job = %d,Pot = %d,Crack = %d,Bank = %d,BankAccount = %d,CarLicense = %d,Fuelcan = %d,Civilskin = %d,MinutesToNextLevel = %d,simcard = %d,phone = %d,phonebook = %d WHERE Name = '%s'",
        PlayerData[playerid][FightingStyle],PlayerData[playerid][Passport],PlayerData[playerid][Bag],PlayerData[playerid][GunLicense],PlayerData[playerid][Job],PlayerData[playerid][Pot],PlayerData[playerid][Crack],PlayerData[playerid][Bank],PlayerData[playerid][BankAccount],PlayerData[playerid][CarLicense],PlayerData[playerid][Fuelcan],PlayerData[playerid][Civilskin],PlayerData[playerid][MinutesToNextLevel],PlayerData[playerid][simcard],PlayerData[playerid][phone],PlayerData[playerid][phonebook],pname);
        mysql_query(query);

        format(query,sizeof(query),"UPDATE accounts SET X = %f,Y = %f,Z = %f,Interior = %d,BoatLicense = %d,Banned = %d,Achievement = %d,vKeys = %d WHERE Name = '%s'",
        Float:X,Float:Y,Float:Z,PlayerData[playerid][Interior],PlayerData[playerid][BoatLicense],PlayerData[playerid][Banned],PlayerData[playerid][Achievement],PlayerData[playerid][vKeys],pname);
        mysql_query(query);
    }
Wont work.
Reply
#8

what plugin do u use?
Reply
#9

mysql.so

https://sampforum.blast.hk/showthread.php?tid=56564

i use new query[1000]
Reply
#10

its the plugin TheLazySloth mentioned before by BlueG.

Enable the debug mode and take a look at this usefull callback:

pawn Код:
OnQueryError( errorid, error[], resultid, extraid, callback[], query[], connectionHandle )
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)