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![Cheesy](images/smilies/biggrin.png)
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
![Cheesy](images/smilies/biggrin.png)
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; }