Cannot Save data if i relogin
#1

Can you Help me brother

I had a problem
when I register at the beginning I have the money $ 30,000
and when I first log stats I have been saved

but when I relogin, I have a problem money remains $ 30,000 before I give money to my own amounted to $ 100,000
should the amount of $ 130,000 of my money

I use rAdmin System

sorry for my bad english previous

this is code MySQLCheckAccount
Код:
public MySQLCheckAccount( sqlplayersname[ ] )
{
	new query[ 128 ];
	new escstr[ MAX_PLAYER_NAME ];
	mysql_real_escape_string( sqlplayersname, escstr );
	format( query, sizeof( query ), "SELECT `id` FROM `players` WHERE LOWER(Name) = LOWER('%s') LIMIT 1", escstr );
	mysql_query( query );
	mysql_store_result( );
	if ( mysql_num_rows( ) == 0 ) {
		return false;
	} else {
		new strid[ 32 ];
		new intid;
		mysql_fetch_row( strid );
		intid = strval( strid );
		return intid;
	}
}
this is code OnPlayerConnect
Код:
public OnPlayerConnect(playerid)
{
	BanCheck( playerid );
    Logged[ playerid ] = 0; TransferMoney[ playerid ] = 0; TransferOffer[ playerid ] = 999; IsInBank[ playerid ] = -1;
	MySQLCheckConnection( );
	GetPlayerName( playerid, name, sizeof name );
 	new SQLStatus = MySQLCheckAccount( name );
 	if( SQLStatus != 0 )
 	{
 		PlayerData[ playerid ][ SQLID ] = SQLStatus;
 	}
	else if( SQLStatus == 0)
	{
		PlayerData[ playerid ][ SQLID ] = 0;
	}
	return true;
}
this is code Onplayerdissconect
Код:
public OnPlayerDisconnect(playerid, reason)
{
    GetPlayerName( playerid, name, sizeof name );
	switch(reason) {
		case 0: {
			format( mystring, sizeof mystring, "* %s has exited the game. ( Crash / Timeout )", name );
		}
		case 1: {
			format( mystring, sizeof mystring, "* %s has exited the game. ( Quit )", name );
		}
		case 2: {
			format( mystring, sizeof mystring, "* %s has exited the game. ( Kicked / Banned )", name );
		}
	}
	printf("%s",mystring);
	SendClientMessageToAll( -1, mystring );
	if( PlayerData[ playerid ][ VIPStatus ] ) {
	    format( mystring, sizeof mystring, "V.I.P %s~n~ has left.", name );
	    TextDrawSetString( Textdraw[ 0 ], mystring );
		TextDrawShowForAll( Textdraw[ 0 ] );
		Delete3DTextLabel( viplabel[ playerid ] );
		return true;
	}
	Logged[ playerid ] = 0;
    SaveAccount(playerid);
    return true;
}
This is Code LoadAccount
Код:
public LoadAccount( playerid, password[ ] ) {
	GetPlayerName( playerid, name, sizeof name );
	MySQLCheckConnection( );
	MySQLFetchAcctSingle( PlayerData[ playerid ][ SQLID ], "Password", PlayerData[ playerid ][ Password ]);
	if( strcmp( PlayerData[ playerid ][ Password ], password, true ) == 0 )
	{
 		new string[ 256 ];
 		format( string, sizeof string,"SELECT * FROM `players` WHERE Name='%s'", name );
		mysql_query( string );
		mysql_store_result( );
		new field[ 64 ], data[ 256 ];
		if(mysql_fetch_row_format( data ) )
		{
			mysql_fetch_field_row( field, "AdminLevel" ); PlayerData[ playerid ][ AdminLevel ] = strval( field );
			mysql_fetch_field_row( field, "VIPStatus" ); PlayerData[ playerid ][ VIPStatus ] = strval( field );
			mysql_fetch_field_row( field, "Score" ); SetPlayerScore( playerid, strval( field ) );
 			mysql_fetch_field_row( field, "Money" ); GivePlayerMoney( playerid, strval( field ) );
 			mysql_fetch_field_row( field, "Muted" ); PlayerData[ playerid ][ Muted ] = strval( field );
 			mysql_fetch_field_row( field, "MuteTime" ); PlayerData[ playerid ][ MuteTime ] = strval( field );
 			mysql_fetch_field_row( field, "Jailed" ); PlayerData[ playerid ][ Jailed ] = strval( field );
 			mysql_fetch_field_row( field, "JailTime" ); PlayerData[ playerid ][ JailTime ] = strval( field );
 			mysql_fetch_field_row( field, "Sprunks" ); PlayerData[ playerid ][ Sprunks ] = strval( field );
 			mysql_fetch_field_row( field, "Beers" ); PlayerData[ playerid ][ Beers ] = strval( field );
 			mysql_fetch_field_row( field, "Wines" ); PlayerData[ playerid ][ Wines ] = strval( field );
 			mysql_fetch_field_row( field, "Cookies" ); PlayerData[ playerid ][ Cookies ] = strval( field );
 			mysql_fetch_field_row( field, "Kills" ); PlayerData[ playerid ][ Kills ] = strval( field );
 			mysql_fetch_field_row( field, "Deaths" ); PlayerData[ playerid ][ Deaths ] = strval( field );
 			mysql_fetch_field_row( field, "BankPassword" ); PlayerData[ playerid ][ BankPassword ] = strval( field );
 			mysql_fetch_field_row( field, "BankMoney" ); PlayerData[ playerid ][ BankMoney ] = strval( field );
 			mysql_fetch_field_row( field, "Warns" ); PlayerData[ playerid ][ Warns ] = strval( field );
            mysql_fetch_field_row( field, "VehsBought" ); PlayerData[ playerid ][ VehsBought ] = strval( field );
		}
		mysql_free_result( );
	}
	else
	{
		format( mystring,sizeof mystring, "{BECBFC}Selamat Datang, {95A3FF}%s{BECBFC}!\n\nMohon masukan Password untuk masuk kedalam game.", name );
		ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", mystring, "Login", "Exit" );
		return true;
	}
	new atext[ 30 ], ct[ 3 ];
	if( PlayerData[ playerid ][ AdminLevel ] < 1 && PlayerData[ playerid ][ VIPStatus ] < 1) {
 		SendClientMessage( playerid, -1, "SERVER: You are logged in as a member." );
	}
	else if( PlayerData[ playerid ][ AdminLevel ] >= 1 && PlayerData[ playerid ][ VIPStatus ] < 1) {
 		if( PlayerData[ playerid ][ AdminLevel ] == 1) { atext = "assistent", ct = "n"; }
 		if( PlayerData[ playerid ][ AdminLevel ] == 3) { atext = "moderator"; }
		if( PlayerData[ playerid ][ AdminLevel ] == 2) { atext = "mini-moderator"; }
		if( PlayerData[ playerid ][ AdminLevel ] == 4) { atext = "administrator", ct = "n"; }
		if( PlayerData[ playerid ][ AdminLevel ] == 5) { atext = "owner", ct = "n"; }
		format( mystring, sizeof mystring, "SERVER: You are logged in as a%s %s.", ct, atext );
		SendClientMessage( playerid, -1, mystring );
	}
	else if( PlayerData[ playerid ][ AdminLevel ] >= 1 && PlayerData[ playerid ][ VIPStatus ] > 0) {
 		if( PlayerData[ playerid ][ AdminLevel ] == 1) { atext = "assistent", ct = "n"; }
 		if( PlayerData[ playerid ][ AdminLevel ] == 3) { atext = "moderator"; }
		if( PlayerData[ playerid ][ AdminLevel ] == 2) { atext = "mini-moderator"; }
		if( PlayerData[ playerid ][ AdminLevel ] == 4) { atext = "administrator", ct = "n"; }
		if( PlayerData[ playerid ][ AdminLevel ] == 5) { atext = "owner", ct = "n"; }
		format( mystring, sizeof mystring, "SERVER: You are logged in as a%s %s and as a VIP.", ct, atext );
	    SendClientMessage( playerid, -1, mystring );
	}
	else if( PlayerData[ playerid ][ AdminLevel ] < 1 && PlayerData[ playerid ][ VIPStatus ] > 0) {
		SendClientMessage( playerid, -1, "SERVER: You are logged in as a VIP." );
		viplabel[ playerid ] = Create3DTextLabel( "V.I.P", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0 );
		Attach3DTextLabelToPlayer( viplabel[ playerid ], playerid, 0.0, 0.0, 0.7 );
 		format( mystring, sizeof mystring, "V.I.P %s~n~ has joined.", name );
		TextDrawSetString( Textdraw[ 0 ], mystring );
		TextDrawShowForAll( Textdraw[ 0 ] );
	}
	Logged[ playerid ] = 1;
	SetTimer( "SaveAccount", 1000, 1 );
	OnPlayerSpawn( playerid );
	return true;
this is code Saveaccount
Код:
public SaveAccount( playerid ) {
	if( IsInBank[ playerid ] == -1 ) { }
	else {
	    SetPlayerArmedWeapon( playerid, 0 );
	    return true;
	}//When is in the bank - can't use his weaps. Because SaveAccount is used every second :)
	GetPlayerName( playerid, name, sizeof name );
    if( IsPlayerConnected( playerid ) ) {
        MySQLCheckConnection( );
		new query[ MAX_STRING ];
		format( query, MAX_STRING, "UPDATE players SET " );
		MySQLUpdatePlayerStr( query, PlayerData[ playerid ][ SQLID ], "Password", PlayerData[ playerid ][ Password ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "AdminLevel", PlayerData[ playerid ][ AdminLevel ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "VIPStatus", PlayerData[ playerid ][ VIPStatus ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Score", GetPlayerScore( playerid ) );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Money", GetPlayerMoney( playerid ) );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Muted", PlayerData[ playerid ][ Muted ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "MuteTime", PlayerData[ playerid ][ MuteTime ] );
        MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Jailed", PlayerData[ playerid ][ Jailed ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "JailTime", PlayerData[ playerid ][ JailTime ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Sprunks", PlayerData[ playerid ][ Sprunks ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Beers", PlayerData[ playerid ][ Beers ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Wines", PlayerData[ playerid ][ Wines ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Cookies", PlayerData[ playerid ][ Cookies ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Kills", PlayerData[ playerid ][ Kills ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Deaths", PlayerData[ playerid ][ Deaths ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "BankPassword", PlayerData[ playerid ][ BankPassword ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "BankMoney", PlayerData[ playerid ][ BankMoney ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "Warns", PlayerData[ playerid ][ Warns ] );
		MySQLUpdatePlayerInt( query, PlayerData[ playerid ][ SQLID ], "VehsBought", PlayerData[ playerid ][ VehsBought ] );
		MySQLUpdateFinish( query, PlayerData[ playerid ][ SQLID ]);
    }
	return true;
}
Thanks before
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)