23.02.2017, 12:45
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
this is code OnPlayerConnect
this is code Onplayerdissconect
This is Code LoadAccount
this is code Saveaccount
Thanks before
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; } }
Код:
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; }
Код:
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; }
Код:
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;
Код:
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; }