#1

Quote:

public OnPlayerDisconnect(playerid, reason)
{
ResetPlayerInfo(playerid);
SavePlayerInfo(playerid);
return 1;
}
////////////////////////////
ResetPlayerInfo(playerid)
{
sInfo[playerid][kazkas] = 0;
sInfo[playerid][id] = 0;
sInfo[playerid][adminlevel] = 0;
sInfo[playerid][XP] = 0;
sInfo[playerid][pinigai] = 0;
return 1;
}
SavePlayerInfo(playerid)
{
if(sInfo[playerid][kazkas] == 0) return 1;
new query[256];
format(query, sizeof(query), "UPDATE `user` SET XP='%i', pinigai='%i', adminlevel='%i' WHERE id='%i'", GetPlayerScore(playerid), GetPlayerMoney(playerid), sInfo[playerid][adminlevel], sInfo[playerid][id]);
mysql_function_query(manomysql, query, false, "", "");
return 1;
}

Why adminlevel and id is saved, but money and XP not?
Reply
#2

pawn Код:
SavePlayerInfo(playerid)
{
    if(sInfo[playerid][kazkas] == 0) return 1;

    sInfo[playerid][XP] = GetPlayerScore(playerid);
    sInfo[playerid][pinigai] = GetPlayerMoney(playerid);

    new query[256];
    format(query, sizeof(query), "UPDATE `user` SET XP='%i', pinigai='%i', adminlevel='%i' WHERE id='%i'",
    sInfo[playerid][XP], sInfo[playerid][pinigai], sInfo[playerid][adminlevel], sInfo[playerid][id]);
    mysql_function_query(manomysql, query, false, "", "");
    return 1;
}
Reply
#3

This way you'll save your XP / pinigai (??) / & Admin Level, for the money, if you already have a column, give me its name.

There is the correct form:
pawn Код:
format(query, sizeof(query), "UPDATE `user` SET XP='%i', pinigai='%i', adminlevel='%i' WHERE id='%i'", sInfo[playerid][XP], sInfo[playerid][pinigai], sInfo[playerid][adminlevel], sInfo[playerid][id]);
Reply
#4

Nope, money and xp not saved
Now code look:
Quote:

public OnPlayerDisconnect(playerid, reason)
{
ResetPlayerInfo(playerid);
SavePlayerInfo(playerid);
return 1;
}
////////////////////////////
ResetPlayerInfo(playerid)
{
sInfo[playerid][kazkas] = 0;
sInfo[playerid][id] = 0;
sInfo[playerid][adminlevel] = 0;
sInfo[playerid][XP] = 0;
sInfo[playerid][pinigai] = 0;
return 1;
}
SavePlayerInfo(playerid)
{
if(sInfo[playerid][kazkas] == 0) return 1;

sInfo[playerid][XP] = GetPlayerScore(playerid);
sInfo[playerid][pinigai] = GetPlayerMoney(playerid);

if(sInfo[playerid][kazkas] == 0) return 1;
new query[256];
format(query, sizeof(query), "UPDATE `user` SET XP='%i', pinigai='%i', adminlevel='%i' WHERE id='%i'", sInfo[playerid][XP], sInfo[playerid][pinigai], sInfo[playerid][adminlevel], sInfo[playerid][id]);
mysql_function_query(manomysql, query, false, "", "");
return 1;
}

Reply
#5

Any?
Reply
#6

try to debug the values and check the server log.

put this inside SavePlayerInfo
pawn Код:
printf(" %i Score and %i Money" sInfo[playerid][XP], sInfo[playerid][pinigai]);
Reply
#7

----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3.7-R2, ©2005-2015 SA-MP Team

[16:25:44] filterscripts = "" (string)
[16:25:44] query = 1 (bool)
[16:25:44] password = "" (string)
[16:25:44] rcon = 1 (bool)
[16:25:44] lagcompmode = 1 (int)
[16:25:44] sleep = 5 (int)
[16:25:44] ackslimit = 3000 (int)
[16:25:44]
[16:25:44] Server Plugins
[16:25:44] --------------
[16:25:44] Loading plugin: streamer.so
[16:25:44]

*** Streamer Plugin v2.9.3 by Incognito loaded ***

[16:25:44] Loaded.
[16:25:44] Loading plugin: sscanf.so
[16:25:44]

[16:25:44] ===============================

[16:25:44] sscanf plugin loaded.

[16:25:44] Version: 2.8.2

[16:25:44] © 2012 Alex "******" Cole

[16:25:44] ===============================

[16:25:44] Loaded.
[16:25:44] Loading plugin: mysql.so
[16:25:44] >> plugin.mysql: R34 successfully loaded.
[16:25:44] Loaded.
[16:25:44] Loaded 3 plugins.

[16:25:44]
[16:25:44] Ban list
[16:25:44] --------
[16:25:44] Loaded: samp.ban
[16:25:44]
[16:25:44]
[16:25:44] Filterscripts
[16:25:44] ---------------
[16:25:44] Loaded 0 filterscripts.

[16:25:44] ==================================
[16:25:44] NevLocus GameMode by haX0r
[16:25:44] ==================================
[16:25:44] Number of vehicle models: 1
[16:26:02] [connection] ...... requests connection cookie.
[16:26:03] [connection] incoming connection:....... id: 0
[16:26:04] [join] Minerva has joined the server (.....)
[16:27:02] [part] Minerva has left the server (0:1)

Not printed
Reply
#8

Well... You're resetting variables before saving them, so that should give you 0 in each variable (except natives), and another thing, you don't need to reset them, except if you have them as static and worry about the next player's slot. Try using that:

PHP код:
SavePlayerInfo(playerid)
{
    
sInfo[playerid][XP] = GetPlayerScore(playerid);
    
sInfo[playerid][pinigai] = GetPlayerMoney(playerid);

    new 
query[144];
    
format(querysizeof(query), "UPDATE `user` SET `XP` = '%d', pinigai = '%d', adminlevel = '%d' WHERE id='%d'",
    
sInfo[playerid][XP], sInfo[playerid][pinigai], sInfo[playerid][adminlevel], sInfo[playerid][id]);
    
mysql_tquery(manomysqlquery);
    return 
1;

Hope you're using the latest version of the plugin.
Reply
#9

You should Reset Variables in OnPlayerConnect (before loading player's data). OnPlayerDisconnect should only save player data (except natives). Remove ResetPlayerInfo(playerid); from OnPlayerDisconnect and put it in OnPlayerConnect.
Reply
#10

Also not working
My plugin version R34
Reply
#11

Quote:
Originally Posted by UFF
Посмотреть сообщение
You should Reset Variables in OnPlayerConnect (before loading player's data). OnPlayerDisconnect should only save player data (except natives). Remove ResetPlayerInfo(playerid); from OnPlayerDisconnect and put it in OnPlayerConnect.
Thanks it work +rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)